[PATCH nft] parser_bison: simplify syntax to list all sets in table

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Revisit f99ccda252fa ("parser: allow listing sets in one table") to add
an alias to list all sets in a given table, eg.

 # nft list sets ip x
 table ip x {
        set s1 {
                type ipv4_addr
        }
        set s2 {
                type ipv4_addr
        }
 }

This is similar to 275989737ec4 ("parser_bison: simplify reset syntax").

Update nft(8) manpage too.

Signed-off-by: Pablo Neira Ayuso <pablo@xxxxxxxxxxxxx>
---
 doc/nft.txt        | 2 ++
 src/parser_bison.y | 5 +++++
 2 files changed, 7 insertions(+)

diff --git a/doc/nft.txt b/doc/nft.txt
index 846ccfb28b92..12de0181ab91 100644
--- a/doc/nft.txt
+++ b/doc/nft.txt
@@ -588,6 +588,8 @@ section describes nft set syntax in more detail.
 *add set* ['family'] 'table' 'set' *{ type* 'type' | *typeof* 'expression' *;* [*flags* 'flags' *;*] [*timeout* 'timeout' *;*] [*gc-interval* 'gc-interval' *;*] [*elements = {* 'element'[*,* ...] *} ;*] [*size* 'size' *;*] [*comment* 'comment' *;*'] [*policy* 'policy' *;*] [*auto-merge ;*] *}*
 {*delete* | *destroy* | *list* | *flush* | *reset* } *set* ['family'] 'table' 'set'
 *list sets* ['family']
+*list sets* ['family'] 'table'
+*list set* ['family'] 'table' 'set'
 *delete set* ['family'] 'table' *handle* 'handle'
 {*add* | *delete* | *destroy* } *element* ['family'] 'table' 'set' *{* 'element'[*,* ...] *}*
 
diff --git a/src/parser_bison.y b/src/parser_bison.y
index c8714812532d..ac8de398f8a7 100644
--- a/src/parser_bison.y
+++ b/src/parser_bison.y
@@ -1590,8 +1590,13 @@ list_cmd		:	TABLE		table_spec
 			{
 				$$ = cmd_alloc(CMD_LIST, CMD_OBJ_SETS, &$2, &@$, NULL);
 			}
+			|	SETS		table_spec
+			{
+				$$ = cmd_alloc(CMD_LIST, CMD_OBJ_SETS, &$2, &@$, NULL);
+			}
 			|	SETS		TABLE	table_spec
 			{
+				/* alias of previous rule. */
 				$$ = cmd_alloc(CMD_LIST, CMD_OBJ_SETS, &$3, &@$, NULL);
 			}
 			|	SET		set_spec
-- 
2.30.2





[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux