Subject: [tcpm] Beware the ordering of TCP options

From: "Adam Langley" <[email-masked]>
Date: Mon, 27 Oct 2008 10:15:45 -0700

The general fact that ordering of TCP options can be important is
probably old news to many here. However, the specifics may be
interesting.

With Linux 2.6.27 the kernel changed the default ordering of options.
With the default sysctls the ordering changed from:

<MSS: 4 bytes><SACK PERM: 2 bytes><Timestamp: 10 bytes>

To

<SACK Advert: 2 bytes><Timestamp: 10 bytes><MSS: 4 bytes>

This was my fault and it broke the world :( Many routers dropped the
new packets on the floor, breaking connectivity for many people:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/264019
http://www.ubuntu.com/getubuntu/releasenotes/810
https://qa.mandriva.com/show_bug.cgi?id=43372
http://wiki.mandriva.com/en/2009.0_Errata#TCP_timestamps

Disabling the timestamps sysctl fixes the issue. The options in this
case looked like:

<NOP><NOP><SACK PERM: 2 bytes><MSS: 4 bytes>

And that is seemingly ok with these routers. It seems that SACK PERM
cannot be the first option.

AGL

-- 
Adam Langley [email-masked] http://www.imperialviolet.org
_______________________________________________
tcpm mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/tcpm

---

From: Lars Eggert <[email-masked]>
Date: Mon, 27 Oct 2008 20:07:32 +0200

> new packets on the floor, breaking connectivity for many people:

Could you clarify if by "routers" you mean IP routers or cable/DSL  
modems?

Thanks,
Lars

---

From: "Adam Langley" <[email-masked]>
Date: Mon, 27 Oct 2008 11:52:02 -0700

On Mon, Oct 27, 2008 at 11:07 AM, Lars Eggert <[email-masked]> wrote:
> Could you clarify if by "routers" you mean IP routers or cable/DSL modems?

It's not clear. The only source of information that I have are the
user bug reports listed above. Certainly some "consumer
moderm"/NAT/wireless access point type of hardware broke. However,
there were also a number of reports of Verizon DSL breaking with some
diversity of consumer modems so it may be that something bigger broke
there.

AGL

---

From: David Borman <[email-masked]>
Date: Mon, 27 Oct 2008 15:30:00 -0500

Well, the implementations are broken if re-ordering TCP options causes  
them to break.  TCP options can be in any order, and have any  
alignment.  Sure, there might be some suggestions for common ordering  
to allow efficient processing, but those are only recommendations and  
cannot be relied on.

			-David Borman

---

From: "Ilpo Järvinen" <[email-masked]>
Date: Tue, 28 Oct 2008 00:03:18 +0200 (EET)

> diversity of consumer modems so it may be that something bigger broke

Here's at least one known device:

  http://marc.info/?l=linux-netdev&m=122509030019980&w=2

-- 
 i.

---

From: Pekka Savola <[email-masked]>
Date: Tue, 28 Oct 2008 08:21:07 +0200 (EET)

> diversity of consumer modems so it may be that something bigger broke

My guess would be a large percentage of routers (mainly in CPE market 
but maybe larger as well) which implement MSS inspection and clamping 
mechanisms.

-- 
Pekka Savola                 "You each name yourselves king, yet the
Netcore Oy                    kingdom bleeds."
Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings
_______________________________________________
tcpm mailing list
[email-masked]
https://www.ietf.org/mailman/listinfo/tcpm