Nov
28
2008

traceroute Fails with -F (do not fragment bit) Argument

With traceroute-1.4a12-XX  the -F argument is used to avoid intra-switch fragmentation. From traceroute(8) manpage:

       ...
       -F     Set the "don’t fragment" bit.
       ...

When ‘-F’  is specified the traceroute fails to get connected. Even with localhost:

# traceroute -r -F 127.0.0.1
traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 46 byte packets
 1  * * *
 2  * * *
 3  * * *
 ...
 ...

Without ‘-F’ it works just fine:

# traceroute -r 127.0.0.1
traceroute to 127.0.0.1 (127.0.0.1), 30 hops max, 46 byte packets
 1  localhost.localdomain (127.0.0.1)  0.629 ms  0.032 ms  0.021 ms

There is a bug with the IP_DF (don’t fragment flag) in the traceroute-1.4a12 implementation. 

The traceroute had been rewritten from scratch and been ported to OEL5
starting with 1.0.3 (and as of November 27, 2008 the latest is 
traceroute-2.0.1-3.el5 on OEL5) and that series do not have such a
problem.

The old traceroute-1.4a12 series are not maintained anymore in favor of the new traceroute (The one from http://sourceforge.net/projects/traceroute)

With traceroute-1.4a12 series do not use the ‘-F’ argument for traceroute. If it
is crucial to have the functionality, only  for 2.6 kernels it is still possible to download the latest source tarball from http://sourceforge.net/projects/traceroute (2.0.12 as of November 27, 2008) and build it on the distribution.

traceroute-1.4a12 source from – ftp://ftp.ee.lbl.gov/

latest traceroute source from – http://sourceforge.net/projects/traceroute

Share
Written by in: linux,network | Tweet This

No Comments »

RSS feed for comments on this post. TrackBack URL


Leave a Reply

Powered by WordPress | Theme: Aeros 2.0 by TheBuckmaker.com