Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 Jun 2009 08:48:39 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        Michael Tuexen <tuexen@freebsd.org>
Cc:        pyunyh@gmail.com, FreeBSD net mailing list <freebsd-net@freebsd.org>, Andrew Gallatin <gallatin@cs.duke.edu>
Subject:   Re: Ethernet NIC drivers depending unconditionally on INET
Message-ID:  <20090613084513.L22887@maildrop.int.zabbadoz.net>
In-Reply-To: <7472C82E-0C52-45AB-9BFF-DD6196B393C9@freebsd.org>
References:  <20090611184555.J22887@maildrop.int.zabbadoz.net> <20090612013406.GB72855@michelle.cdnetworks.co.kr> <20090612100900.M22887@maildrop.int.zabbadoz.net> <71535CB2-2784-4253-B67E-017FEAD57637@freebsd.org> <4A32F752.90003@cs.duke.edu> <EB178368-A869-4190-BDBC-F88F77C56F6A@freebsd.org> <20090613080136.GB76872@michelle.cdnetworks.co.kr> <7472C82E-0C52-45AB-9BFF-DD6196B393C9@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, 13 Jun 2009, Michael Tuexen wrote:

> On Jun 13, 2009, at 10:01 AM, Pyun YongHyeon wrote:
>
>> On Sat, Jun 13, 2009 at 09:15:06AM +0200, Michael Tuexen wrote:
>>> On Jun 13, 2009, at 2:48 AM, Andrew Gallatin wrote:
>>> 
>>>> Michael Tuexen wrote:
>>>> 
>>>>> I'm not sure if we need additional IFCAP_RXCSUM6 IFCAP_TXCSUM6
>>>>> capabilities... Why would we want to enable IPv4 offloading and
>>>>> not IPv6 or vice versa?
>>>> 
>>>> I'd assume that some older hardware supports IPv4 offloads, but
>>>> might not have support for IPv6 offloads.
>>> Sure. But then the driver only provides the CSUM_ flags which
>>> are appropriate. For example, a similar thing is already in the
>>> igb driver:
>>> 
>>> 1167       if (ifp->if_capenable & IFCAP_TXCSUM) {
>>> 1168                 ifp->if_hwassist |= (CSUM_TCP | CSUM_UDP);
>>> 1169 #if __FreeBSD_version >= 800000
>>> 1170                 if (adapter->hw.mac.type == e1000_82576)
>>> 1171                         ifp->if_hwassist |= CSUM_SCTP;
>>> 1172 #endif
>>> 1173         }
>> 
>> That would disable all IPv4/IPv6 checksum offloading if
>> administrator disable IFCAP_TXCSUM. If we have IFCAP_TXCSUM6/
>> IFCAP_RXCSUM6 users could choose best working one even if some part
>> of driver/controller had checksum offload bugs.
> Sure. That is what I wrote in my earlier mail: Do we want to
> provide a ability to disable/enable checksum offload for
> IPv4 and IPv6 individually...
> Besides this "working around bugs" I see no reason to do
> it. Some other capabilities TSO/TOE are IPv[46] specific.
> I have no strong opinion on this. What do others think?

I think if there are bugs the driver would have to make sure to handle
if_hwassist appropriately ; actually we are already doing this.  Often
it would be chip revision specific I guess so it doesn't really make
sense to break it down to IPv4/v6.

Either you turn it on and get what the driver thinks this chip can do
or you don't get any.  If there is a bug for a chip revision, enhance
the driver to know to handle it correctly and be done.

Actuallt that is exactly what you sample above is doing - enabling
CSUM_SCTP only for a specific chip.

/bz

-- 
Bjoern A. Zeeb                      The greatest risk is not taking one.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090613084513.L22887>