TCP options order changed in FreeBSD 7, incompatible with some routers

d.s. al coda coda.trigger at gmail.com
Sun Mar 16 11:03:48 PDT 2008


On 3/12/08, Andre Oppermann <andre at freebsd.org> wrote:

>
> We've already fixed two issues.  The first changes the order of the TCP
> options
> and is in this change:
>
>
> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/tcp_var.h.diff?r1=1.160;r2=1.161
>
> It is to solve a problem observed by ISC that sounds very much like what
> you
> describe.  This fixed the issue in this case.


Since this patch just has the effect of moving sackOK after the timestamps,
it won't fix the problem that we were seeing, because it was occurring only
in the absence of timestamps.



> The second changes the alignment padding from NOP to 0x00.  Whether this
> was
> a contributing factor to the reported problem is not clear.  There hasn't
> (yet)
> been any specific test case for it.  It was fixed because the RFC
> specifies 0x00
> to be used for padding and nothing else.
>
>
> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/netinet/tcp_output.c.diff?r1=1.145;r2=1.146


This looks promising. I didn't realize that the 0x01 padding was wrong since
I didn't read the spec :)



> It would be very helpful if you could apply these two patches after each
> other
> to your 7.0 test server and find out together with the affected user(s)
> which
> of these fixes the issue.  If you can please try to test each one with and
> w/o
> the routers firewall enabled.  It is interesting to know whether the NAT
> or
> firewalling part of the router chokes on it.


I've applied the two patches and reversed mine (side note -- sadly, this is
a production server, not a test server) .
I'll let you know shortly whether we're still having problems, and I'll also
try get the router info for you.

-coda


More information about the freebsd-net mailing list