From: Florian Westphal Date: Thu, 4 May 2017 15:51:54 +0000 (+0200) Subject: parser: allow listing sets in one table X-Git-Tag: v0.8~173 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f99ccda252fa2a44d587c771e92896bcda1d7c7e;p=thirdparty%2Fnftables.git 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 --- 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);