Skip to contentSkip to conversation

IPv4: RTM_GETROUTE: Add RTA_ENCAP to result

PATCH Superseded Oliver Herms 2 participants 2 messages Nov 12, 2020

Subsystems (3)

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 IPv4: RTM_GETROUTE: Add RTA_ENCAP to result

This patch adds an IPv4 routes encapsulation attribute to the result of netlink RTM_GETROUTE requests (e.g. ip route get 192.0.2.1).

---
 net/ipv4/route.c | 3 +++
 1 file changed, 3 insertions(+)
net/ipv4/route.c +3 -0
index dc2a399cd9f4..b4d3384697cb 100644
@@ -2872,6 +2872,9 @@ static int rt_fill_info(struct net *net, __be32 dst, __be32 src,
 	if (rt->dst.dev &&
 	    nla_put_u32(skb, RTA_OIF, rt->dst.dev->ifindex))
 		goto nla_put_failure;
+	if (rt->dst.lwtstate && lwtunnel_fill_encap(skb, rt->dst.lwtstate,
+		RTA_ENCAP, RTA_ENCAP_TYPE) < 0)
+		goto nla_put_failure;
 #ifdef CONFIG_IP_ROUTE_CLASSID
 	if (rt->dst.tclassid &&
 	    nla_put_u32(skb, RTA_FLOW, rt->dst.tclassid))
Signature · 1 line
2.25.1
maintainer
#1 lore raw
Quoted 14 lines · On Thu, 12 Nov 2020 09:10:08 +0100 Oliver Herms wrote:

This patch adds an IPv4 routes encapsulation attribute to the result of netlink RTM_GETROUTE requests (e.g. ip route get 192.0.2.1).

---
 net/ipv4/route.c | 3 +++
 1 file changed, 3 insertions(+)
net/ipv4/route.c +0 -0
index dc2a399cd9f4..b4d3384697cb 100644

net/ipv4/route.c static int rt_fill_info(struct net *net, __be32 dst, __be32 src, · line 2877

Quoted 6 lines
net/ipv4/route.c +3 -0
@@ -2872,6 +2872,9 @@ static int rt_fill_info(struct net *net, __be32 dst, __be32 src,
 	if (rt->dst.dev &&
 	    nla_put_u32(skb, RTA_OIF, rt->dst.dev->ifindex))
 		goto nla_put_failure;
+	if (rt->dst.lwtstate && lwtunnel_fill_encap(skb, rt->dst.lwtstate,
+		RTA_ENCAP, RTA_ENCAP_TYPE) < 0)
+		goto nla_put_failure;

Please fix this checkpatch warning:

CHECK: Alignment should match open parenthesis
#25: FILE: net/ipv4/route.c:2876:
+ if (rt->dst.lwtstate && lwtunnel_fill_encap(skb, rt->dst.lwtstate,
+ RTA_ENCAP, RTA_ENCAP_TYPE) < 0)