Re: tso with vlan

hi,
> 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!
it's actually used eg. when a packet filter redirect packets.
i tested the code when i implemented it.
i left the has_tso check because i saw negative performace effects
when i tested.
YAMAMOTO Takashi
>
> --
> Thor Lancelot Simon
> Coyote Point Systems, Inc. <tls%coyotepoint.com@localhost>
> Millerton, NY, USA