Electronic – Designing an PCIe ethernet NIC with built in ethernet switch

controllerethernetpcieswitches

I am trying to design a ethernet network card that will plug into a PCIe slot and have 2 etherenet ports visible to the user that are connected by a unmanaged layer 2 switch.

My architecture thought is to get a PCIe ethernet controller and connect that to a switch, and connect 2 ports of the switch to the output of the card.

Is there a better way to do this that would not involve having both the controller and switch IC? I know I could have a 2 port controller and have a software ethernet bridge, but I don't want to put the load of that on the OS.

Additional Info:
I need gigabit speeds, but I don't think that should not have an effect on the architecture.

Best Answer

Is there a better way to do this that would not involve having both the controller and switch IC? I know I could have a 2 port controller and have a software Ethernet bridge, but I don't want to put the load of that on the OS.

An FPGA would be one other way to implement a switch in firmware and meet your no software load requirement. There are some unman-aged switch IP cores available from Xilinx and others.

I've seen some neat things done with FPGAs and ethernet. One is a company that does an ethernet bridge when the computer is off with two phys and an FPGA for a high reliability application. When the computer turns on and the software is loaded the FPGA forwards the packets to the PC, that way the packets are always going through. When off the card functions like a physical Ethernet bridge.

Related Topic