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>
