patch-2.4.19 linux-2.4.19/net/ipv4/ip_gre.c

Next file: linux-2.4.19/net/ipv4/ip_input.c
Previous file: linux-2.4.19/net/ipv4/icmp.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.18/net/ipv4/ip_gre.c linux-2.4.19/net/ipv4/ip_gre.c
@@ -760,7 +760,10 @@
 	}
 
 	df = tiph->frag_off;
-	mtu = rt->u.dst.pmtu - tunnel->hlen;
+	if (df)
+		mtu = rt->u.dst.pmtu - tunnel->hlen;
+	else
+		mtu = skb->dst ? skb->dst->pmtu : dev->mtu;
 
 	if (skb->protocol == __constant_htons(ETH_P_IP)) {
 		if (skb->dst && mtu < skb->dst->pmtu && mtu >= 68)

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)