Re: [PATCH net-next] bridge: Allow deleting FDB entries with non-existent VLAN

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Nov 05, 2024 at 03:39:54PM +0200, Ido Schimmel wrote:
> It is currently impossible to delete individual FDB entries (as opposed
> to flushing) that were added with a VLAN that no longer exists:
> 
>  # ip link add name dummy1 up type dummy
>  # ip link add name br1 up type bridge vlan_filtering 1
>  # ip link set dev dummy1 master br1
>  # bridge fdb add 00:11:22:33:44:55 dev dummy1 master static vlan 1
>  # bridge vlan del vid 1 dev dummy1
>  # bridge fdb get 00:11:22:33:44:55 br br1 vlan 1
>  00:11:22:33:44:55 dev dummy1 vlan 1 master br1 static
>  # bridge fdb del 00:11:22:33:44:55 dev dummy1 master vlan 1
>  RTNETLINK answers: Invalid argument
>  # bridge fdb get 00:11:22:33:44:55 br br1 vlan 1
>  00:11:22:33:44:55 dev dummy1 vlan 1 master br1 static
> 
> This is in contrast to MDB entries that can be deleted after the VLAN
> was deleted:
> 
>  # bridge vlan add vid 10 dev dummy1
>  # bridge mdb add dev br1 port dummy1 grp 239.1.1.1 permanent vid 10
>  # bridge vlan del vid 10 dev dummy1
>  # bridge mdb get dev br1 grp 239.1.1.1 vid 10
>  dev br1 port dummy1 grp 239.1.1.1 permanent vid 10
>  # bridge mdb del dev br1 port dummy1 grp 239.1.1.1 permanent vid 10
>  # bridge mdb get dev br1 grp 239.1.1.1 vid 10
>  Error: bridge: MDB entry not found.
> 
> Align the two interfaces and allow user space to delete FDB entries that
> were added with a VLAN that no longer exists:
> 
>  # ip link add name dummy1 up type dummy
>  # ip link add name br1 up type bridge vlan_filtering 1
>  # ip link set dev dummy1 master br1
>  # bridge fdb add 00:11:22:33:44:55 dev dummy1 master static vlan 1
>  # bridge vlan del vid 1 dev dummy1
>  # bridge fdb get 00:11:22:33:44:55 br br1 vlan 1
>  00:11:22:33:44:55 dev dummy1 vlan 1 master br1 static
>  # bridge fdb del 00:11:22:33:44:55 dev dummy1 master vlan 1
>  # bridge fdb get 00:11:22:33:44:55 br br1 vlan 1
>  Error: Fdb entry not found.
> 
> Add a selftest to make sure this behavior does not regress:
> 
>  # ./rtnetlink.sh -t kci_test_fdb_del
>  PASS: bridge fdb del
> 
> Signed-off-by: Ido Schimmel <idosch@xxxxxxxxxx>
> Reviewed-by: Andy Roulin <aroulin@xxxxxxxxxx>
> Reviewed-by: Petr Machata <petrm@xxxxxxxxxx>
> ---
>  net/bridge/br_fdb.c                      |  9 ++----
>  tools/testing/selftests/net/rtnetlink.sh | 40 ++++++++++++++++++++++++
>  2 files changed, 42 insertions(+), 7 deletions(-)
> 
 
Nice catch, I'd even queue it for -net. :)
Of course we should be able to delete anything.

Acked-by: Nikolay Aleksandrov <razor@xxxxxxxxxxxxx>





[Index of Archives]     [Netdev]     [AoE Tools]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]     [Video 4 Linux]

  Powered by Linux