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

Next file: linux-2.4.19/net/ipv4/netfilter/Config.in
Previous file: linux-2.4.19/net/ipv4/ipconfig.c
Back to the patch index
Back to the overall index

diff -urN linux-2.4.18/net/ipv4/ipip.c linux-2.4.19/net/ipv4/ipip.c
@@ -572,7 +572,11 @@
 		goto tx_error;
 	}
 
-	mtu = rt->u.dst.pmtu - sizeof(struct iphdr);
+	if (tiph->frag_off)
+		mtu = rt->u.dst.pmtu - sizeof(struct iphdr);
+	else
+		mtu = skb->dst ? skb->dst->pmtu : dev->mtu;
+
 	if (mtu < 68) {
 		tunnel->stat.collisions++;
 		ip_rt_put(rt);

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