Skip site navigation (1)Skip section navigation (2)
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>