On 1/26/21 6:23 AM, Ido Schimmel wrote: > From: Amit Cohen <amco...@nvidia.com> > > After installing a route to the kernel, user space receives an > acknowledgment, which means the route was installed in the kernel, > but not necessarily in hardware. > > The asynchronous nature of route installation in hardware can lead to a > routing daemon advertising a route before it was actually installed in > hardware. This can result in packet loss or mis-routed packets until the > route is installed in hardware. > > It is also possible for a route already installed in hardware to change > its action and therefore its flags. For example, a host route that is > trapping packets can be "promoted" to perform decapsulation following > the installation of an IPinIP/VXLAN tunnel. > > Emit RTM_NEWROUTE notifications whenever RTM_F_OFFLOAD/RTM_F_TRAP flags > are changed. The aim is to provide an indication to user-space > (e.g., routing daemons) about the state of the route in hardware. > > Introduce a sysctl that controls this behavior. > > Keep the default value at 0 (i.e., do not emit notifications) for several > reasons: > - Multiple RTM_NEWROUTE notification per-route might confuse existing > routing daemons. > - Convergence reasons in routing daemons. > - The extra notifications will negatively impact the insertion rate. > - Not all users are interested in these notifications. > > Signed-off-by: Amit Cohen <amco...@nvidia.com> > Acked-by: Roopa Prabhu <ro...@nvidia.com> > Signed-off-by: Ido Schimmel <ido...@nvidia.com> > --- > Documentation/networking/ip-sysctl.rst | 20 +++++++++++++++++++ > include/net/netns/ipv4.h | 2 ++ > net/ipv4/af_inet.c | 2 ++ > net/ipv4/fib_trie.c | 27 ++++++++++++++++++++++++++ > net/ipv4/sysctl_net_ipv4.c | 9 +++++++++ > 5 files changed, 60 insertions(+) >
Reviewed-by: David Ahern <dsah...@kernel.org>