Re: RFC: TSO patch for current

From: Prafulla Deuskar <pdeuskar_at_freebsd.org>
Date: Sat, 9 Sep 2006 07:00:15 +0000
Pyun YongHyeon [pyunyh_at_gmail.com] wrote:
> On Fri, Sep 01, 2006 at 03:51:21PM -0700, Jack Vogel wrote:
>  > This is a patch for the stack and the em driver to enable TSO
>  > on CURRENT. Previously I had problems getting it to work, but
>  > this is functional.
>  > 
>  > I should note that CURRENT is being a pain right now, when
>  > I comment out em in the config the kernel panics coming up,
>  > so I had to substitute this code into the tree. Rather bizarre :)
>  > 
>  > I have this functionality running on a 6.1 based system, and
>  > our test group is already testing against that driver, so far
>  > things are looking good.
>  > 
>  > I have designed it so the driver can continue to be built
>  > without support. There is also a sysctl in the stack code
>  > so you can set net.inet.tcp.tso_enable on or off and
>  > compare.
>  > 
>  > I know there may be some refinements to add in, but I
>  > would like to get this into CURRENT as a start.
>  > 
>  > Comments?
>  > 
> 
> It seems that 8254x also supports UDP segmentation offloading
> feature. Have you tried to implement it?

UDP requires IP fragmentation support in hardware - we don't support UDP offload.

> According to the data sheet checksums are not accurate above 12K
> frame size but I couldn't find frame size restrictions in TSO path.
> What is maximum frame size supported by TSO?

This is bounded by the MTU.

> It seems that TSO assumes IP/TCP/UDP checksum offloading is always
> enabled by hardware. What if users disable IP/TCP/UDP checksum
> offloading with ifconfig(8)? 

TSO requires checksum offload - even if user disables checksum offload with ifconfig we will use it for TSO

>What happen if users disable hardware
> VLAN tag insertion with ifconfig(8)?

TSO requires that VLAN tag insertion is done by hardware

> It woud be even better if users can disable/enable TSO capability
> for each network devices with ifconfig(8) instead of relying on
> global sysctl MIB(net.inet.tcp.tso_enable).
> 
> Btw, do you have benchmark numbers?
> 
>  > Jack
> 
> -- 
> Regards,
> Pyun YongHyeon
> _______________________________________________
> freebsd-net_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe_at_freebsd.org"
Received on Sat Sep 09 2006 - 05:00:16 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:00 UTC