]> git.baikalelectronics.ru Git - kernel.git/commit
net: Enable kernel side filtering of route dumps
authorDavid Ahern <dsahern@gmail.com>
Tue, 16 Oct 2018 01:56:48 +0000 (18:56 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Oct 2018 07:14:07 +0000 (00:14 -0700)
commit0574e933d11deda93a9c3f3b0ec0a933dfd6a9e6
tree91353d9080049cba45bae02ddad84c1e6232dbb7
parenta4661ab358d9e061d316b5049d84081569c7d448
net: Enable kernel side filtering of route dumps

Update parsing of route dump request to enable kernel side filtering.
Allow filtering results by protocol (e.g., which routing daemon installed
the route), route type (e.g., unicast), table id and nexthop device. These
amount to the low hanging fruit, yet a huge improvement, for dumping
routes.

ip_valid_fib_dump_req is called with RTNL held, so __dev_get_by_index can
be used to look up the device index without taking a reference. From
there filter->dev is only used during dump loops with the lock still held.

Set NLM_F_DUMP_FILTERED in the answer_flags so the user knows the results
have been filtered should no entries be returned.

Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/ip_fib.h
net/ipv4/fib_frontend.c
net/ipv4/ipmr.c
net/ipv6/ip6_fib.c
net/ipv6/ip6mr.c
net/mpls/af_mpls.c