net: ipv4: add sysctl for nexthop api compatibility mode
authorRoopa Prabhu <roopa@cumulusnetworks.com>
Mon, 27 Apr 2020 20:56:46 +0000 (13:56 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 28 Apr 2020 19:50:37 +0000 (12:50 -0700)
commit4f80116d3df3b23ee4b83ea8557629e1799bc230
tree7673a5205ba4759de3f9735e30cf3edd096e36e5
parent11dd74b338bf83f8bca70b57bad33a903fedfa6e
net: ipv4: add sysctl for nexthop api compatibility mode

Current 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. Old route API behaviour and support is not modified by this
sysctl.

Uses a single sysctl to cover both ipv4 and ipv6 following
other sysctls. Covers dumps and delete notifications as
suggested by David Ahern.

Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Documentation/networking/ip-sysctl.txt
include/net/netns/ipv4.h
net/ipv4/af_inet.c
net/ipv4/fib_semantics.c
net/ipv4/nexthop.c
net/ipv4/sysctl_net_ipv4.c
net/ipv6/route.c