From nobody Tue Apr 28 00:10:19 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 4g4LRj0kPTz6Zv4v for ; Tue, 28 Apr 2026 00:10:25 +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 4g4LRj00Snz40R8 for ; Tue, 28 Apr 2026 00:10:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1777335025; 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=Ri4APSY/5kskerfQFlPsjuBEU21x7nWXyMsDz1NXbys=; b=bZsLbA0fipArh9UvhEzBgAqvgciqGQt4ptoVWeMMHZ7wui5XZpLRx7P+lqunH18BgBeuIj Gov39VvFduLapTXOuYvOiz4x+qAtIxhFlemE4xrtZACaCA24QM9Z6ACN+701Svfq7oFveX EVoeg8n2cXJ+ePNBv708OwLIXJRN56yD8bV3gapGTA23eTzWS9YzBxDHtDjrc2dBaoIB4E MtuFFH94ac7/heQkx1hZVMaJrY59XHD5AcyDmUgE67smS8Pr4f3FZJYTqoNcr2E50MAnFd VDUajjAXpfrEl9K98yTH9iugSPh8mtGN0TaXSuTO/IQybb4au79DXroIBJ85ag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1777335025; a=rsa-sha256; cv=none; b=DHDdpU6QAtSwOOXuTmiwM5ZL05oai3wz3JZhlCkNEVW0cbIZd1I0xSvjVPsQKhwPJvGhaw an5Da+fqRpSqYAH5ipI26w3QEwDOBRtFaPhvBATMxq8tFq/7frbMqtF1Z1fqVxCoPLJwNk yKErQx6RWF8sFY71zXzvE7RPstyOHbF5WgnucPJL7twZszLuawc/hcUHACFSe1XuvOFXn+ J8pKt27QQYfKJ83zR1cU/2vj9RORw27+sZo4EyR0uQOLumfdujVXHeAf0i9m79wAFEw0x/ yUTo3uqfXOkUmWgiFevp/FhnJt5f1t4hN8CxiDQXUiiQn9cQS/QgEmd1A8p7uA== 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=1777335025; 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=Ri4APSY/5kskerfQFlPsjuBEU21x7nWXyMsDz1NXbys=; b=Y61uv3eyczcKvVq5xiZYANJ4Wg2nj8TCPx1r0qgsRKGroSQT8no8gN5qWuQImFO4TUpKKP HitKNLtzrq6LEu0lqEacGeeQtZdTCOLcitz/bUSYBEVo4h9pBZeBvVP+Nj2cbc1Bfrb/vf urtztz8r+Ut/NZnfyfsef0ADg7kmLb2bgWgvk5x8OPoyp2b6DxC3dGtP4ffca6KLrIIMXe y/LiW4/BPfq9qhcDWmvV1x9s5iBANeG2waBOS7eok2n10aDyakBBwLIXf7tO1UTxSoE1ub pBIbPiCn/fdiUitgFmoLHDOTJ9NwFIOKc7r5rj1ycyqspRPzR8TRy9EGaOrfXg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4g4LRh6jS7zDCY for ; Tue, 28 Apr 2026 00:10:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 30964 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 28 Apr 2026 00:10:19 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Siva Mahadevan Subject: git: 8c84a6ebbe16 - stable/15 - 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 8c84a6ebbe166710be42815d29da683363b385a8 Auto-Submitted: auto-generated Date: Tue, 28 Apr 2026 00:10:19 +0000 Message-Id: <69effaeb.30964.3a1900a@gitrepo.freebsd.org> The branch stable/15 has been updated by siva: URL: https://cgit.FreeBSD.org/src/commit/?id=8c84a6ebbe166710be42815d29da683363b385a8 commit 8c84a6ebbe166710be42815d29da683363b385a8 Author: Siva Mahadevan AuthorDate: 2026-04-22 17:20:38 +0000 Commit: Siva Mahadevan CommitDate: 2026-04-27 20:15:16 +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 (cherry picked from commit 60000d94b4e85caf931230a8a7ae86888db00d01) --- 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 71af0f31d174..1355da83d2f3 100644 --- a/tests/sys/netpfil/pf/nat.sh +++ b/tests/sys/netpfil/pf/nat.sh @@ -159,20 +159,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}') @@ -198,20 +204,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}')