IPv6: RTM_GETROUTE: Add RTA_ENCAP to result
authorOliver Herms <oliver.peter.herms@gmail.com>
Wed, 18 Nov 2020 23:06:51 +0000 (00:06 +0100)
committerJakub Kicinski <kuba@kernel.org>
Fri, 20 Nov 2020 05:56:20 +0000 (21:56 -0800)
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>
Reviewed-by: David Ahern <dsahern@kernel.org>
Link: https://lore.kernel.org/r/20201118230651.GA8861@tws
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv6/route.c

index f91a689..188e114 100644 (file)
@@ -5558,6 +5558,10 @@ static int rt6_fill_node(struct net *net, struct sk_buff *skb,
 
                if (dst->dev && nla_put_u32(skb, RTA_OIF, dst->dev->ifindex))
                        goto nla_put_failure;
+
+               if (dst->lwtstate &&
+                   lwtunnel_fill_encap(skb, dst->lwtstate, RTA_ENCAP, RTA_ENCAP_TYPE) < 0)
+                       goto nla_put_failure;
        } else if (rt->fib6_nsiblings) {
                struct fib6_info *sibling, *next_sibling;
                struct nlattr *mp;