diff options
author | Florian Westphal <fw@strlen.de> | 2022-04-09 15:58:32 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2022-04-13 13:43:44 +0200 |
commit | ad43b84e1942dd171d6e78c7717495e7186e8307 (patch) | |
tree | d1e5ae82b21f96013505bbf7a4ed56f818d06854 /tests/shell | |
parent | 06db230895a8643e8ef42dbad0edcb69a069b75c (diff) |
segtree: add support for get element with sets that contain ifnames
nft get element inet filter s { bla, prefixfoo }
table inet filter {
set s {
type ifname
flags interval
elements = { "prefixfoo*",
"bla" }
}
Also add test cases for this.
Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'tests/shell')
-rwxr-xr-x | tests/shell/testcases/sets/sets_with_ifnames | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/tests/shell/testcases/sets/sets_with_ifnames b/tests/shell/testcases/sets/sets_with_ifnames index 0f9a6b5b..10e6c331 100755 --- a/tests/shell/testcases/sets/sets_with_ifnames +++ b/tests/shell/testcases/sets/sets_with_ifnames @@ -22,11 +22,22 @@ check_elem() setname=$1 ifname=$2 fail=$3 + result=$4 + + if [ -z "$result" ]; then + result=$ifname + fi if [ $fail -eq 1 ]; then ip netns exec "$ns1" $NFT get element inet testifsets $setname { "$ifname" } && exit 2 else - ip netns exec "$ns1" $NFT get element inet testifsets $setname { "$ifname" } || exit 3 + result=$(ip netns exec "$ns1" $NFT get element inet testifsets $setname { "$ifname" } | grep "$result" ) + + if [ -z "$result" ] ; then + echo "empty result, expected $ifname" + ip netns exec "$ns1" $NFT get element inet testifsets $setname { "$ifname" } + exit 1 + fi fi } @@ -61,6 +72,14 @@ done check_elem simple foo 1 +for n in ppp0 othername;do + check_elem simple_wild $n 0 +done + +check_elem simple_wild enoent 1 +check_elem simple_wild ppp0 0 +check_elem simple_wild abcdefghijk 0 'abcdef\*' + set -e ip -net "$ns1" link set lo up ip -net "$ns2" link set lo up |