From 0e65c922fc0d51a8dff1a779863d4ae559aa9a4a Mon Sep 17 00:00:00 2001 From: Arturo Borrero Date: Tue, 23 Dec 2014 13:24:26 +0100 Subject: ebtables-compat: fix counter listing With this patch: % sudo ebtables-compat -L --Lc Bridge table: filter Bridge chain: INPUT, entries: 0, policy: ACCEPT -j ACCEPT , pcnt = 123 -- bcnt = 123 Signed-off-by: Arturo Borrero Gonzalez Signed-off-by: Pablo Neira Ayuso --- iptables/nft-bridge.c | 5 +++++ iptables/xtables-eb.c | 12 +++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/iptables/nft-bridge.c b/iptables/nft-bridge.c index 9772b5fe..807c4da0 100644 --- a/iptables/nft-bridge.c +++ b/iptables/nft-bridge.c @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -470,6 +471,10 @@ static void nft_bridge_print_firewall(struct nft_rule *r, unsigned int num, } } + if (!(format & FMT_NOCOUNTS)) + printf(" , pcnt = %"PRIu64" -- bcnt = %"PRIu64"", + (uint64_t)cs.counters.pcnt, (uint64_t)cs.counters.bcnt); + if (!(format & FMT_NONEWLINE)) fputc('\n', stdout); } diff --git a/iptables/xtables-eb.c b/iptables/xtables-eb.c index 22ae4fdf..d0f6a3e3 100644 --- a/iptables/xtables-eb.c +++ b/iptables/xtables-eb.c @@ -486,14 +486,12 @@ static void print_help(const struct xtables_target *t, /* Execute command L */ static int list_rules(struct nft_handle *h, const char *chain, const char *table, int rule_nr, int verbose, int numeric, int expanded, - int linenumbers) + int linenumbers, int counters) { unsigned int format; format = FMT_OPTIONS; - if (!verbose) - format |= FMT_NOCOUNTS; - else + if (verbose) format |= FMT_VIA; if (numeric) @@ -505,6 +503,9 @@ static int list_rules(struct nft_handle *h, const char *chain, const char *table if (linenumbers) format |= FMT_LINENUMBERS; + if (!counters) + format |= FMT_NOCOUNTS; + return nft_rule_list(h, chain, table, rule_nr, format); } @@ -1269,7 +1270,8 @@ check_extension: flags&OPT_VERBOSE, flags&OPT_NUMERIC, /*flags&OPT_EXPANDED*/0, - flags&LIST_N); + flags&LIST_N, + flags&LIST_C); if (!(flags & OPT_ZERO) && exec_style == EXEC_STYLE_PRG) exit(0); } -- cgit v1.2.3