Date: Fri, 12 Jun 2009 14:19:36 -0400 From: Andrew Gallatin <gallatin@cs.duke.edu> To: "Bjoern A. Zeeb" <bz@FreeBSD.org> Cc: FreeBSD net mailing list <freebsd-net@FreeBSD.org> Subject: Re: Ethernet NIC drivers depending unconditionally on INET Message-ID: <4A329C38.2040808@cs.duke.edu> In-Reply-To: <20090612174248.X22887@maildrop.int.zabbadoz.net> References: <20090611184555.J22887@maildrop.int.zabbadoz.net> <4A325883.3050206@cs.duke.edu> <20090612174248.X22887@maildrop.int.zabbadoz.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4A329C38.2040808>