diff options
author | Pablo M. Bermudo Garay <pablombg@gmail.com> | 2016-05-31 12:37:06 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2016-05-31 12:42:05 +0200 |
commit | 69da3095ea38b42e068bab063b046a5016409d6a (patch) | |
tree | 856ba437f543924c7bac8b15b5fde836d71f79dd /src/rule.c | |
parent | aef75641d196ddc199df35092823f178b998a6a3 (diff) |
src: add 'list maps' support
This commit adds a new command that lists maps:
# nft list maps [family]
Only the declaration is displayed. If no family is specified, all maps
of all families are listed.
Example:
# nft list maps
table ip filter {
map test {
type ipv4_addr : inet_service
}
}
table ip6 filter {
map test {
type ipv6_addr : inet_service
}
}
Signed-off-by: Pablo M. Bermudo Garay <pablombg@gmail.com>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/rule.c')
-rw-r--r-- | src/rule.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -1074,11 +1074,15 @@ static int do_list_sets(struct netlink_ctx *ctx, struct cmd *cmd) list_for_each_entry(set, &table->sets, list) { if (cmd->obj == CMD_OBJ_SETS && - set->flags & SET_F_ANONYMOUS) + (set->flags & SET_F_ANONYMOUS || + set->flags & SET_F_MAP)) continue; if (cmd->obj == CMD_OBJ_FLOWTABLES && !(set->flags & SET_F_EVAL)) continue; + if (cmd->obj == CMD_OBJ_MAPS && + !(set->flags & SET_F_MAP)) + continue; set_print_declaration(set, &opts); printf("%s}%s", opts.tab, opts.nl); } @@ -1216,6 +1220,8 @@ static int do_command_list(struct netlink_ctx *ctx, struct cmd *cmd) return do_list_sets(ctx, cmd); case CMD_OBJ_FLOWTABLE: return do_list_set(ctx, cmd, table); + case CMD_OBJ_MAPS: + return do_list_sets(ctx, cmd); default: BUG("invalid command object type %u\n", cmd->obj); } |