new file mode 100755
@@ -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"
Signed-off-by: Eric Garver <eric@garver.life> --- # ./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