Does Linux have an Equivalent of Windows PMTU Blackhole Router Discovery?

9

7

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.

Russell Heilling

Posted 2009-11-06T16:38:40.450

Reputation: 690

Answers

13

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
Message-ID: <1e41a3230805221019u4c739527u2a9c1217d1c7411c@mail.gmail.com>

[...]

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 

Tim Williscroft

Posted 2009-11-06T16:38:40.450

Reputation: 675

https://mellowd.co.uk/ccie/?tag=rfc4821 has a nice explanation, and a nice way to debug what is going on using "ip route get" and "ip -6 route show cache". Also, despite the name, net.ipv4.tcp_mtu_probing will affect IPv6 as well. – mcr – 2016-01-09T23:21:46.080

1link for your source please? – quack quixote – 2009-11-23T04:32:29.527

2http://kerneltrap.org/mailarchive/linux-net/2008/5/22/1910924 – Tim Williscroft – 2009-11-23T22:27:04.980

2thanks! added that link into the answer and tweaked the formatting a bit, hope you don't mind. – quack quixote – 2009-11-24T20:15:02.503

1

  • 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).

Natalia Costas Lago

Posted 2009-11-06T16:38:40.450

Reputation: 11

-1

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.

pjemmert

Posted 2009-11-06T16:38:40.450

Reputation: 336

1RFC 2923 is informational and lists a number of common issues. What do you mean when you claim non-compliance to this? – Oskar Berggren – 2013-07-01T09:17:59.493