diff options
author | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2006-03-20 19:56:50 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-03-20 19:56:50 -0500 |
commit | 76f9edd17d90e11ef04d20fe457dd172fe8157a6 (patch) | |
tree | 96226496033036fd26eb27393b0ca4d17274fb61 /net | |
parent | a1e783634a64d002c58391cf8150fcb80856a4fe (diff) |
[IPV6]: ROUTE: Copy u.dst.error for RTF_REJECT routes when cloning.
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv6/route.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 5b58a516bb16..6d506230622a 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -1249,6 +1249,8 @@ void rt6_pmtu_discovery(struct in6_addr *daddr, struct in6_addr *saddr, | |||
1249 | nrt->rt6i_nexthop = neigh_clone(rt->rt6i_nexthop); | 1249 | nrt->rt6i_nexthop = neigh_clone(rt->rt6i_nexthop); |
1250 | dst_set_expires(&nrt->u.dst, ip6_rt_mtu_expires); | 1250 | dst_set_expires(&nrt->u.dst, ip6_rt_mtu_expires); |
1251 | nrt->rt6i_flags |= RTF_DYNAMIC|RTF_CACHE|RTF_EXPIRES; | 1251 | nrt->rt6i_flags |= RTF_DYNAMIC|RTF_CACHE|RTF_EXPIRES; |
1252 | if (nrt->rt6i_flags & RTF_REJECT) | ||
1253 | nrt->u.dst.error = rt->u.dst.error; | ||
1252 | nrt->u.dst.metrics[RTAX_MTU-1] = pmtu; | 1254 | nrt->u.dst.metrics[RTAX_MTU-1] = pmtu; |
1253 | if (allfrag) | 1255 | if (allfrag) |
1254 | nrt->u.dst.metrics[RTAX_FEATURES-1] |= RTAX_FEATURE_ALLFRAG; | 1256 | nrt->u.dst.metrics[RTAX_FEATURES-1] |= RTAX_FEATURE_ALLFRAG; |