Message ID | 20201117091938.GA562664@tws |
---|---|
State | Superseded |
Headers | show |
Series | [v2] IPv6: RTM_GETROUTE: Add RTA_ENCAP to result | expand |
On 11/17/20 2:19 AM, Oliver Herms wrote: > This patch adds an IPv6 routes encapsulation attribute > to the result of netlink RTM_GETROUTE requests > (i.e. ip route get 2001:db8::). > > Signed-off-by: Oliver Herms <oliver.peter.herms@gmail.com> > --- > net/ipv6/route.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/net/ipv6/route.c b/net/ipv6/route.c > index 82cbb46a2a4f..d7e94eac3136 100644 > --- a/net/ipv6/route.c > +++ b/net/ipv6/route.c > @@ -5489,6 +5489,10 @@ static int rt6_fill_node(struct net *net, struct sk_buff *skb, > rtm->rtm_scope = RT_SCOPE_UNIVERSE; > rtm->rtm_protocol = rt->fib6_protocol; > > + if (dst && dst->lwtstate && lwtunnel_fill_encap(skb, dst->lwtstate, > + RTA_ENCAP, RTA_ENCAP_TYPE) < 0) > + goto nla_put_failure; > + > if (rt6_flags & RTF_CACHE) > rtm->rtm_flags |= RTM_F_CLONED; > > That needs to be moved down to this section: if (rt6) { if (rt6_flags & RTF_GATEWAY && nla_put_in6_addr(skb, RTA_GATEWAY, &rt6->rt6i_gateway)) goto nla_put_failure; if (dst->dev && nla_put_u32(skb, RTA_OIF, dst->dev->ifindex)) goto nla_put_failure; --> add ENCAP here
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 82cbb46a2a4f..d7e94eac3136 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -5489,6 +5489,10 @@ static int rt6_fill_node(struct net *net, struct sk_buff *skb, rtm->rtm_scope = RT_SCOPE_UNIVERSE; rtm->rtm_protocol = rt->fib6_protocol; + if (dst && dst->lwtstate && lwtunnel_fill_encap(skb, dst->lwtstate, + RTA_ENCAP, RTA_ENCAP_TYPE) < 0) + goto nla_put_failure; + if (rt6_flags & RTF_CACHE) rtm->rtm_flags |= RTM_F_CLONED;
This patch adds an IPv6 routes encapsulation attribute to the result of netlink RTM_GETROUTE requests (i.e. ip route get 2001:db8::). Signed-off-by: Oliver Herms <oliver.peter.herms@gmail.com> --- net/ipv6/route.c | 4 ++++ 1 file changed, 4 insertions(+)