RFC: TSO patch for current

Ian FREISLICH if at hetzner.co.za
Fri Sep 8 04:03:14 PDT 2006


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.

Ian

--
Ian Freislich


More information about the freebsd-net mailing list