summaryrefslogtreecommitdiffstats
path: root/src/netlink.c
diff options
context:
space:
mode:
authorArturo Borrero Gonzalez <arturo@debian.org>2017-05-02 11:47:02 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2017-05-15 19:10:46 +0200
commita9dc3ceabc10f3bf43c7e9edc6d4a35ef3aa2358 (patch)
treec58e110be6806e676deb20a69dd085bde4d7d1bb /src/netlink.c
parent723c4222b8771a5474307596dd4c09dbe428607b (diff)
expression: print sets and maps in pretty format
Print elements per line instead of all in a single line. The elements which can be 'short' are printed 5 per line, and others, like IPv4 addresses are printed 2 per line. Example: % nft list ruleset -nnn table ip t { set s { type inet_service elements = { 1, 2, 3, 4, 10, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 12345 } } map m { type inet_service . iface_index : verdict elements = { 123 . "lo" : accept, 1234 . "lo" : accept, 12345 . "lo" : accept, 12346 . "lo" : accept, 12347 . "lo" : accept } } set s3 { type ipv4_addr elements = { 1.1.1.1, 2.2.2.2, 3.3.3.3 } } } Signed-off-by: Arturo Borrero Gonzalez <arturo@debian.org> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/netlink.c')
-rw-r--r--src/netlink.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/netlink.c b/src/netlink.c
index 6fbb67da..59e8918d 100644
--- a/src/netlink.c
+++ b/src/netlink.c
@@ -1730,6 +1730,8 @@ int netlink_get_setelems(struct netlink_ctx *ctx, const struct handle *h,
ctx->set = set;
set->init = set_expr_alloc(loc);
nftnl_set_elem_foreach(nls, list_setelem_cb, ctx);
+ set->init->set_flags = set->flags;
+ set->init->dtype = set->keytype;
if (!(set->flags & NFT_SET_INTERVAL))
list_expr_sort(&ctx->set->init->expressions);