From 0864c2d49ee8a1cc537568c05e14943186480125 Mon Sep 17 00:00:00 2001 From: "Jose M. Guisado Gomez" Date: Tue, 11 Aug 2020 16:27:20 +0200 Subject: src: add comment support for set declarations Allow users to add a comment when declaring a named set. Adds set output handling the comment in both nftables and json format. $ nft add table ip x $ nft add set ip x s {type ipv4_addr\; comment "some_addrs"\; elements = {1.1.1.1, 1.2.3.4}} $ nft list ruleset table ip x { set s { type ipv4_addr; comment "some_addrs" elements = { 1.1.1.1, 1.2.3.4 } } } $ nft --json list ruleset { "nftables": [ { "metainfo": { "json_schema_version": 1, "release_name": "Capital Idea #2", "version": "0.9.6" } }, { "table": { "family": "ip", "handle": 4857, "name": "x" } }, { "set": { "comment": "some_addrs", "elem": [ "1.1.1.1", "1.2.3.4" ], "family": "ip", "handle": 1, "name": "s", "table": "x", "type": "ipv4_addr" } } ] } Signed-off-by: Jose M. Guisado Gomez Signed-off-by: Pablo Neira Ayuso --- tests/shell/testcases/sets/0054comments_set_0 | 11 +++++++++++ tests/shell/testcases/sets/dumps/0054comments_set_0.nft | 7 +++++++ 2 files changed, 18 insertions(+) create mode 100755 tests/shell/testcases/sets/0054comments_set_0 create mode 100644 tests/shell/testcases/sets/dumps/0054comments_set_0.nft (limited to 'tests') diff --git a/tests/shell/testcases/sets/0054comments_set_0 b/tests/shell/testcases/sets/0054comments_set_0 new file mode 100755 index 00000000..93a73f0d --- /dev/null +++ b/tests/shell/testcases/sets/0054comments_set_0 @@ -0,0 +1,11 @@ +#!/bin/bash + +# Test that comments are added to sets + +$NFT add table t +$NFT add set t s {type ipv4_addr \; flags interval \; comment "test" \;} +if ! $NFT list ruleset | grep test >/dev/null ; then + echo "E: missing comment in set" >&2 + exit 1 +fi + diff --git a/tests/shell/testcases/sets/dumps/0054comments_set_0.nft b/tests/shell/testcases/sets/dumps/0054comments_set_0.nft new file mode 100644 index 00000000..2ad84003 --- /dev/null +++ b/tests/shell/testcases/sets/dumps/0054comments_set_0.nft @@ -0,0 +1,7 @@ +table ip t { + set s { + type ipv4_addr + flags interval + comment "test" + } +} -- cgit v1.2.3