Intel 10Gb

Andrew Gallatin gallatin at cs.duke.edu
Tue May 11 13:51:10 UTC 2010


Murat Balaban [murat at enderunix.org] wrote:
> 
> Much of the FreeBSD networking stack has been made parallel in order to
> cope with high packet rates at 10 Gig/sec operation. 
> 
> I've seen good numbers (near 10 Gig) in my tests involving TCP/UDP
> send/receive. (latest Intel driver).
> 
> As far as BPF is concerned, above statement does not hold true,
> since there is some work that needs to be done here in terms
> of BPF locking and parallelism. My tests show that there
> is a high lock contention around "bpf interface lock", resulting
> in input errors at high packet rates and with many bpf devices. 

If you're interested in 10GbE packet sniffing at line rate on the
cheap, have a look at the Myri10GE "sniffer" interface.  This is a
special software package that takes a normal mxge(4) NIC, and replaces
the driver/firmware with a "myri_snf" driver/firmware which is
optimized for packet sniffing.

Using this driver/firmware combo, we can receive minimal packets at
line rate (14.8Mpps) to userspace.  You can even access this using a
libpcap interface.  The trick is that the fast paths are OS-bypass,
and don't suffer from OS overheads, like lock contention.  See
http://www.myri.com/scs/SNF/doc/index.html for details.

Best Regards,

Drew


More information about the freebsd-performance mailing list