Thread (10 messages) 10 messages, 2 authors, 2014-07-08

Re: [PATCH] ipv4: icmp: Fix pMTU handling for rare case

From: Edward Allcutt <hidden>
Date: 2014-07-01 18:50:22
Also in: lkml

On Tue, 1 Jul 2014, David Miller wrote:
quoted
If it helps any, I've been running several production machines with
this patch for just about a year now (mostly running 3.10 stable
series).
I guess if OpenBSD can wait more than 2 decades to implement proper
path mtu handling, you can wait a year to post this bug fix :-)
Sorry about that. :-/ Some of the systems on the other end of tunnels are 
now starting to run distro kernels with this bug. I can't always convince 
them to rebuild with a patch.. I should have gotten around to this sooner.
I still think the OpenBSD thing can't be intentional, and it's some
bug they probably want to fix and it should therefore be investigated.
It means performance of connections going through such machines is
going to be crap even if I install your patch.
Making newer versions behave better won't help all the existing 
deployments. Linux should be able to cope even if it's not optimal.

The performance impact of using minimum packet size vs. optimal sizing is 
that you end up sending a bit under three times the number of packets. At 
worst. It's not ideal but it's far less bad than stalling indefinitely.

The patch won't affect performance of the normal case where more useful 
ICMP errors are received.

I did look at trying to reintroduce the original function which guessed 
the next smallest value. However since the routing cache has gone away I 
don't think there's anywhere to find out the size of previously sent 
packets without interrogating the upper protocol.. so handing the upper 
protocol the 0 value and letting it handle it seems the best approach.

Now perhaps the plateau-finding function should be reintroduced for tcp 
and other stream-oriented protocols. Is "it could be done better" enough 
reason to reject a patch that mitigates a real regression?

Is there another reason you dislike this approach?

-- 
Edward Allcutt
Senior Systems Engineer
OpenMarket | http://www.openmarket.com/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help