]> git.ipfire.org Git - thirdparty/nftables.git/commitdiff
rule: display table when listing one set
authorPablo Neira Ayuso <pablo@netfilter.org>
Fri, 25 Sep 2015 10:51:13 +0000 (12:51 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 12 Oct 2015 18:34:21 +0000 (20:34 +0200)
After:

 # nft list set ip6 test foo
 table ip6 test {
        set foo {
                type ipv4_addr
        }
 }

Before:

  # nft list set ip6 test foo
        set foo {
                type ipv4_addr
        }

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Acked-by: Arturo Borrero Gonzalez <arturo.borrero.glez@gmail.com>
src/rule.c

index 344e39671acf713c3aadb5b87f28d7c528f94a2c..502f9e5c6c39d9a69068a14822def781e2ba89c6 100644 (file)
@@ -1043,6 +1043,13 @@ static int do_list_tables(struct netlink_ctx *ctx, struct cmd *cmd)
        return 0;
 }
 
+static void table_print_declaration(struct table *table)
+{
+       printf("table %s %s {\n",
+               family2str(table->handle.family),
+               table->handle.table);
+}
+
 static int do_list_chains(struct netlink_ctx *ctx, struct cmd *cmd)
 {
        struct table *table;
@@ -1053,9 +1060,7 @@ static int do_list_chains(struct netlink_ctx *ctx, struct cmd *cmd)
                    cmd->handle.family != table->handle.family)
                        continue;
 
-               printf("table %s %s {\n",
-                      family2str(table->handle.family),
-                      table->handle.table);
+               table_print_declaration(table);
 
                list_for_each_entry(chain, &table->chains, list) {
                        chain_print_declaration(chain);
@@ -1076,7 +1081,10 @@ static int do_list_set(struct netlink_ctx *ctx, struct cmd *cmd,
        if (set == NULL)
                return -1;
 
+       table_print_declaration(table);
        set_print(set);
+       printf("}\n");
+
        return 0;
 }