linux/drivers/net
Amit Cohen 2dcd22023c vxlan: vxlan_core: Support FDB flushing by destination IP
Add support for flush VXLAN FDB entries by destination IP. FDB entry is
stored as {MAC, SRC_VNI} + remote. The destination IP is an attribute of
the remote. For multicast entries, the VXLAN driver stores a linked list
of remotes for a given key.

In user space, each remote is represented as a separate entry, so when
flush is sent with filter of 'destination IP', flush only the match
remotes. In case that there are no additional remotes, destroy the entry.

For example, the following are stored as one entry with several remotes:
$ bridge fdb show dev vx10
00:00:00:00:00:00 dst 192.1.1.3 self permanent
00:00:00:00:00:00 dst 192.1.1.1 self permanent
00:00:00:00:00:00 dst 192.1.1.2 self permanent
00:00:00:00:00:00 dst 192.1.1.1 vni 1000 self permanent

When user flush by destination IP x, only the relevant remotes will be
flushed:
$ bridge fdb flush dev vx10 dst 192.1.1.1

$ bridge fdb show dev vx10
00:00:00:00:00:00 dst 192.1.1.3 self permanent
00:00:00:00:00:00 dst 192.1.1.2 self permanent

Signed-off-by: Amit Cohen <amcohen@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-10-13 10:00:32 +01:00
..
arcnet
bonding
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-10-12 17:07:34 -07:00
dsa Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-10-12 17:07:34 -07:00
ethernet Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-10-12 17:07:34 -07:00
fddi
fjes netdev: replace napi_reschedule with napi_schedule 2023-10-11 17:28:06 -07:00
hamradio hamradio: baycom: remove useless link in Kconfig 2023-09-22 08:17:05 +01:00
hippi
hyperv hv_netvsc: fix netvsc_send_completion to avoid multiple message length checks 2023-10-11 09:19:01 +01:00
ieee802154 ieee802154: ca8210: Fix a potential UAF in ca8210_probe 2023-10-07 20:37:38 +02:00
ipa net: ipa: Annotate struct ipa_power with __counted_by 2023-10-02 11:24:54 -07:00
ipvlan
mctp
mdio net: mdio: xgene: Convert to platform remove callback returning void 2023-09-20 10:29:35 +01:00
netdevsim
pcs
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-10-12 17:07:34 -07:00
plip
ppp net: implement lockless SO_PRIORITY 2023-10-01 19:09:54 +01:00
pse-pd
slip
team team: fix null-ptr-deref when team device type is changed 2023-09-19 16:28:37 +02:00
thunderbolt net: thunderbolt: Fix TCPv6 GSO checksum calculation 2023-09-15 13:45:05 +01:00
usb Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-10-12 17:07:34 -07:00
vmxnet3
vxlan vxlan: vxlan_core: Support FDB flushing by destination IP 2023-10-13 10:00:32 +01:00
wan netdev: replace napi_reschedule with napi_schedule 2023-10-11 17:28:06 -07:00
wireguard
wireless netdev: use napi_schedule bool instead of napi_schedule_prep/__napi_schedule 2023-10-11 17:28:06 -07:00
wwan netdev: replace napi_reschedule with napi_schedule 2023-10-11 17:28:06 -07:00
xen-netback xen-netback: use default TX queue size for vifs 2023-10-08 13:53:10 +01:00
amt.c
bareudp.c
dummy.c
eql.c
geneve.c
gtp.c udp: annotate data-races around udp->encap_type 2023-09-14 16:16:36 +02:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macsec.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-10-12 17:07:34 -07:00
macvlan.c
macvtap.c
Makefile appletalk: remove ipddp driver 2023-10-10 17:49:00 -07:00
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c net: appletalk: remove cops support 2023-10-04 11:49:20 -07:00
sungem_phy.c
tap.c
tun.c
veth.c veth: Update XDP feature set when bringing up device 2023-09-12 16:32:56 +02:00
virtio_net.c virtio-net: a tiny comment update 2023-10-11 07:13:50 +01:00
vrf.c
vsockmon.c
xen-netfront.c