Commit d46cea0e authored by Florian Westphal's avatar Florian Westphal Committed by Pablo Neira Ayuso
Browse files

selftests: netfilter: switch zone stress to socat



centos9 has nmap-ncat which doesn't like the '-q' option, use socat.
While at it, mark test skipped if needed tools are missing.

Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent 962e5a40
Loading
Loading
Loading
Loading
+13 −6
Original line number Diff line number Diff line
@@ -18,11 +18,17 @@ cleanup()
	ip netns del $ns
}

ip netns add $ns
if [ $? -ne 0 ];then
	echo "SKIP: Could not create net namespace $gw"
checktool (){
	if ! $1 > /dev/null 2>&1; then
		echo "SKIP: Could not $2"
		exit $ksft_skip
	fi
}

checktool "nft --version" "run test without nft tool"
checktool "ip -Version" "run test without ip tool"
checktool "socat -V" "run test without socat tool"
checktool "ip netns add $ns" "create net namespace"

trap cleanup EXIT

@@ -71,7 +77,8 @@ EOF
		local start=$(date +%s%3N)
		i=$((i + 10000))
		j=$((j + 1))
		dd if=/dev/zero of=/dev/stdout bs=8k count=10000 2>/dev/null | ip netns exec "$ns" nc -w 1 -q 1 -u -p 12345 127.0.0.1 12345 > /dev/null
		# nft rule in output places each packet in a different zone.
		dd if=/dev/zero of=/dev/stdout bs=8k count=10000 2>/dev/null | ip netns exec "$ns" socat STDIN UDP:127.0.0.1:12345,sourceport=12345
		if [ $? -ne 0 ] ;then
			ret=1
			break