Re: [PATCH net-next v2 0/8] net: extend RTM_GETROUTE to return fib result

2017-05-27 Thread David Ahern
On 5/27/17 12:00 AM, Roopa Prabhu wrote:
> On Fri, May 26, 2017 at 11:18 AM, David Miller  wrote:
>> 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

2017-05-27 Thread Roopa Prabhu
On Fri, May 26, 2017 at 11:18 AM, David Miller  wrote:
> 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

2017-05-26 Thread David Miller
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.

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

2017-05-25 Thread Roopa Prabhu
From: Roopa Prabhu 

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