Subject: Re: dumping options TCP_COMPAT_42
To: None <>
From: Havard Eidnes <>
List: tech-net
Date: 11/11/2006 11:43:03
> I'd like to yank the support for TCP_COMPAT_42 out of our tree -- I
> doubt that there is any legitimate user of the option any
> longer. 4.2BSD was more than 20 years ago at this point.
> Absent any groundswell of supporters for TCP_COMPAT_42 I'll be
> removing it from the tree in a couple of days.

The above isn't exactly a technical argument why retaining the
compatibility in our code is a bad thing, and the argument as
stated seems to be more about the name of the option than
anything else.

Reading the code, it doesn't appear that this is an option which
is causing any significant bloat, or any of that code being on a
performance-critical code path.  From options(4):

     options TCP_COMPAT_42
     TCP bug compatibility with 4.2BSD.  In 4.2BSD, TCP sequence number=
s were
     32-bit signed values.  Modern implementations of TCP use unsigned =
     This option clamps the initial sequence number to start in the ran=
ge 2^31
     rather than the full unsigned range of 2^32.  Also, under 4.2BSD,
     keepalive packets must contain at least one byte or else the remot=
e end
     would not respond.

So, what, exactly, are the technical reasons you want to remove
the option and the associated few lines of code?


- H=E5vard