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? 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? 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)? What happen if users disable hardware VLAN tag insertion with ifconfig(8)? 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 YongHyeonReceived on Mon Sep 04 2006 - 06:00:16 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:59 UTC