Commit d80bc0fd authored by David S. Miller's avatar David S. Miller

ipv6: Always clone offlink routes.

Do not handle PMTU vs. route lookup creation any differently
wrt. offlink routes, always clone them.
Reported-by: default avatarPK <runningdoglackey@yahoo.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3dce38a0
...@@ -72,8 +72,6 @@ ...@@ -72,8 +72,6 @@
#define RT6_TRACE(x...) do { ; } while (0) #define RT6_TRACE(x...) do { ; } while (0)
#endif #endif
#define CLONE_OFFLINK_ROUTE 0
static struct rt6_info * ip6_rt_copy(struct rt6_info *ort); static struct rt6_info * ip6_rt_copy(struct rt6_info *ort);
static struct dst_entry *ip6_dst_check(struct dst_entry *dst, u32 cookie); static struct dst_entry *ip6_dst_check(struct dst_entry *dst, u32 cookie);
static unsigned int ip6_default_advmss(const struct dst_entry *dst); static unsigned int ip6_default_advmss(const struct dst_entry *dst);
...@@ -738,13 +736,8 @@ static struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table, ...@@ -738,13 +736,8 @@ static struct rt6_info *ip6_pol_route(struct net *net, struct fib6_table *table,
if (!rt->rt6i_nexthop && !(rt->rt6i_flags & RTF_NONEXTHOP)) if (!rt->rt6i_nexthop && !(rt->rt6i_flags & RTF_NONEXTHOP))
nrt = rt6_alloc_cow(rt, &fl->fl6_dst, &fl->fl6_src); nrt = rt6_alloc_cow(rt, &fl->fl6_dst, &fl->fl6_src);
else { else
#if CLONE_OFFLINK_ROUTE
nrt = rt6_alloc_clone(rt, &fl->fl6_dst); nrt = rt6_alloc_clone(rt, &fl->fl6_dst);
#else
goto out2;
#endif
}
dst_release(&rt->dst); dst_release(&rt->dst);
rt = nrt ? : net->ipv6.ip6_null_entry; rt = nrt ? : net->ipv6.ip6_null_entry;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment