summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorYasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp>2006-09-09 20:59:17 +0200
committerDavid S. Miller <davem@sunset.davemloft.net>2007-02-26 20:42:53 +0100
commit268920584b57d534a40503a8a3a47eff9e57fbf8 (patch)
tree8b98ced21e285f6d5a670bc98c918f4c96a66f93 /net
parent[IPV6] ADDRCONF: Statically link __ipv6_addr_type() for sunrpc subsystem. (diff)
downloadlinux-268920584b57d534a40503a8a3a47eff9e57fbf8.tar.xz
linux-268920584b57d534a40503a8a3a47eff9e57fbf8.zip
[IPV6] IP6TUNNEL: Use update_pmtu() of dst on xmit.
Signed-off-by: Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp> Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'net')
-rw-r--r--net/ipv6/ip6_tunnel.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
index 662edb826899..08d944223ec8 100644
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -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;