Problem with PMTU discovery on ICMP packets

From: Svenning Soerensen (svenning@post5.tele.dk)
Date: Sat May 05 2001 - 06:36:32 EST


Hi there,

I think there is a bug in the 2.4 icmp code regarding PMTU discovery.
It seems to be inconsistent between reboots: at one boot echo replies always
have the DF bit set, while after another boot they don't, indicating that
this is caused by an uninitialized parameter.
Even 'echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc' doesn't change this
behaviour.

I can't think of any legitimate reasons for doing PMTU discovery on ICMP
packets, and since it actually in some situations breaks ping in combination
with FreeS/WAN (I can elaborate, if anyone is interested), I would suggest
to turn it off in a consistent manner.
The patch below (against 2.4.4) should accomplish this.

Svenning

--- linux/net/ipv4/icmp.c 2001/04/28 12:30:34 1.1.1.2
+++ linux/net/ipv4/icmp.c 2001/05/05 11:06:41
@@ -1006,6 +1006,7 @@
         icmp_socket->sk->allocation=GFP_ATOMIC;
         icmp_socket->sk->sndbuf = SK_WMEM_MAX*2;
         icmp_socket->sk->protinfo.af_inet.ttl = MAXTTL;
+ icmp_socket->sk->protinfo.af_inet.pmtudisc = IP_PMTUDISC_DONT;
 
         /* Unhash it so that IP input processing does not even
          * see it, we do not wish this socket to see incoming
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon May 07 2001 - 21:00:21 EST