From f99ccda252fa2a44d587c771e92896bcda1d7c7e Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Thu, 4 May 2017 17:51:54 +0200 Subject: parser: allow listing sets in one table currently nft can lists sets: nft list sets but unlike e.g. 'quotas' or 'counters' we didn't support restricting it to a table. Now its possible to restrict set definition listing to one table: nft list sets table inet filter Reported-by: Thomas Woerner Signed-off-by: Florian Westphal Acked-by: Pablo Neira Ayuso --- src/evaluate.c | 2 +- src/parser_bison.y | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/evaluate.c b/src/evaluate.c index 49c5953a..1cfe7675 100644 --- a/src/evaluate.c +++ b/src/evaluate.c @@ -3037,6 +3037,7 @@ static int cmd_evaluate_list(struct eval_ctx *ctx, struct cmd *cmd) case CMD_OBJ_COUNTERS: case CMD_OBJ_QUOTAS: case CMD_OBJ_CT_HELPERS: + case CMD_OBJ_SETS: if (cmd->handle.table == NULL) return 0; if (table_lookup(&cmd->handle) == NULL) @@ -3044,7 +3045,6 @@ static int cmd_evaluate_list(struct eval_ctx *ctx, struct cmd *cmd) cmd->handle.table); return 0; case CMD_OBJ_CHAINS: - case CMD_OBJ_SETS: case CMD_OBJ_RULESET: case CMD_OBJ_FLOWTABLES: case CMD_OBJ_MAPS: diff --git a/src/parser_bison.y b/src/parser_bison.y index 8db887a4..6be94a9b 100644 --- a/src/parser_bison.y +++ b/src/parser_bison.y @@ -1007,6 +1007,10 @@ list_cmd : TABLE table_spec { $$ = cmd_alloc(CMD_LIST, CMD_OBJ_SETS, &$2, &@$, NULL); } + | SETS TABLE table_spec + { + $$ = cmd_alloc(CMD_LIST, CMD_OBJ_SETS, &$3, &@$, NULL); + } | SET set_spec { $$ = cmd_alloc(CMD_LIST, CMD_OBJ_SET, &$2, &@$, NULL); -- cgit v1.2.3