Achieving wire-speed protocol processing in a multi-Gbps network using BSD UNIX and an OC-48c network interface card

We investigated the capability of BSD UNIX to achieve wire-speed protocol processing in multi-Gbps networks by using an OC-48c (2.A Gbps) network interface card. Our preliminary evaluation showed that wire-speed transmission was achieved with a Linux system, whereas the maximum throughput was limited to around 1.9 Gbps with a FreeBSD system. We quantitatively determined the cost of FreeBSD's unique buffer management schemes, and reduced it with adaptive drivers which adapt their behavior according to the states of the host's resources. Two adaptive methods that we tried yielded 70% packet-processing gain and 10% throughput gain.