summaryrefslogtreecommitdiff
path: root/net/ipv6/route.c
diff options
context:
space:
mode:
authorNicolas Dichtel <nicolas.dichtel@6wind.com>2015-07-24 12:28:35 +0200
committerDavid S. Miller <davem@davemloft.net>2015-07-27 01:02:49 -0700
commitd943659508a4fb883507fdd3f998329e70a8f922 (patch)
tree52488187f0c2a16ed5626e39256ee01f56d249dc /net/ipv6/route.c
parent6673a9f4e35c1f0e9976cd4e88042f87674a6b02 (diff)
ipv6: copy lwtstate in ip6_rt_copy_init()
We need to copy this field (ip6_rt_cache_alloc() and ip6_rt_pcpu_alloc() use ip6_rt_copy_init() to build a dst). CC: Thomas Graf <tgraf@suug.ch> CC: Roopa Prabhu <roopa@cumulusnetworks.com> Fixes: 19e42e451506 ("ipv6: support for fib route lwtunnel encap attributes") Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com> Acked-by: Thomas Graf <tgraf@suug.ch> Acked-by: Roopa Prabhu <roopa@cumulusnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6/route.c')
-rw-r--r--net/ipv6/route.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index f91d2637072b..fbe27fb6bd3f 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -2161,6 +2161,10 @@ static void ip6_rt_copy_init(struct rt6_info *rt, struct rt6_info *ort)
#endif
rt->rt6i_prefsrc = ort->rt6i_prefsrc;
rt->rt6i_table = ort->rt6i_table;
+ if (ort->rt6i_lwtstate) {
+ lwtunnel_state_get(ort->rt6i_lwtstate);
+ rt->rt6i_lwtstate = ort->rt6i_lwtstate;
+ }
}
#ifdef CONFIG_IPV6_ROUTE_INFO