Re: [PATCH net-next v2 0/8] net: extend RTM_GETROUTE to return fib result
On 5/27/17 12:00 AM, Roopa Prabhu wrote: > On Fri, May 26, 2017 at 11:18 AM, David Millerwrote: >> From: Roopa Prabhu >> Date: Thu, 25 May 2017 10:42:32 -0700 >> >>> 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. >> >> Looks good, series applied, thanks. >> > > thank you. > >> Have you considered taking this further and allowing one to see which >> nexthop a route lookup picked? > > since the default RTM_GETROUTE output gives most of the attributes > from the resolved dst, > have not considered adding more to it yet...but certainly can if > needed in the future. > One extension is to pass in prefix and length (plus any options to such as metric to uniquely discriminate a route) and get back the route entry. It is needed to retrieve the BPF code for routes with a bpf encap. This patch set makes it easier.
Re: [PATCH net-next v2 0/8] net: extend RTM_GETROUTE to return fib result
On Fri, May 26, 2017 at 11:18 AM, David Millerwrote: > From: Roopa Prabhu > Date: Thu, 25 May 2017 10:42:32 -0700 > >> 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. > > Looks good, series applied, thanks. > thank you. > Have you considered taking this further and allowing one to see which > nexthop a route lookup picked? since the default RTM_GETROUTE output gives most of the attributes from the resolved dst, have not considered adding more to it yet...but certainly can if needed in the future.
Re: [PATCH net-next v2 0/8] net: extend RTM_GETROUTE to return fib result
From: Roopa PrabhuDate: Thu, 25 May 2017 10:42:32 -0700 > 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. Looks good, series applied, thanks. Have you considered taking this further and allowing one to see which nexthop a route lookup picked?
[PATCH net-next v2 0/8] net: extend RTM_GETROUTE to return fib result
From: Roopa PrabhuThis 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