Merge branch 'net-Kernel-side-filtering-for-route-dumps'
authorDavid S. Miller <davem@davemloft.net>
Tue, 16 Oct 2018 07:14:18 +0000 (00:14 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 16 Oct 2018 07:14:18 +0000 (00:14 -0700)
commit2c59f06cc0442862d589c36bd2f29667f96c35e7
treeeca4db1ca406c8c5d36daebbd92576ababdc4869
parente85679511e48168b0f066b6ae585556b5e0d8f5b
parente4e92fb160d7bef689c6ad00108b4e52599ca05e
Merge branch 'net-Kernel-side-filtering-for-route-dumps'

David Ahern says:

====================
net: Kernel side filtering for route dumps

Implement kernel side filtering of route dumps by protocol (e.g., which
routing daemon installed the route), route type (e.g., unicast), table
id and nexthop device.

iproute2 has been doing this filtering in userspace for years; pushing
the filters to the kernel side reduces the amount of data the kernel
sends and reduces wasted cycles on both sides processing unwanted data.
These initial options provide a huge improvement for efficiently
examining routes on large scale systems.

v2
- better handling of requests for a specific table. Rather than walking
  the hash of all tables, lookup the specific table and dump it
- refactor mr_rtm_dumproute moving the loop over the table into a
  helper that can be invoked directly
- add hook to return NLM_F_DUMP_FILTERED in DONE message to ensure
  it is returned even when the dump returns nothing
====================

Signed-off-by: David S. Miller <davem@davemloft.net>