git: 1f8eae9a7a45 - stable/14 - tests/carp: make a 0.2 second pause before configuring second jail
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 10 May 2026 06:27:15 UTC
The branch stable/14 has been updated by zlei:
URL: https://cgit.FreeBSD.org/src/commit/?id=1f8eae9a7a45f3e816b112ae3e7cf19ece1a5b98
commit 1f8eae9a7a45f3e816b112ae3e7cf19ece1a5b98
Author: Gleb Smirnoff <glebius@FreeBSD.org>
AuthorDate: 2025-12-04 18:41:19 +0000
Commit: Zhenlei Huang <zlei@FreeBSD.org>
CommitDate: 2026-05-10 06:25:56 +0000
tests/carp: make a 0.2 second pause before configuring second jail
for all scenarios where both jails have same priority/advskew. There is a
tiny chance that on both sides carp_master_down() will be executed in
parallel and advertisements will also fly through the bridge(4) in
parallel, thus both sides will switch to MASTER before receiving the
announcement from peer. This makes the test to fail. So far this
flakyness was observed for carp:vrrp_v4 only, but in theory it is possible
for any of the patched scenarios.
Note that this sleep does not prolong execution of the tests, as the first
jail is already configured, and if we slept before configuring the second,
we would sleep less in wait_for_carp().
(cherry picked from commit 27ff90cd3d8d2ac8198f30cbebeefb15a49d41bc)
(cherry picked from commit ad2fff6d6a4d74b6bb9008e447eafc567e8660e0)
---
tests/sys/netinet/carp.sh | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/tests/sys/netinet/carp.sh b/tests/sys/netinet/carp.sh
index 4d58bcf03c12..4fc682f14449 100755
--- a/tests/sys/netinet/carp.sh
+++ b/tests/sys/netinet/carp.sh
@@ -90,6 +90,7 @@ basic_v4_body()
jexec carp_basic_v4_two ifconfig ${epair_one}b 192.0.2.202/29 up
jexec carp_basic_v4_two ifconfig ${epair_one}b add vhid 1 192.0.2.1/29
+ sleep 0.2
jexec carp_basic_v4_three ifconfig ${epair_two}b 192.0.2.203/29 up
jexec carp_basic_v4_three ifconfig ${epair_two}b add vhid 1 \
192.0.2.1/29
@@ -135,6 +136,7 @@ unicast_v4_body()
jexec carp_uni_v4_two ifconfig ${epair_one}b add vhid 1 \
peer 198.51.100.224 192.0.2.1/32
+ sleep 0.2
jexec carp_uni_v4_three sysctl net.inet.ip.forwarding=1
jexec carp_uni_v4_three ifconfig ${epair_two}b 198.51.100.224/25 up
jexec carp_uni_v4_three route add 198.51.100.2 198.51.100.129
@@ -206,6 +208,7 @@ basic_v6_body()
jexec carp_basic_v6_two ifconfig ${epair_one}b inet6 add vhid 1 \
2001:db8::0:1/64
+ sleep 0.2
jexec carp_basic_v6_three ifconfig ${epair_two}b inet6 2001:db8::1:3/64 up no_dad
jexec carp_basic_v6_three ifconfig ${epair_two}b inet6 add vhid 1 \
2001:db8::0:1/64
@@ -261,6 +264,7 @@ unicast_v6_body()
peer6 2001:db8:2::2 \
2001:db8::0:1/64
+ sleep 0.2
jexec carp_uni_v6_three ifconfig ${epair_two}b inet6 2001:db8:2::2/64 \
no_dad up
jexec carp_uni_v6_three route -6 add default 2001:db8:2::1
@@ -326,6 +330,7 @@ unicast_ll_v6_body()
jexec ${j}_two ifconfig ${epair_one}b inet6 add vhid 1 \
peer6 ${ll_two} \
2001:db8::0:1/64
+ sleep 0.2
jexec ${j}_three ifconfig ${epair_two}b inet6 add vhid 1 \
peer6 ${ll_one} \
2001:db8::0:1/64