]> git.neil.brown.name Git - history.git/commitdiff
[IPV6]: Fix pmtu check conditions in two spots.
authorShirley Ma <mashirle@us.ibm.com>
Wed, 26 May 2004 06:24:17 +0000 (23:24 -0700)
committerDmitry Torokhov <dtor_core@ameritech.net>
Wed, 26 May 2004 06:24:17 +0000 (23:24 -0700)
net/ipv6/route.c
net/ipv6/xfrm6_policy.c

index 442b4d5ef10c194aa788f16d07177e05c5e06f5a..e512b6548ce38412ff0939fdfa79f191a0fa64dc 100644 (file)
@@ -554,6 +554,8 @@ static void ip6_rt_update_pmtu(struct dst_entry *dst, u32 mtu)
 
        if (mtu < dst_pmtu(dst) && rt6->rt6i_dst.plen == 128) {
                rt6->rt6i_flags |= RTF_MODIFIED;
+               if (mtu < IPV6_MIN_MTU)
+                       mtu = IPV6_MIN_MTU;
                dst->metrics[RTAX_MTU-1] = mtu;
        }
 }
index 740fb1ad59f1350e2c23c51af50b932f8142135b..5e598b3519e952149019a78240be2f075e80f128 100644 (file)
@@ -236,10 +236,10 @@ static void xfrm6_update_pmtu(struct dst_entry *dst, u32 mtu)
 {
        struct dst_entry *path = dst->path;
 
-       if (mtu >= 1280 && mtu < dst_pmtu(dst))
-               return;
-
-       path->ops->update_pmtu(path, mtu);
+       if (mtu >= IPV6_MIN_MTU && mtu < dst_pmtu(dst))
+               path->ops->update_pmtu(path, mtu);
+       
+       return;
 }
 
 struct dst_ops xfrm6_dst_ops = {