Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 08 Sep 2006 14:37:14 +0200
From:      Andre Oppermann <andre@freebsd.org>
To:        Ian FREISLICH <if@hetzner.co.za>
Cc:        freebsd-net <freebsd-net@freebsd.org>, freebsd-current <freebsd-current@freebsd.org>, Prafulla Deuskar <pdeuskar@freebsd.org>, Jack Vogel <jfvogel@gmail.com>
Subject:   Re: RFC: TSO patch for current
Message-ID:  <450163FA.5090908@freebsd.org>
In-Reply-To: <E1GLe8a-000In3-6a@hetzner.co.za>
References:  <E1GLe8a-000In3-6a@hetzner.co.za>

next in thread | previous in thread | raw e-mail | index | archive | help
Ian FREISLICH wrote:
> Andre Oppermann wrote:
> 
>>Jack Vogel wrote:
>>
>>>On 9/5/06, Andre Oppermann <andre@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



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