diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-08-18 01:07:24 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-08-18 01:10:04 +0200 |
commit | 94002b41384890224bfb14d1b0986bd8b279b17e (patch) | |
tree | 98183db74a84036831c6c626df993eaa48e5025c /src/rule.c | |
parent | ecf855b2f58f1718a6a1c3dcde13b140557844ec (diff) | |
parent | 6c43069e5f2a55d769ec6d362bc863af906591d0 (diff) |
Merge branch 'next-4.2'
This branch adds support for the new 'netdev' family. This also resolves a
simple conflict with the default chain policy printing.
Conflicts:
src/rule.c
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/rule.c')
-rw-r--r-- | src/rule.c | 25 |
1 files changed, 22 insertions, 3 deletions
@@ -333,6 +333,7 @@ static const char *chain_hookname_str_array[] = { "forward", "postrouting", "output", + "ingress", NULL, }; @@ -398,6 +399,8 @@ const char *family2str(unsigned int family) return "ip6"; case NFPROTO_INET: return "inet"; + case NFPROTO_NETDEV: + return "netdev"; case NFPROTO_ARP: return "arp"; case NFPROTO_BRIDGE: @@ -441,6 +444,13 @@ const char *hooknum2str(unsigned int family, unsigned int hooknum) default: break; } + break; + case NFPROTO_NETDEV: + switch (hooknum) { + case NF_NETDEV_INGRESS: + return "ingress"; + } + break; default: break; }; @@ -465,9 +475,18 @@ static void chain_print(const struct chain *chain) printf("\tchain %s {\n", chain->handle.chain); if (chain->flags & CHAIN_F_BASECHAIN) { - printf("\t\ttype %s hook %s priority %d; policy %s;\n", - chain->type, chain->hookstr, - chain->priority, chain_policy2str(chain->policy)); + if (chain->dev != NULL) { + printf("\t\ttype %s hook %s device %s priority %d; policy %s;\n", + chain->type, + hooknum2str(chain->handle.family, chain->hooknum), + chain->dev, chain->priority, + chain_policy2str(chain->policy)); + } else { + printf("\t\ttype %s hook %s priority %d; policy %s;\n", + chain->type, + hooknum2str(chain->handle.family, chain->hooknum), + chain->priority, chain_policy2str(chain->policy)); + } } list_for_each_entry(rule, &chain->rules, list) { printf("\t\t"); |