Ethernet NIC drivers depending unconditionally on INET
Andrew Gallatin
gallatin at cs.duke.edu
Fri Jun 12 18:19:43 UTC 2009
Bjoern A. Zeeb wrote:
>>> if there is no INET there should be no LRO for now, the capabilities
>>> not advertised, etc. Be prepared in case LRO will arrive for IPv6.
>>
>> As to LRO & IPV6... I was going to port our LRO for IPv6,
>> but discovered the state of IPv6 in FreeBSD is so disgraceful
>> that there was no point. Eg, there is no checksum offload,
>> no TSO, etc, for INET6. Once those things are there, I'll
>> be happy to provide LRO for IPv6.
>
> With "port our LRO" you mean the driver parts? So how much does the
> FreeBSD infrastructure for LRO/v4 help and work for you (and the
> others)? Would adding v6 support there help?
For "port our LRO", I actually meant the LRO code itself, the IPv4
version of which was originally contributed by my employer (Myricom).
Notice sys/netinet/tcp_lro.c is sys/dev/mxge/mxge_lro.c ported to be a
bit more generic by Jack when he wanted LRO for ixgbe. The mxge LRO
is shared among a few of our drivers for other OSes, and at least one
has grown support for LRO for IPv6, so that should be trivial to port
to FreeBSD.
The thing I really need to do is convert mxge to use tcp_lro.c and
remove mxge_lro.c. I've just been too busy.
As to how much it helps.. I've seen some machines go from 3Gb/s
to line rate (9.4Gb/s) for 1500b recieves.
Drew
More information about the freebsd-net
mailing list