mbox series

[net-next,0/8] vxlan: Age FDB entries based on Rx traffic

Message ID 20250204145549.1216254-1-idosch@nvidia.com (mailing list archive)
Headers show
Series vxlan: Age FDB entries based on Rx traffic | expand

Message

Ido Schimmel Feb. 4, 2025, 2:55 p.m. UTC
tl;dr - This patchset prevents VXLAN FDB entries from lingering if
traffic is only forwarded to a silent host.

The VXLAN driver maintains two timestamps for each FDB entry: 'used' and
'updated'. The first is refreshed by both the Rx and Tx paths and the
second is refreshed upon migration.

The driver ages out entries according to their 'used' time which means
that an entry can linger when traffic is only forwarded to a silent host
that might have migrated to a different remote.

This patchset solves the problem by adjusting the above semantics and
aligning them to those of the bridge driver. That is, 'used' time is
refreshed by the Tx path, 'updated' time is refresh by Rx path or user
space updates and entries are aged out according to their 'updated'
time.

Patches #1-#2 perform small changes in how the 'used' and 'updated'
fields are accessed.

Patches #3-#5 refresh the 'updated' time where needed.

Patch #6 flips the driver to age out FDB entries according to their
'updated' time.

Patch #7 removes unnecessary updates to the 'used' time.

Patch #8 extends a test case to cover aging of FDB entries in the
presence of Tx traffic.

Ido Schimmel (8):
  vxlan: Annotate FDB data races
  vxlan: Read jiffies once when updating FDB 'used' time
  vxlan: Always refresh FDB 'updated' time when learning is enabled
  vxlan: Refresh FDB 'updated' time upon 'NTF_USE'
  vxlan: Refresh FDB 'updated' time upon user space updates
  vxlan: Age out FDB entries based on 'updated' time
  vxlan: Avoid unnecessary updates to FDB 'used' time
  selftests: forwarding: vxlan_bridge_1d: Check aging while forwarding

 drivers/net/vxlan/vxlan_core.c                | 32 +++++++++++--------
 .../net/forwarding/vxlan_bridge_1d.sh         |  2 ++
 2 files changed, 21 insertions(+), 13 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Feb. 6, 2025, 4:40 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Tue, 4 Feb 2025 16:55:41 +0200 you wrote:
> tl;dr - This patchset prevents VXLAN FDB entries from lingering if
> traffic is only forwarded to a silent host.
> 
> The VXLAN driver maintains two timestamps for each FDB entry: 'used' and
> 'updated'. The first is refreshed by both the Rx and Tx paths and the
> second is refreshed upon migration.
> 
> [...]

Here is the summary with links:
  - [net-next,1/8] vxlan: Annotate FDB data races
    https://git.kernel.org/netdev/net-next/c/f6205f8215f1
  - [net-next,2/8] vxlan: Read jiffies once when updating FDB 'used' time
    https://git.kernel.org/netdev/net-next/c/1370c45d6e7e
  - [net-next,3/8] vxlan: Always refresh FDB 'updated' time when learning is enabled
    https://git.kernel.org/netdev/net-next/c/c4f2082bf641
  - [net-next,4/8] vxlan: Refresh FDB 'updated' time upon 'NTF_USE'
    https://git.kernel.org/netdev/net-next/c/40a9994f2fbd
  - [net-next,5/8] vxlan: Refresh FDB 'updated' time upon user space updates
    https://git.kernel.org/netdev/net-next/c/fb2f449eca51
  - [net-next,6/8] vxlan: Age out FDB entries based on 'updated' time
    https://git.kernel.org/netdev/net-next/c/b4a1d98b0fa5
  - [net-next,7/8] vxlan: Avoid unnecessary updates to FDB 'used' time
    https://git.kernel.org/netdev/net-next/c/9722f834fe9a
  - [net-next,8/8] selftests: forwarding: vxlan_bridge_1d: Check aging while forwarding
    https://git.kernel.org/netdev/net-next/c/c467a98e1de0

You are awesome, thank you!