mbox series

[net-next,v2,0/3] New sysctl to turn off nexthop API compat mode

Message ID 1587862128-24319-1-git-send-email-roopa@cumulusnetworks.com
Headers show
Series New sysctl to turn off nexthop API compat mode | expand

Message

Roopa Prabhu April 26, 2020, 12:48 a.m. UTC
From: Roopa Prabhu <roopa@cumulusnetworks.com>

Currently route nexthop API maintains user space compatibility
with old route API by default. Dumps and netlink notifications
support both new and old API format. In systems which have
moved to the new API, this compatibility mode cancels some
of the performance benefits provided by the new nexthop API.
    
This patch adds new sysctl nexthop_compat_mode which is on
by default but provides the ability to turn off compatibility
mode allowing systems to run entirely with the new routing
API if they wish to. Old route API behaviour and support is
not modified by this sysctl

v2:
       - Incorporate David Aherns pointers on covering dumps and
         nexthop deletes. Also use one ipv4 sysctl to cover
         both ipv4 and ipv6 (I see it is done that way for many
         others)
       - Added a selftest to cover dump and notfications for nexthop
	 api compat mode

Roopa Prabhu (3):
  net: ipv6: new arg skip_notify to ip6_rt_del
  ipv4: add sysctl for new nexthop api compatibility mode
  selftests: net: add new testcases for nexthop API compat mode

 include/net/ip6_route.h                     |   2 +-
 include/net/ipv6_stubs.h                    |   2 +-
 include/net/netns/ipv4.h                    |   2 +
 net/ipv4/af_inet.c                          |   1 +
 net/ipv4/fib_semantics.c                    |   3 +
 net/ipv4/nexthop.c                          |   5 +-
 net/ipv4/sysctl_net_ipv4.c                  |   7 ++
 net/ipv6/addrconf.c                         |  12 +--
 net/ipv6/addrconf_core.c                    |   3 +-
 net/ipv6/anycast.c                          |   4 +-
 net/ipv6/ndisc.c                            |   2 +-
 net/ipv6/route.c                            |  16 ++-
 tools/testing/selftests/net/fib_nexthops.sh | 154 +++++++++++++++++++++++++++-
 13 files changed, 192 insertions(+), 21 deletions(-)