Commit 7399e2ce authored by Ido Schimmel's avatar Ido Schimmel Committed by Jakub Kicinski

selftests: forwarding: Fix bridge MDB test flakiness

After enabling a multicast querier on the bridge (like the test is
doing), the bridge will wait for the Max Response Delay before starting
to forward according to its MDB in order to let Membership Reports
enough time to be received and processed.

Currently, the test is waiting for exactly the default Max Response
Delay (10 seconds) which is racy and leads to failures [1].

Fix by reducing the Max Response Delay to 1 second.

[1]
 [...]
 # TEST: IPv4 host entries forwarding tests                            [FAIL]
 # Packet locally received after flood

Fixes: b6d00da0 ("selftests: forwarding: Add bridge MDB test")
Signed-off-by: default avatarIdo Schimmel <idosch@nvidia.com>
Reviewed-by: default avatarHangbin Liu <liuhangbin@gmail.com>
Acked-by: default avatarNikolay Aleksandrov <razor@blackwall.org>
Link: https://lore.kernel.org/r/20240208155529.1199729-3-idosch@nvidia.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 93590849
...@@ -1252,14 +1252,17 @@ fwd_test() ...@@ -1252,14 +1252,17 @@ fwd_test()
echo echo
log_info "# Forwarding tests" log_info "# Forwarding tests"
# Set the Max Response Delay to 100 centiseconds (1 second) so that the
# bridge will start forwarding according to its MDB soon after a
# multicast querier is enabled.
ip link set dev br0 type bridge mcast_query_response_interval 100
# Forwarding according to MDB entries only takes place when the bridge # Forwarding according to MDB entries only takes place when the bridge
# detects that there is a valid querier in the network. Set the bridge # detects that there is a valid querier in the network. Set the bridge
# as the querier and assign it a valid IPv6 link-local address to be # as the querier and assign it a valid IPv6 link-local address to be
# used as the source address for MLD queries. # used as the source address for MLD queries.
ip -6 address add fe80::1/64 nodad dev br0 ip -6 address add fe80::1/64 nodad dev br0
ip link set dev br0 type bridge mcast_querier 1 ip link set dev br0 type bridge mcast_querier 1
# Wait the default Query Response Interval (10 seconds) for the bridge
# to determine that there are no other queriers in the network.
sleep 10 sleep 10
fwd_test_host fwd_test_host
...@@ -1267,6 +1270,7 @@ fwd_test() ...@@ -1267,6 +1270,7 @@ fwd_test()
ip link set dev br0 type bridge mcast_querier 0 ip link set dev br0 type bridge mcast_querier 0
ip -6 address del fe80::1/64 dev br0 ip -6 address del fe80::1/64 dev br0
ip link set dev br0 type bridge mcast_query_response_interval 1000
} }
ctrl_igmpv3_is_in_test() ctrl_igmpv3_is_in_test()
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment