[<prev] [next>] [day] [month] [year] [list]
Message-ID: <CAJ2iOjR0wqkLhBMrStTG3dq14i3xQSF-a2mYSyQeTBi3meMhCA@mail.gmail.com>
Date: Fri, 29 Jun 2012 10:43:24 -0700
From: "George B." <georgeb@...il.com>
To: netdev <netdev@...r.kernel.org>
Subject: tcp mtu probing oddity - small packets
This is mainly meant to put this in the archive in case anyone else
has this problem. It was a hair-puller.
Setup is a load balancer doing source NAT to a linux server. Server
had /proc/sys/net/ipv4/tcp_mtu_probing=2
Apparently the PMTU probing somehow gets confused and the flow gets
clamped to the tcp_base_mss value (512 byte packets). But this PMTU
value is apparently cached for all traffic to the IP address and since
that is a source NAT, ALL flows from that IP address get clamped to
512 byte packets. So if something goes wonky with one flow, it
impacts all flows because they all appear to come from the same IP
address.
Setting tcp_mtu_probing to 1 has cleared the issue for now but it may
come back from time to time if a flow gets into trouble and whatever
Linux is doing in the PMTU probing causes the flow to be clamped to
tcp_base_mss but assuming that PMTU will age out at some point after
the problem client goes away, things should return to normal behavior.
There's something about how the PMTU probes work that apparently
cause them to fail when activated in this particular configuration and
clamp the packet size to tcp_base_mss for all flows to that IP
address. If you are behind a source NAT, all flows share the same IP
address and so all flows get clamped.
Linux 2.6.38-11
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists