[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <eea10487-d6ff-471b-9f5d-aa802a2088ec@blackwall.org>
Date: Tue, 4 Feb 2025 18:37:40 +0200
From: Nikolay Aleksandrov <razor@...ckwall.org>
To: Ido Schimmel <idosch@...dia.com>, netdev@...r.kernel.org
Cc: davem@...emloft.net, kuba@...nel.org, pabeni@...hat.com,
edumazet@...gle.com, andrew+netdev@...n.ch, horms@...nel.org,
petrm@...dia.com
Subject: Re: [PATCH net-next 5/8] vxlan: Refresh FDB 'updated' time upon user
space updates
On 2/4/25 16:55, Ido Schimmel wrote:
> When a host migrates to a different remote and a packet is received from
> the new remote, the corresponding FDB entry is updated and its 'updated'
> time is refreshed.
>
> However, when user space replaces the remote of an FDB entry, its
> 'updated' time is not refreshed:
>
> # ip link add name vx1 up type vxlan id 10010 dstport 4789
> # bridge fdb add 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.1
> # sleep 10
> # bridge -s -j -p fdb get 00:11:22:33:44:55 br vx1 self | jq '.[]["updated"]'
> 10
> # bridge fdb replace 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.2
> # bridge -s -j -p fdb get 00:11:22:33:44:55 br vx1 self | jq '.[]["updated"]'
> 10
>
> This can lead to the entry being aged out prematurely and it is also
> inconsistent with the bridge driver:
>
> # ip link add name br1 up type bridge
> # ip link add name swp1 master br1 up type dummy
> # ip link add name swp2 master br1 up type dummy
> # bridge fdb add 00:11:22:33:44:55 dev swp1 master dynamic vlan 1
> # sleep 10
> # bridge -s -j fdb get 00:11:22:33:44:55 br br1 vlan 1 | jq '.[]["updated"]'
> 10
> # bridge fdb replace 00:11:22:33:44:55 dev swp2 master dynamic vlan 1
> # bridge -s -j fdb get 00:11:22:33:44:55 br br1 vlan 1 | jq '.[]["updated"]'
> 0
>
> Adjust the VXLAN driver to refresh the 'updated' time of an FDB entry
> whenever one of its attributes is changed by user space:
>
> # ip link add name vx1 up type vxlan id 10010 dstport 4789
> # bridge fdb add 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.1
> # sleep 10
> # bridge -s -j -p fdb get 00:11:22:33:44:55 br vx1 self | jq '.[]["updated"]'
> 10
> # bridge fdb replace 00:11:22:33:44:55 dev vx1 self dynamic dst 198.51.100.2
> # bridge -s -j -p fdb get 00:11:22:33:44:55 br vx1 self | jq '.[]["updated"]'
> 0
>
> Reviewed-by: Petr Machata <petrm@...dia.com>
> Signed-off-by: Ido Schimmel <idosch@...dia.com>
> ---
> drivers/net/vxlan/vxlan_core.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
Reviewed-by: Nikolay Aleksandrov <razor@...ckwall.org>
Powered by blists - more mailing lists