]> www.infradead.org Git - users/dwmw2/linux.git/commit
Merge branch 'net-ndo_fdb_add-del-have-drivers-report-whether-they-notified'
authorJakub Kicinski <kuba@kernel.org>
Sat, 16 Nov 2024 00:39:21 +0000 (16:39 -0800)
committerJakub Kicinski <kuba@kernel.org>
Sat, 16 Nov 2024 00:39:22 +0000 (16:39 -0800)
commite709d44241634a2bec45b3638e58c71e986a98ff
treef8fac2301bdb4e04f0de41c86a9aa09b07e94fee
parent2a8ce470c59e6a0822291ec6cf5fd5fde5561fdf
parent15880bec9bc32ddc8f70f8c551745c2344233372
Merge branch 'net-ndo_fdb_add-del-have-drivers-report-whether-they-notified'

Petr Machata says:

====================
net: ndo_fdb_add/del: Have drivers report whether they notified

Currently when FDB entries are added to or deleted from a VXLAN netdevice,
the VXLAN driver emits one notification, including the VXLAN-specific
attributes. The core however always sends a notification as well, a generic
one. Thus two notifications are unnecessarily sent for these operations. A
similar situation comes up with bridge driver, which also emits
notifications on its own.

 # ip link add name vx type vxlan id 1000 dstport 4789
 # bridge monitor fdb &
 [1] 1981693
 # bridge fdb add de:ad:be:ef:13:37 dev vx self dst 192.0.2.1
 de:ad:be:ef:13:37 dev vx dst 192.0.2.1 self permanent
 de:ad:be:ef:13:37 dev vx self permanent

In order to prevent this duplicity, add a parameter, bool *notified, to
ndo_fdb_add and ndo_fdb_del. The flag is primed to false, and if the callee
sends a notification on its own, it sets the flag to true, thus informing
the core that it should not generate another notification.

Patches #1 to #2 are concerned with the above.

In the remaining patches, #3 to #7, add a selftest. This takes place across
several patches. Many of the helpers we would like to use for the test are
in forwarding/lib.sh, whereas net/ is a more suitable place for the test,
so the libraries need to be massaged a bit first.
====================

Link: https://patch.msgid.link/cover.1731589511.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>