[Fwd: IP fragmentation (DF) and ip_no_pmtu_disc in 2.2 vs 2.4]
navarro at mcs.anl.gov
Fri Dec 1 10:35:14 PST 2000
This problem with PXE/tftp happened on the Chiba City cluster. Anyone
else run into this, or know how to affect MTU discovery and IP don't
fragment on an individual socket?
-------- Original Message --------
Subject: IP fragmentation (DF) and ip_no_pmtu_disc in 2.2 vs 2.4
Date: Fri, 01 Dec 2000 12:29:09 -0600
From: JP Navarro <navarro at mcs.anl.gov>
Organization: Argonne National Laboratory
To: linux-kernel at vger.kernel.org
In 2.2.17 when /proc/sys/net/ipv4/ip_no_pmtu_disc is 0/false we're
seeing outbound udp packets with the IP DF (don't fragment) bit clear.
With 2.4.0-test11, when ip_no_pmtu_disc is still 0/false we're seeing
outbound udp packets with the IP DF bit set. Is this change in default
behavior a fix or a break?
[start non expert thinking]
ip_no_pmtu_disc = 0/false means that we DO want MTU discovery.
ip_no_pmtu_disc = 1/true means that we DON't want MTU discovery.
to do MTU discovery you want DF set, so if fragmenting is necessary to
reach your target you get an unreachable error and can try smaller MTUs.
So, it appears that 2.4 fixed a problem with 2.2, correct?
[stop non expert thinking]
The problem that led us to notice this behavior was:
Intel PXE uses tftp to download boot images and discards IP packets with
the DF bit set; so a tftpd server on 2.4 with the default
ip_no_pmtu_disc set to 0/false can't serve tftp to PXE. Changing
ip_no_pmtu_disc to 1/true "fixes it". One problem is that we'd rather
have our tftpd server w/ 2.4 configured for mtu discovery.
We've tried to setsockopt(sock, SOL_IP, IP_MTU_DISCOVER, ...) with the
IP_PMTUDISC_DONT option but can't make it work. How does one change MTU
discovery and/or the don't fragment bit on a single socket?
John-Paul Navarro (630) 252-1233
Mathematics & Computer Science Division
Argonne National Laboratory navarro at mcs.anl.gov
Argonne, IL 60439 http://www.mcs.anl.gov/~navarro
More information about the Beowulf