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-net
mailing list