summaryrefslogtreecommitdiffstats
path: root/tests/shell/testcases/sets/elem_opts_compat_0
blob: 7563773e626f3be085e1fdd1ffdb6794912b3adf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#!/bin/bash

# NFT_TEST_REQUIRES(NFT_TEST_HAVE_set_expr)

# ordering of element options and expressions has changed, make sure parser
# accepts both ways

set -e

$NFT -f - <<EOF
table t {
	set s {
		type inet_service
		counter;
		timeout 30s;
	}
}
EOF

check() {
	out=$($NFT list ruleset)
	secs=$(sed -n 's/.*expires \([0-9]\+\)s.*/\1/p' <<< "$out")
	[[ $secs -lt 11 ]]
	grep -q 'counter packets 10 bytes 20' <<< "$out"
}

$NFT add element t s '{ 23 counter packets 10 bytes 20 expires 10s }'
check
$NFT flush set t s
$NFT add element t s '{ 42 expires 10s counter packets 10 bytes 20 }'
check