An Intel IXP1200-based Network Interface

We describe and evaluate a quad 100T ethernet network interface built using an Intel IXP1200 network processor on a commonly available Radisys ENP2505 PCI board. The network interface exports a raw ethernet interface either to the host kernel or to user level for cluster computing applications. We describe the firmware architecture and internal design decisions, then evaluate the resulting network interface against 100T and gigabit network interfaces using CLF, a lightweight reliable datagram layer. We find that the new network interface provides full bandwidth (196-373Mb/S, depending on packet size) for four 100T ports and a host-to-host, minimum-size-message latency of 28.3uS (17.5uS of which is in our ethernet switch). We estimate the design uses about 40% of the resources of the IXP1200 at 232MHz, leaving ample headroom for application-specific packet processor or for additional/faster ports. As a side note, we observe that it is easy to trunk together multiple 100T links when working with raw ethernet packets in a cluster, unlike working atop IP.