diff options
author | Yasuyuki Kozakai <yasuyuki.kozakai@toshiba.co.jp> | 2006-09-09 14:59:17 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-02-26 14:42:53 -0500 |
commit | 268920584b57d534a40503a8a3a47eff9e57fbf8 (patch) | |
tree | 8b98ced21e285f6d5a670bc98c918f4c96a66f93 | |
parent | 8c14b7ce22a7ddd9fe1b1c852c4015633ec3efec (diff) |
[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>
-rw-r--r-- | net/ipv6/ip6_tunnel.c | 7 |
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) | |||
727 | } | 727 | } |
728 | if (mtu < IPV6_MIN_MTU) | 728 | if (mtu < IPV6_MIN_MTU) |
729 | mtu = IPV6_MIN_MTU; | 729 | mtu = IPV6_MIN_MTU; |
730 | if (skb->dst && mtu < dst_mtu(skb->dst)) { | 730 | if (skb->dst) |
731 | struct rt6_info *rt = (struct rt6_info *) skb->dst; | 731 | skb->dst->ops->update_pmtu(skb->dst, mtu); |
732 | rt->rt6i_flags |= RTF_MODIFIED; | ||
733 | rt->u.dst.metrics[RTAX_MTU-1] = mtu; | ||
734 | } | ||
735 | if (skb->len > mtu) { | 732 | if (skb->len > mtu) { |
736 | icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu, dev); | 733 | icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu, dev); |
737 | goto tx_err_dst_release; | 734 | goto tx_err_dst_release; |