diff options
author | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-07-03 23:09:03 +0200 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2015-07-06 18:47:32 +0200 |
commit | 0701d46571f9c4238a600d6fcd981add503a1ba9 (patch) | |
tree | 31ecba3fe3cc7cba7c0856174673dfd03300b2d2 | |
parent | 93aa490b66a01f5152d15d093c7ba9d50d6c3f19 (diff) |
src: set chain->hookstr from delinearization
Set human readable hookname chain->hookstr field from delinearize.
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | include/rule.h | 1 | ||||
-rw-r--r-- | src/netlink.c | 2 | ||||
-rw-r--r-- | src/rule.c | 8 |
3 files changed, 6 insertions, 5 deletions
diff --git a/include/rule.h b/include/rule.h index 5d445993..8ec7f910 100644 --- a/include/rule.h +++ b/include/rule.h @@ -138,6 +138,7 @@ extern struct chain *chain_lookup(const struct table *table, const struct handle *h); extern const char *family2str(unsigned int family); +extern const char *hooknum2str(unsigned int family, unsigned int hooknum); extern void chain_print_plain(const struct chain *chain); /** diff --git a/src/netlink.c b/src/netlink.c index 429eed40..d11d82f8 100644 --- a/src/netlink.c +++ b/src/netlink.c @@ -691,6 +691,8 @@ static struct chain *netlink_delinearize_chain(struct netlink_ctx *ctx, nft_chain_attr_is_set(nlc, NFT_CHAIN_ATTR_POLICY)) { chain->hooknum = nft_chain_attr_get_u32(nlc, NFT_CHAIN_ATTR_HOOKNUM); + chain->hookstr = + hooknum2str(chain->handle.family, chain->hooknum); chain->priority = nft_chain_attr_get_s32(nlc, NFT_CHAIN_ATTR_PRIO); chain->type = @@ -408,7 +408,7 @@ const char *family2str(unsigned int family) return "unknown"; } -static const char *hooknum2str(unsigned int family, unsigned int hooknum) +const char *hooknum2str(unsigned int family, unsigned int hooknum) { switch (family) { case NFPROTO_IPV4: @@ -466,8 +466,7 @@ 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, - hooknum2str(chain->handle.family, chain->hooknum), + chain->type, chain->hookstr, chain->priority, chain_policy2str(chain->policy)); } list_for_each_entry(rule, &chain->rules, list) { @@ -488,8 +487,7 @@ void chain_print_plain(const struct chain *chain) if (chain->flags & CHAIN_F_BASECHAIN) { printf(" { type %s hook %s priority %d; policy %s; }", - chain->type, - hooknum2str(chain->handle.family, chain->hooknum), + chain->type, chain->hookstr, chain->priority, chain_policy2str(chain->policy)); } |