summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--iptables/nft-bridge.c9
-rw-r--r--iptables/nft-shared.h1
-rw-r--r--iptables/nft.c3
3 files changed, 11 insertions, 2 deletions
diff --git a/iptables/nft-bridge.c b/iptables/nft-bridge.c
index ab97881d..0e21b468 100644
--- a/iptables/nft-bridge.c
+++ b/iptables/nft-bridge.c
@@ -357,13 +357,17 @@ static void print_iface(const char *iface)
*c = IF_WILDCARD;
}
+static void nft_bridge_print_table_header(const char *tablename)
+{
+ printf("Bridge table: %s\n\n", tablename);
+}
+
static void nft_bridge_print_header(unsigned int format, const char *chain,
const char *pol,
const struct xt_counters *counters,
bool basechain, uint32_t refs)
{
- /* FIXME: Giuseppe replace this with ebtables format */
- print_header(format, chain, pol, counters, basechain, refs);
+ printf("Bridge chain: %s, entries: %u, policy: %s\n", chain, refs, pol);
}
static void nft_bridge_print_firewall(struct nft_rule *r, unsigned int num,
@@ -564,6 +568,7 @@ struct nft_family_ops nft_family_ops_bridge = {
.parse_payload = nft_bridge_parse_payload,
.parse_immediate = nft_bridge_parse_immediate,
.parse_target = nft_bridge_parse_target,
+ .print_table_header = nft_bridge_print_table_header,
.print_header = nft_bridge_print_header,
.print_firewall = nft_bridge_print_firewall,
.save_firewall = NULL,
diff --git a/iptables/nft-shared.h b/iptables/nft-shared.h
index 361e9566..feef24f9 100644
--- a/iptables/nft-shared.h
+++ b/iptables/nft-shared.h
@@ -84,6 +84,7 @@ struct nft_family_ops {
void *data);
void (*parse_immediate)(const char *jumpto, bool nft_goto, void *data);
+ void (*print_table_header)(const char *tablename);
void (*print_header)(unsigned int format, const char *chain,
const char *pol,
const struct xt_counters *counters, bool basechain,
diff --git a/iptables/nft.c b/iptables/nft.c
index 804ebe97..7cd56efa 100644
--- a/iptables/nft.c
+++ b/iptables/nft.c
@@ -2019,6 +2019,9 @@ int nft_rule_list(struct nft_handle *h, const char *chain, const char *table,
if (iter == NULL)
goto err;
+ if (ops->print_table_header)
+ ops->print_table_header(table);
+
c = nft_chain_list_iter_next(iter);
while (c != NULL) {
const char *chain_table =