diff options
author | Eric Leblond <eric@regit.org> | 2013-09-16 18:27:38 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2013-09-17 13:11:22 +0200 |
commit | 6faf017b115901d46a99bfb7bfb9ca52a0d8954e (patch) | |
tree | ed7d752503cb49aea06c612dc0e804e24531ccc7 /src/rule.c | |
parent | 57f844782fa86660ce16b79b485ec34729bce4f7 (diff) |
display family in table listing
As family was not displayed in table listing, it was not possible
to restore an ipv6 table saved via 'nft list table ip6 TABLE'.
Signed-off-by: Eric Leblond <eric@regit.org>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/rule.c')
-rw-r--r-- | src/rule.c | 20 |
1 files changed, 19 insertions, 1 deletions
@@ -269,6 +269,23 @@ struct chain *chain_lookup(const struct table *table, const struct handle *h) return NULL; } +static const char *family2str(unsigned int family) +{ + switch (family) { + case NFPROTO_IPV4: + return "ip"; + case NFPROTO_IPV6: + return "ip6"; + case NFPROTO_ARP: + return "arp"; + case NFPROTO_BRIDGE: + return "bridge"; + default: + break; + } + return "unknown"; +} + static const char *hooknum2str(unsigned int family, unsigned int hooknum) { switch (family) { @@ -371,8 +388,9 @@ static void table_print(const struct table *table) struct chain *chain; struct set *set; const char *delim = ""; + const char *family = family2str(table->handle.family); - printf("table %s {\n", table->handle.table); + printf("table %s %s {\n", family, table->handle.table); list_for_each_entry(set, &table->sets, list) { if (set->flags & SET_F_ANONYMOUS) continue; |