From b37424f137d412804e6a21d5ad04ec57fe9e5bc6 Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Thu, 21 Sep 2023 01:32:27 +0200 Subject: tests: shell: add feature probe for sctp chunk matching Skip the relavant parts of the test if nft_exthdr lacks sctp support. Signed-off-by: Florian Westphal --- tests/shell/features/sctp_chunks.nft | 7 +++++++ tests/shell/testcases/sets/typeof_sets_0 | 26 ++++++++++++++++---------- 2 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 tests/shell/features/sctp_chunks.nft (limited to 'tests') diff --git a/tests/shell/features/sctp_chunks.nft b/tests/shell/features/sctp_chunks.nft new file mode 100644 index 00000000..520afd64 --- /dev/null +++ b/tests/shell/features/sctp_chunks.nft @@ -0,0 +1,7 @@ +# 133dc203d77d ("netfilter: nft_exthdr: Support SCTP chunks") +# v5.14-rc1~119^2~373^2~15 +table ip t { + chain c { + sctp chunk init 0 + } +} diff --git a/tests/shell/testcases/sets/typeof_sets_0 b/tests/shell/testcases/sets/typeof_sets_0 index c1c0f51f..35c572c1 100755 --- a/tests/shell/testcases/sets/typeof_sets_0 +++ b/tests/shell/testcases/sets/typeof_sets_0 @@ -23,6 +23,16 @@ INPUT_OSF_CHAIN=" } " +INPUT_SCTP_CHAIN=" + chain c7 { + sctp chunk init num-inbound-streams @s7 accept + } +" + +if [ "$NFT_TEST_HAVE_sctp_chunks" = n ] ; then + INPUT_SCTP_CHAIN= +fi + if [ "$NFT_TEST_HAVE_osf" = n ] ; then if [ "$((RANDOM % 2))" -eq 1 ] ; then # Regardless of $NFT_TEST_HAVE_osf, we can define the set. @@ -98,11 +108,7 @@ $INPUT_OSF_CHAIN chain c6 { tcp option maxseg size @s6 accept } - - chain c7 { - sctp chunk init num-inbound-streams @s7 accept - } - +$INPUT_SCTP_CHAIN chain c8 { ip version @s8 accept } @@ -187,11 +193,7 @@ $INPUT_OSF_CHAIN chain c6 { tcp option maxseg size @s6 accept } - - chain c7 { - sctp chunk init num-inbound-streams @s7 accept - } - +$INPUT_SCTP_CHAIN chain c8 { ip version @s8 accept } @@ -218,3 +220,7 @@ if [ "$NFT_TEST_HAVE_osf" = n ] ; then echo "Partial test due to NFT_TEST_HAVE_osf=n. Skip" exit 77 fi +if [ "$NFT_TEST_HAVE_sctp_chunks" = n ] ; then + echo "Partial test due to NFT_TEST_HAVE_sctp_chunks=n. Skip" + exit 77 +fi -- cgit v1.2.3