tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: tso with vlan

On Wed, Apr 01, 2009 at 09:52:53PM +1300, Darran Hunt wrote:
> Hi Thor,
> good news on the tso counter - it shows that offload was working.
> Bad news - I added the vlan on top and reran ttcp with tso4 enabled on  
> the underlying wm and got no movement on the tso counter.  Also I  
> can't set tso4 on the vlan interface.

[carboned to tech-net]

I'm not surprised.  The double-handling of M_CSUM_TSOv4 has to be causing
this -- unlike plain checksum offload, which is always deferred, as we
noticed tcp_output doesn't try to defer segmentation unless it thinks it
will work -- unless the interface capabilities on what it thinks will be
the output interace say it is supported and enabled.

I think this is a bug.  I think has_tso should be removed from tcp_output
and use_tso should default to 1 -- in the specific cases where TSO can't
be used, tcp_output _already_ explicitly sets use_tso to 0.  Just like
checksum offload, the software TSO "offload" code (tcp4_segment etc.)
should catch the M_CSUM_TSOv4 mbufs and do the right thing.

The thing is, right now I don't think the software segmentation "offload"
is ever used, or if it is, only for packets that were already in-flight
through the stack when the interface capabilities were changed with ifconfig
(I wonder if this can actually happen).  I wonder if it works!

Thor Lancelot Simon
Coyote Point Systems, Inc.                      <>
Millerton, NY, USA

Home | Main Index | Thread Index | Old Index