summaryrefslogtreecommitdiffstats
path: root/src/rule.c
diff options
context:
space:
mode:
authorAna Rey <anarey@gmail.com>2014-03-28 12:30:27 +0000
committerPatrick McHardy <kaber@trash.net>2014-03-28 12:30:27 +0000
commitde8ef82c867fee5594b3d835df79c2898a14b3ae (patch)
treea8342164ecdb6b9719a8cdf150a614bbd26d0ab1 /src/rule.c
parentb573748a755f5f60449b53d85fb13093461530fb (diff)
nftables: Fix list of sets by family
Fix the result of command line 'nft list sets FAMILY'. It shows the following error message: "Error: syntax error, unexpected end of file, expecting string" Now, it is possible shows right this information: $ sudo nft -nna list sets ip set set_test { type ipv4_address elements = { 192.168.3.45, 192.168.3.43, 192.168.3.42, 192.168.3.4} } set set_test2 { type ipv4_address elements = { 192.168.3.43, 192.168.3.42, 192.168.3.4} } set set0 { type ipv4_address flags constant elements = { 127.0.0.12, 12.11.11.11} } Signed-off-by: Ana Rey <anarey@gmail.com> Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'src/rule.c')
-rw-r--r--src/rule.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rule.c b/src/rule.c
index b7190401..00dedf54 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -668,8 +668,12 @@ static int do_command_list(struct netlink_ctx *ctx, struct cmd *cmd)
case CMD_OBJ_SETS:
if (netlink_list_sets(ctx, &cmd->handle, &cmd->location) < 0)
return -1;
- list_for_each_entry_safe(set, nset, &ctx->list, list)
- list_move_tail(&set->list, &table->sets);
+ list_for_each_entry(set, &ctx->list, list){
+ if (netlink_get_setelems(ctx, &set->handle,
+ &cmd->location, set) < 0)
+ return -1;
+ set_print(set);
+ }
break;
case CMD_OBJ_SET:
if (netlink_get_set(ctx, &cmd->handle, &cmd->location) < 0)