RFC: TSO patch for current

Andre Oppermann andre at freebsd.org
Fri Sep 8 05:37:17 PDT 2006


Ian FREISLICH wrote:
> Andre Oppermann wrote:
> 
>>Jack Vogel wrote:
>>
>>>On 9/5/06, Andre Oppermann <andre at freebsd.org> wrote:
>>>
>>>>>If you do the ifconfig changes there will need to be a small amount of
>>>>>code added to em_ioctl() but it should be trivial.
>>>>>
>>>>>You want me to reissue a driver patch with changes for your code?
>>>>
>>>>Yes, please do so.  I've got a dual-em card which I can test with myself.
>>>
>>>OK, attached new patch, this one even has the ioctl change so when
>>>you get the ifconfig change in it will be ready.
>>
>>The TSO code is committed.  There has been a slight change with the
>>ifcapabilities to differentiate between TSO for IPv4 and IPv6 which
>>can be set independently.
>>
>>The pseudo-header checksum is always provided in m_pkthdr.csum_data,
>>you don't have to compute it yourself in the driver.
>>
>>TSO for IPv6 is not yet functional as it is missing the in6_pseudo()
>>functionand some changes to ip6_output().  I have contacted one of our
>>IPv6 gurus to develop the patches and get it fully functional as well.
> 
> 
> Since this change, I get the following output from ifconfig:
> em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         options=cb<RXCSUM,TXCSUM,VLAN_MTU,POLLING8TSO49TSO6,VLAN_HWCSUM>
>         ether 00:04:23:d4:74:46
>         media: Ethernet autoselect (1000baseTX <full-duplex>)
>         status: active
> 
> If I disable polling:
> em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
>         options=8b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWCSUM>
>         ether 00:04:23:d4:74:46
>         media: Ethernet autoselect (1000baseTX <full-duplex>)
> 
> I'm not sure if this hardware supports TSO or even if the em driver
> part has been committed yet.

This is a problem with the pintb() function in ifconfig.c which apparently
can't deal with digits in the bit description text.  I'm looking for a fix.

-- 
Andre


More information about the freebsd-net mailing list