On Sat, Oct 3, 2026, Sashiko wrote:
What happens here if one of the sniffers has already died?
Agreed, that is a real hole. A sniffer that finishes normally always
prints its report and exits 0, so v3 waits for each capture on its own
and fails the case if either one exits nonzero. A tx-on UDP_SEGMENT
case in which no GSO skb reaches the driver now fails instead of
skipping.
Should GRXD be passed to check_err, or should the commit message be
reworded to match what is actually checked?
Fixed: v3 checks amtg rx_dropped, and the changelog mentions the plain
datagram cases.
The busywait return value is also ignored here and in run_burst():
Fixed in run_burst(): a helper that never prints READY fails the case.
wait_tunnel() still ignores it on purpose, since a missed READY only
costs one of the 40 tries, and probe.out is now removed before each
try, so a stale READY cannot match.
Can this multiplication wrap before the total > MAX_DGRAM check runs?
Fixed: main() now rejects sizes that would overflow the buffer or the
seen[] array, for both send and recv.
Should that be reported as a failure instead, given that this is the
data path the test is meant to cover?
Yes. A tunnel that never comes up is now a FAIL, not a SKIP.
pw-bot: cr