Subject: Re: RFC 1323 vs. Linux...
To: None <current-users@NetBSD.ORG>
From: Lon Willett <email@example.com>
Date: 03/28/1995 21:53:32
> On a related note - it seems to me that there are a number of
> cases when turning of TCP options via setting tcp_do_rfc1323 to
> 0 has been desirable. Some Annex terminal servers crap out,
> some Netblazers have lots of lag with VJ header compression,
> and now it seems that some versions of Linux also add lots of
> delay when processing TCP packets with options in them.
A related point on this topic. SLIP/PPP users should note that the
RFC1323 timestamps kill VJ header compression, even with correctly
functioning implementations. If two machines are using the timestamps,
the most header compression that you can expect is that packets
immediately following ACKs containing no data might be compressed.
Everything else will be sent uncompressed.
The reason for this is simple; VJ did the header compression work before
the high performance stuff, and so it doesn't know how to deal with it.
> Does anyone think it would be worthwhile to add a kernel option
> for this? Or even better, a sysctl? I guess the MIB for this
> would be something along the lines of:
> This would make it configurable at run-time. It doesn't look
> like it would be hard to do (the only think you would need to
> do would be to define a tcp_sysctl function, but that looks
> fairly straightforward).
I like the sysctl() idea (I submitted the same suggestion via gnats, but
didn't bother to implement it myself). A more intelligent
implementation (e.g. flag certain route entries not to use RFC1323,
and/or disable for low delay TOS) might be nice, but is probably not
worth the effort. Generally there is only a small LAN (or a single
machine) on one side of a slow PPP/SLIP link, so all machines on that
side can just disable the RFC1323 timestamps without any serious
performance degradation. Of course, people should be made aware that
they want to disable RFC1323 if their primary link to the Net goes over
a slow PPP/SLIP link that uses VJ header compression.