From nobody Thu Apr 23 13:13:20 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4g1c3N403Nz6Zhtr for ; Thu, 23 Apr 2026 13:13:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R13" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4g1c3N2kVYz3T9t for ; Thu, 23 Apr 2026 13:13:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776950000; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=99hwj58ez1eflgnNHmIawU8GNCKnzReqbqgaqtkJhz8=; b=S+NgBIZxlEW2fguzPnhL87KIPoNQlKW+T1RjOv5KUztkQAYAxz/Z35lKTqiyfzJFJEBTU7 O/ok678vyhs1BFsZGuLzKM2uB2ZW8GNRUalzOnYlv+2oq1L0uSvilwXcr+x4yTu+vcErDE kWI+TSTaVCn2R2ttkmfwwQshIVlUOmlDymjhttWZQqHxOSdFAx3/TxdLXAyih4rDh1lGSv 73Rq8RdaEQbYg7D24xJIUfsvKHXoMX/jnrExGZ5etHZc1pX0uMeCC33gjycCkGSw2yQ5jM rcOMmb5gambXkH5Bao4hZFj/t0kkiFLXa7kht4+3deaz+kONu059BSZwKAY3HQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1776950000; a=rsa-sha256; cv=none; b=oqsuHcFrwho9Fv+HiYu7LGPqKk88oWFjaaocrhjuVnb94nBEVuCHhL3LYV4sPUVIFO8k0u 5QzCnIciY+BBCupfPP0ujL7fnEwMfQ559Kca5gjG/V86jliCj7FGPFrbCKczAGvCSkSgl1 PZJXaXfHHPJxy5qvSC743RHLPd1Wtw/Mjcb+l+grx2kAyYUWfcxg0wDsizGhqnkzJbswEc P0OsmVJaOu2OPtmyoh5oLsf/0CGAymr+1T/FpQti0YcShVa2VzfysVkNCJ1KNRcPMCSQSS Von8TaS3kILhE56dBep+k6woUv34J3R26UbOlAcYzTiSujnFMjakh5+EF0g/cg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1776950000; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=99hwj58ez1eflgnNHmIawU8GNCKnzReqbqgaqtkJhz8=; b=a9s3u0JEXEQw/EB2mGAbElRGTpDjoO26YyuMUYUv3s4OMetB6PE5W3AkaxgvcuyN5Nic6V sOSd7e4W64+vBT6PRzrirO1/C7gopXMy0ekyV5bc8V/1NAJd1qem6tZenVkhI2xYRNmK7d C2XAvtJGGfZzIWvJ+rkUNBSgPYZnpIUWmw6PVIvXvZ0bhhofhFdD1pbVsxnSWlmrhY8GgA euZIGPg+/sOz83WjMgy1Z60DR/MeVrcnDOknIaucc49rhetHK17J8bHBH5ppr65V8Bfdtc 1+yEEStry+x4xHMz9mlRrYGHzA6AFP1GcgDd9jDkJdnlISWZDucSGXcnGiQxjg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g1c3N21Lpz3D2 for ; Thu, 23 Apr 2026 13:13:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1e037 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Thu, 23 Apr 2026 13:13:20 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Siva Mahadevan Subject: git: 60000d94b4e8 - main - tests/pf/nat: endpoint_independent: wait for tcpdump to start List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: siva X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 60000d94b4e85caf931230a8a7ae86888db00d01 Auto-Submitted: auto-generated Date: Thu, 23 Apr 2026 13:13:20 +0000 Message-Id: <69ea1af0.1e037.100e6738@gitrepo.freebsd.org> The branch main has been updated by siva: URL: https://cgit.FreeBSD.org/src/commit/?id=60000d94b4e85caf931230a8a7ae86888db00d01 commit 60000d94b4e85caf931230a8a7ae86888db00d01 Author: Siva Mahadevan AuthorDate: 2026-04-22 17:20:38 +0000 Commit: Siva Mahadevan CommitDate: 2026-04-23 13:11:08 +0000 tests/pf/nat: endpoint_independent: wait for tcpdump to start This matches pflog.sh tests and fixes flaky tests found in CI[0]. [0] https://ci.freebsd.org/job/FreeBSD-main-amd64-test/28126/testReport/junit/sys.netpfil.pf/nat/endpoint_independent_exhaust/ PR: 289628 Reviewed by: glebius Approved by: lwhsu (mentor) Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D56145 --- tests/sys/netpfil/pf/nat.sh | 44 ++++++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 16 deletions(-) diff --git a/tests/sys/netpfil/pf/nat.sh b/tests/sys/netpfil/pf/nat.sh index 600688a8dbc9..6d68b62b07c1 100644 --- a/tests/sys/netpfil/pf/nat.sh +++ b/tests/sys/netpfil/pf/nat.sh @@ -162,20 +162,26 @@ endpoint_independent_common() pft_set_rules nat "${1}" jexec server1 tcpdump -i ${epair_server1}a -w ${PWD}/server1.pcap \ - --immediate-mode $filter & + --immediate-mode $filter -c 1 & server1tcppid="$!" jexec server2 tcpdump -i ${epair_server2}a -w ${PWD}/server2.pcap \ - --immediate-mode $filter & + --immediate-mode $filter -c 1 & server2tcppid="$!" - # send out multiple packets - for i in $(seq 1 10); do - echo "ping" | jexec client nc -u 198.51.100.32 1234 -p 4242 -w 0 - echo "ping" | jexec client nc -u 198.51.100.22 1234 -p 4242 -w 0 + # wait for tcpdumps to fully attach and block in bpfread() + for p in ${server1tcppid} ${server2tcppid}; do + while [ $(ps -o wchan ${p} | tr "\n" " " | cut -w -f 2) != "bpf" ]; do + sleep 0.01; + done done - kill $server1tcppid - kill $server2tcppid + echo "ping" | jexec client nc -u 198.51.100.32 1234 -p 4242 + echo "ping" | jexec client nc -u 198.51.100.22 1234 -p 4242 + + for p in ${server1tcppid} ${server2tcppid}; do + wait ${p} + atf_check_equal 0 $? + done tuple_server1=$(tcpdump -r ${PWD}/server1.pcap | awk '{addr=$3} END {print addr}') tuple_server2=$(tcpdump -r ${PWD}/server2.pcap | awk '{addr=$3} END {print addr}') @@ -201,20 +207,26 @@ endpoint_independent_common() pft_set_rules nat "${2}" jexec server1 tcpdump -i ${epair_server1}a -w ${PWD}/server1.pcap \ - --immediate-mode $filter & + --immediate-mode $filter -c 1 & server1tcppid="$!" jexec server2 tcpdump -i ${epair_server2}a -w ${PWD}/server2.pcap \ - --immediate-mode $filter & + --immediate-mode $filter -c 1 & server2tcppid="$!" - # send out multiple packets, sometimes one fails to go through - for i in $(seq 1 10); do - echo "ping" | jexec client nc -u 198.51.100.32 1234 -p 4242 -w 0 - echo "ping" | jexec client nc -u 198.51.100.22 1234 -p 4242 -w 0 + # wait for tcpdumps to fully attach and block in bpfread() + for p in ${server1tcppid} ${server2tcppid}; do + while [ $(ps -o wchan ${p} | tr "\n" " " | cut -w -f 2) != "bpf" ]; do + sleep 0.01; + done done - kill $server1tcppid - kill $server2tcppid + echo "ping" | jexec client nc -u 198.51.100.32 1234 -p 4242 + echo "ping" | jexec client nc -u 198.51.100.22 1234 -p 4242 + + for p in ${server1tcppid} ${server2tcppid}; do + wait ${p} + atf_check_equal 0 $? + done tuple_server1=$(tcpdump -r ${PWD}/server1.pcap | awk '{addr=$3} END {print addr}') tuple_server2=$(tcpdump -r ${PWD}/server2.pcap | awk '{addr=$3} END {print addr}')