[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1495734160-47659-1-git-send-email-roopa@cumulusnetworks.com>
Date: Thu, 25 May 2017 10:42:32 -0700
From: Roopa Prabhu <roopa@...ulusnetworks.com>
To: davem@...emloft.net, dsahern@...il.com, rami.rosen@...el.com
Cc: netdev@...r.kernel.org, nikolay@...ulusnetworks.com
Subject: [PATCH net-next v2 0/8] net: extend RTM_GETROUTE to return fib result
From: Roopa Prabhu <roopa@...ulusnetworks.com>
This series adds a new RTM_F_FIB_MATCH flag to return matched fib result
with RTM_GETROUTE. This is useful for applications and protocols in
userspace wanting to query the selected route.
examples (with patched iproute2):
ipv4:
----
$ip route show
default via 192.168.0.2 dev eth0
10.0.14.0/24
nexthop via 172.16.0.3 dev dummy0 weight 1
nexthop via 172.16.1.3 dev dummy1 weight 1
$ip route get 10.0.14.2
10.0.14.2 via 172.16.1.3 dev dummy1 src 172.16.1.1
cache
$ip route get fibmatch 10.0.14.2
10.0.14.0/24
nexthop via 172.16.0.3 dev dummy0 weight 1
nexthop via 172.16.1.3 dev dummy1 weight 1
ipv6:
----
$ip -6 route show
2001:db9:100::/120 metric 1024
nexthop via 2001:db8:2::2 dev dummy0 weight 1
nexthop via 2001:db8:12::2 dev dummy1 weight 1
$ip -6 route get 2001:db9:100::1
2001:db9:100::1 from :: via 2001:db8:12::2 dev dummy1 src 2001:db8:12::1 metric 1024 pref medium
$ip -6 route get fibmatch 2001:db9:100::1
2001:db9:100::/120 metric 1024
nexthop via 2001:db8:12::2 dev dummy1 weight 1
nexthop via 2001:db8:2::2 dev dummy0 weight 1
v2:
- pick up new forward port of patch-01 from david
- inet6_rtm_getroute: use container_of for rt6_info to
dst conversion
David Ahern (5):
net: ipv4: refactor __ip_route_output_key_hash
net: ipv4: refactor ip_route_input_noref
net: ipv4: Remove event arg to rt_fill_info
net: ipv4: Convert inet_rtm_getroute to rcu versions of route lookup
net: ipv4: Save trie prefix to fib lookup result
Roopa Prabhu (3):
net: ipv4: add new RTM_F_FIB_MATCH flag for use with RTM_GETROUTE
net: ipv4: RTM_GETROUTE: return matched fib result when
RTM_F_FIB_MATCH flag present
net: ipv6: RTM_GETROUTE: return matched fib result when
RTM_F_FIB_MATCH flag present
include/net/ip_fib.h | 1 +
include/net/route.h | 10 ++-
include/uapi/linux/rtnetlink.h | 1 +
net/ipv4/fib_trie.c | 1 +
net/ipv4/icmp.c | 2 +-
net/ipv4/route.c | 160 ++++++++++++++++++++++++-----------------
net/ipv6/route.c | 11 ++-
7 files changed, 116 insertions(+), 70 deletions(-)
--
1.9.1
Powered by blists - more mailing lists