diff --git a/tests/sys/netpfil/pf/pfsync.sh b/tests/sys/netpfil/pf/pfsync.sh index 8028ba9790ba..75788eed4bbe 100644 --- a/tests/sys/netpfil/pf/pfsync.sh +++ b/tests/sys/netpfil/pf/pfsync.sh @@ -125,10 +125,6 @@ defer_body() { pfsynct_init - if [ "$(atf_config_get ci false)" = "true" ]; then - atf_skip "Skip know failing test (likely related to https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=260460)" - fi - epair_sync=$(vnet_mkepair) epair_in=$(vnet_mkepair) epair_out=$(vnet_mkepair) @@ -141,6 +137,9 @@ defer_body() jexec alcatraz arp -s 203.0.113.2 00:01:02:03:04:05 jexec alcatraz sysctl net.inet.ip.forwarding=1 + # Set a long defer delay + jexec alcatraz sysctl net.pfsync.defer_delay=2500 + jexec alcatraz ifconfig pfsync0 \ syncdev ${epair_sync}a \ maxupd 1 \ diff --git a/tests/sys/netpfil/pf/pfsync_defer.py b/tests/sys/netpfil/pf/pfsync_defer.py index c1d90d4483c4..0a258c8f27b3 100644 --- a/tests/sys/netpfil/pf/pfsync_defer.py +++ b/tests/sys/netpfil/pf/pfsync_defer.py @@ -119,13 +119,12 @@ def main(): if not got_ping: sys.exit(2) - if got_pfsync > got_ping: + # Deferred packets are delayed around 2.5s (unless the pfsync peer, which + # we don't have here, acks their state update earlier) + # Expect at least a second of delay, to be somewhat robust against + # scheduling-induced jitter. + if (sent_ping + 1) > got_ping: sys.exit(3) - # Deferred packets are delayed up to 20ms (unless the pfsync peer, which we - # don't have here, acks their state update earlier) - if (sent_ping + 0.020) > got_ping: - sys.exit(4) - if __name__ == '__main__': main()