TSO broken with jumbo MTU

Ben Hutchings bhutchings at solarflare.com
Wed Oct 19 19:12:40 UTC 2011


On Mon, 2011-10-17 at 23:59 +0000, Bjoern A. Zeeb wrote:
> On 17. Oct 2011, at 23:28 , Ben Hutchings wrote:
> 
> > On Mon, 2011-10-17 at 18:09 +0200, Andre Oppermann wrote:
> >> On 17.10.2011 17:29, Ben Hutchings wrote:
> >>> This is the fix/workaround I used:
> >> 
> >> Thanks for the fix.  I'll review it and put it into FreeBSD maybe in
> >> a slightly different form.
> > 
> > Which one?  One is tested but maybe not right; the other looks right but
> > is not tested!
> 
> and here's the real question -- was it always broken or did a commit during
> the last years introduce the problem?

t_maxopd > t_maxseg has always been possible since t_maxopd was added:
http://svnweb.freebsd.org/base?view=revision&revision=6247
http://svnweb.freebsd.org/base?view=revision&revision=6283

The commit introducing TSO support was:
http://svnweb.freebsd.org/base?view=revision&revision=162110
and that already had the problem that TSO may be selected for an mbuf
that only requires one segment if t_maxopd > t_maxseg.

The assertion that failed was added in:
http://svnweb.freebsd.org/base?view=revision&revision=211317

As to which of these is the real bug, I cannot say.  The commit message
for the last change hopefully provides a clue for those more familiar
with this TCP implementation.

Ben.

-- 
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.



More information about the freebsd-net mailing list