Thread (9 messages) flat view 9 messages, 7 authors, 2005-01-31

Re: 2.6.11-rc2 TCP ignores PMTU ICMP (Re: Linux 2.6.11-rc2)

From: David Brownell <hidden>
Date: 2005-01-27 19:29:10
Also in: lkml

On Thursday 27 January 2005 1:02 am, Janos Farkas wrote:
On 2005-01-25 at 10:54:36, David Brownell wrote:
quoted
On Tuesday 25 January 2005 10:35 am, David Ford wrote:
quoted
PMTU bug -- or better said, bad firewall admin who blocks all ICMP.
PMTU bug, sure -- but one that came late in RC2.  Remember:  same firewall
in both cases, but only RC2 breaks.  The ICMP packet has landed in
the RC2 system, which ignores it.  2.6.10 handled it correctly... I
suspect one of the TCP cleanups borked this.
And in fact, I'm pretty sure RC1 handled it fine too.  This failure
appeared in a BK pull I did a couple days before RC2, and installing
it clobbered a "more virgin" RC1 install; so it's hard to verify.

It took a while to track the failure mode down to being PMTU related,
but the only TCP-related changes I noticed in what I pulled sure
seemed like cleanups (removing some "duplicated" state).

quoted
My current workaround is "ifconfig eth0 mtu 1492" but that's not
something I'd expect to keep.
Indeed, I had to shuffle my machines around a bit to get a proof that
something is broken, but now I can confirm the above with a connection
to cvs.sourceforge.net:
Thanks for confirming it wasn't just me ... I confess I'm a bit
surprised more folk haven't reported this yet! 

Your symptoms are exactly like those I saw, just with a different
mission-critical application:  CVS, not SMTP.  Did you happen to
notice whether CVS pulls worked, when pushes (like this) failed?

- Dave

...

(the PPPoE gateway notifies the host about the PMTU issue, one for each
segment)

08:05:45.265330 IP (tos 0xc0, ttl 128, id 17970, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)
08:05:45.265453 IP (tos 0xc0, ttl 128, id 17971, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)

(the source host sends the full frame again...?)

08:05:45.770331 IP (tos 0x0, ttl  64, id 21544, offset 0, flags [DF], length: 1500) 192.168.59.10.29612 > 66.35.250.207.2401: . [tcp sum ok] 499:1947(1448) ack 526 win 1728 <nop,nop,timestamp 2709754 312383166>
08:05:45.770900 IP (tos 0xc0, ttl 128, id 17972, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)

(and looping goes on..)

08:05:46.783148 IP (tos 0x0, ttl  64, id 21546, offset 0, flags [DF], length: 1500) 192.168.59.10.29612 > 66.35.250.207.2401: . [tcp sum ok] 499:1947(1448) ack 526 win 1728 <nop,nop,timestamp 2710768 312383166>
08:05:46.783752 IP (tos 0xc0, ttl 128, id 17973, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)
08:05:48.808861 IP (tos 0x0, ttl  64, id 21548, offset 0, flags [DF], length: 1500) 192.168.59.10.29612 > 66.35.250.207.2401: . [tcp sum ok] 499:1947(1448) ack 526 win 1728 <nop,nop,timestamp 2712796 312383166>
08:05:48.809882 IP (tos 0xc0, ttl 128, id 17974, offset 0, flags [none], length: 576) 192.168.59.1 > 192.168.59.10: icmp 556: 66.35.250.207 unreachable - need to frag (mtu 1492)

...
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help