[IPV6] IP6TUNNEL: Use update_pmtu() of dst on xmit.
authorYasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>
Sat, 9 Sep 2006 18:59:17 +0000 (03:59 +0900)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 26 Feb 2007 19:42:53 +0000 (11:42 -0800)
Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
net/ipv6/ip6_tunnel.c

index 662edb826899e5c78ba6f219699a8c4ac9199f4e..08d944223ec810f78d7357cc6b5c52b77c636b0b 100644 (file)
@@ -727,11 +727,8 @@ ip6ip6_tnl_xmit(struct sk_buff *skb, struct net_device *dev)
        }
        if (mtu < IPV6_MIN_MTU)
                mtu = IPV6_MIN_MTU;
-       if (skb->dst && mtu < dst_mtu(skb->dst)) {
-               struct rt6_info *rt = (struct rt6_info *) skb->dst;
-               rt->rt6i_flags |= RTF_MODIFIED;
-               rt->u.dst.metrics[RTAX_MTU-1] = mtu;
-       }
+       if (skb->dst)
+               skb->dst->ops->update_pmtu(skb->dst, mtu);
        if (skb->len > mtu) {
                icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu, dev);
                goto tx_err_dst_release;