selftests: vxlan_bridge: Test flood with unresolved FDB entry

Extend flood test to configure FDB entry with unresolved destination IP,
check that packets are not sent twice.

Without the previous patch which handles such scenario in mlxsw, the
tests fail:

$ TESTS='test_flood' ./vxlan_bridge_1d.sh
Running tests with UDP port 4789
TEST: VXLAN: flood                                                  [ OK ]
TEST: VXLAN: flood, unresolved FDB entry                            [FAIL]
        vx2 ns2: Expected to capture 10 packets, got 20.

$ TESTS='test_flood' ./vxlan_bridge_1q.sh
INFO: Running tests with UDP port 4789
TEST: VXLAN: flood vlan 10                                          [ OK ]
TEST: VXLAN: flood vlan 20                                          [ OK ]
TEST: VXLAN: flood vlan 10, unresolved FDB entry                    [FAIL]
        vx10 ns2: Expected to capture 10 packets, got 20.
TEST: VXLAN: flood vlan 20, unresolved FDB entry                    [FAIL]
        vx20 ns2: Expected to capture 10 packets, got 20.

With the previous patch, the tests pass.

Signed-off-by: Amit Cohen <amcohen@nvidia.com>
Reviewed-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/7bc96e317531f3bf06319fb2ea447bd8666f29fa.1742224300.git.petrm@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Amit Cohen
2025-03-17 18:37:31 +01:00
committed by Jakub Kicinski
parent 139ae87714
commit 36ed81bcad
2 changed files with 23 additions and 0 deletions

View File

@@ -428,6 +428,14 @@ __test_flood()
test_flood()
{
__test_flood de:ad:be:ef:13:37 192.0.2.100 "flood"
# Add an entry with arbitrary destination IP. Verify that packets are
# not duplicated (this can happen if hardware floods the packets, and
# then traps them due to misconfiguration, so software data path repeats
# flooding and resends packets).
bridge fdb append dev vx1 00:00:00:00:00:00 dst 198.51.100.1 self
__test_flood de:ad:be:ef:13:37 192.0.2.100 "flood, unresolved FDB entry"
bridge fdb del dev vx1 00:00:00:00:00:00 dst 198.51.100.1 self
}
vxlan_fdb_add_del()

View File

@@ -539,6 +539,21 @@ test_flood()
10 10 0 10 0
__test_flood ca:fe:be:ef:13:37 198.51.100.100 20 "flood vlan 20" \
10 0 10 0 10
# Add entries with arbitrary destination IP. Verify that packets are
# not duplicated (this can happen if hardware floods the packets, and
# then traps them due to misconfiguration, so software data path repeats
# flooding and resends packets).
bridge fdb append dev vx10 00:00:00:00:00:00 dst 203.0.113.1 self
bridge fdb append dev vx20 00:00:00:00:00:00 dst 203.0.113.2 self
__test_flood de:ad:be:ef:13:37 192.0.2.100 10 \
"flood vlan 10, unresolved FDB entry" 10 10 0 10 0
__test_flood ca:fe:be:ef:13:37 198.51.100.100 20 \
"flood vlan 20, unresolved FDB entry" 10 0 10 0 10
bridge fdb del dev vx20 00:00:00:00:00:00 dst 203.0.113.2 self
bridge fdb del dev vx10 00:00:00:00:00:00 dst 203.0.113.1 self
}
vxlan_fdb_add_del()