Signed-off-by: Eric Garver <eric@xxxxxxxxxxx> --- # ./run-tests.sh ./testcases/sets/0044json_prefix_in_concat_0 I: using nft binary ./../../src/nft I: [OK] ./testcases/sets/0044json_prefix_in_concat_0 I: results: [OK] 1 [FAILED] 0 [TOTAL] 1 # NFT=/usr/sbin/nft ./run-tests.sh ./testcases/sets/0044json_prefix_in_concat_0 I: using nft binary /usr/sbin/nft W: [FAILED] ./testcases/sets/0044json_prefix_in_concat_0: got internal:0:0-0: Error: Expression type prefix not allowed in context (RHS, PRIMARY). internal:0:0-0: Error: Parsing expr at index 0 failed. internal:0:0-0: Error: Invalid set elem at index 0. internal:0:0-0: Error: Invalid set. internal:0:0-0: Error: Parsing command array at index 3 failed. I: results: [OK] 0 [FAILED] 1 [TOTAL] 1 --- .../shell/testcases/sets/0044json_prefix_in_concat_0 | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100755 tests/shell/testcases/sets/0044json_prefix_in_concat_0 diff --git a/tests/shell/testcases/sets/0044json_prefix_in_concat_0 b/tests/shell/testcases/sets/0044json_prefix_in_concat_0 new file mode 100755 index 000000000000..9bc48caa136f --- /dev/null +++ b/tests/shell/testcases/sets/0044json_prefix_in_concat_0 @@ -0,0 +1,11 @@ +#!/bin/bash + +# JSON parsing "prefix" inside "concat" for a set element + +RULESET='{"nftables": [{"metainfo": {"json_schema_version": 1}}, + {"add": {"table": {"family": "inet", "name": "foobar_table"}}}, + {"add": {"set": {"family": "inet", "name": "foobar_set", "table": "foobar_table", "type": ["ipv4_addr", "inet_proto", "inet_service"]}}}, + {"add": {"element": {"elem": [{"concat": [{"prefix": {"addr": "10.10.10.0", "len": 24}}, "sctp", "1234"]}], "family": "inet", "name": "foobar_set", "table": "foobar_table"}}}]}' + +set -e +$NFT -j -f - <<< "$RULESET" -- 2.23.0