WSL2-Linux-Kernel/Documentation
Amit Cohen 907eea4868 net: ipv6: Emit notification when fib hardware flags are changed
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 <amcohen@nvidia.com>
Signed-off-by: Ido Schimmel <idosch@nvidia.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-02-02 17:45:59 -08:00
..
ABI net: dsa: allow changing the tag protocol via the "tagging" device attribute 2021-01-29 21:24:39 -08:00
PCI
RCU docs: Fix reST markup when linking to sections 2020-12-31 15:44:47 -07:00
accounting
admin-guide media fixes for v5.11-rc7 2021-02-01 11:15:57 -08:00
arm ARM updates for 5.11: 2020-12-22 13:34:27 -08:00
arm64 ARM: 2020-12-20 10:44:05 -08:00
block
bpf
cdrom
core-api atomic: remove further references to atomic_ops 2020-12-31 15:51:33 -07:00
cpu-freq
crypto
dev-tools kasan: fix HW_TAGS boot parameters 2021-01-24 10:34:52 -08:00
devicetree Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-02-02 14:21:31 -08:00
doc-guide Documentation: doc-guide: fixes to sphinx.rst 2020-12-31 15:49:51 -07:00
driver-api devlink: Extend devlink port documentation for subfunctions 2021-01-22 11:32:11 -08:00
fault-injection
fb
features ARM updates for 5.11: 2020-12-22 13:34:27 -08:00
filesystems Various bug fixes and cleanups for ext4; no new features this cycle. 2020-12-24 14:16:02 -08:00
firmware-guide Documentation: ACPI: EINJ: Fix error type values for PCIe errors 2021-01-14 13:11:25 +01:00
firmware_class
fpga
gpu
hid
hwmon hwmon: (sbtsi_temp) Fix Documenation kernel-doc warning 2020-12-30 08:05:20 -08:00
i2c
ia64
ide
iio
infiniband
input
isdn
kbuild Documentation: kbuild: Fix section reference 2021-01-11 05:14:38 +09:00
kernel-hacking docs: Fix reST markup when linking to sections 2020-12-31 15:44:47 -07:00
leds
litmus-tests
livepatch
locking
m68k
maintainer
mhi
mips
misc-devices
netlabel
networking net: ipv6: Emit notification when fib hardware flags are changed 2021-02-02 17:45:59 -08:00
nios2
nvdimm
openrisc
parisc
pcmcia
power
powerpc
process docs: remove mention of ENABLE_MUST_CHECK 2021-01-07 14:41:38 -07:00
riscv
s390
scheduler
scsi
security
sh
sound ASoC: Fixes for v5.11 2021-01-18 19:51:49 +01:00
sparc
sphinx Kbuild updates for v5.11 2020-12-22 14:02:39 -08:00
sphinx-static
spi
staging
target
timers
trace Kbuild updates for v5.11 2020-12-22 14:02:39 -08:00
translations
usb
userspace-api
virt KVM: Documentation: Update description of KVM_{GET,CLEAR}_DIRTY_LOG 2021-01-25 18:52:08 -05:00
vm
w1
watchdog
x86
xtensa
.gitignore
COPYING-logo
Changes
CodingStyle
Kconfig
Makefile
SubmittingPatches
asm-annotations.rst x86/entry: Emit a symbol for register restoring thunk 2021-01-14 17:18:25 +01:00
atomic_bitops.txt
atomic_t.txt
conf.py
docutils.conf
dontdiff
index.rst
logo.gif
memory-barriers.txt
watch_queue.rst