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.
> 
> Move fib6_info_hw_flags_set() to C file because it is no longer a short
> function.
> 
> Signed-off-by: Amit Cohen <amco...@nvidia.com>
> Signed-off-by: Ido Schimmel <ido...@nvidia.com>
> ---
>  Documentation/networking/ip-sysctl.rst | 20 ++++++++++++
>  include/net/ip6_fib.h                  | 10 ++----
>  include/net/netns/ipv6.h               |  1 +
>  net/ipv6/af_inet6.c                    |  1 +
>  net/ipv6/route.c                       | 44 ++++++++++++++++++++++++++
>  net/ipv6/sysctl_net_ipv6.c             |  9 ++++++
>  6 files changed, 77 insertions(+), 8 deletions(-)
> 

Reviewed-by: David Ahern <dsah...@kernel.org>


Reply via email to