Under windows there is a registry setting to enable "Blackhole Router Detection", enabling path MTU discovery to function when there are misconfigured routers / firewalls in the path blocking the ICMP fragmentation needed messages.

http://technet.microsoft.com/en-us/library/cc958871.aspx

Is there an equivalent feature that can be enabled on Linux?

I am running Ubuntu 9.10 Kernel 2.6.31-14-generic and would be very interested in any commands to enable / monitor this behaviour or any links to articles / howtos explaining how it is implemented.

link|improve this question

feedback

3 Answers

up vote 7 down vote accepted

Yes, you can.

To quote from the linux kernel mailing list in 2008:

From: John Heffner <johnwheffner@...>
Subject: Re: PMTU Discovery - Does it work?
Date: Thursday, May 22, 2008 - 1:19 pm

[...]

This is a well known issue (RFC 2923), and was the motivation for the development of MTU probing (RFC 4821), enabled with tcp_mtu_probing.

John Heffner wrote the changes to the linux kernel in 2007.

so to turn on tcp_mtu_probing

# echo 2 > /proc/sys/net/ipv4/tcp_mtu_probing

Possible values

0: disabled
1: enabled when black hole detected
2: always enabled
link|improve this answer
link for your source please? – quack quixote Nov 23 '09 at 4:32
1  
thanks! added that link into the answer and tweaked the formatting a bit, hope you don't mind. – quack quixote Nov 24 '09 at 20:15
feedback
  • RFC2923 - TCP Problems with Path MTU Discovery, September 2000
  • RFC4821 - Packetization Layer Path MTU, March 2007 (takes into account ICMP blackhole)

I think support to ICMP blackhole recovery (as indicated in RFC4821, but complete RFC ¿is not implemented?) was added to linux kernel 2.6.17. It can be enabled by means of tcp_mtu_probing option.

More info: http://staff.psc.edu/mathis/MTU/

I haven't found more updated info so far (additional info is welcome).

link|improve this answer
feedback

The last information that I knew was that Linux had no support for PMTU blackhole router discovery.

This is due to the Linux non-compliance of RFC 2923.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.