From: Arturo Borrero Date: Mon, 14 Apr 2014 10:17:19 +0000 (+0200) Subject: rule: generalize chain_print() X-Git-Tag: v0.3~25 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=43ac0090824f5c08ea13add64ace64f9ead8ef1b;p=thirdparty%2Fnftables.git rule: generalize chain_print() Lest generalize the chain_print() function, so we can print a plain chain as the user typed in the basic CLI. Signed-off-by: Arturo Borrero Gonzalez Signed-off-by: Pablo Neira Ayuso --- diff --git a/include/rule.h b/include/rule.h index 072cff81..6c373e69 100644 --- a/include/rule.h +++ b/include/rule.h @@ -128,6 +128,7 @@ extern struct chain *chain_lookup(const struct table *table, const struct handle *h); extern const char *family2str(unsigned int family); +extern void chain_print_plain(const struct chain *chain); /** * struct rule - nftables rule diff --git a/src/rule.c b/src/rule.c index accff0fa..858149ed 100644 --- a/src/rule.c +++ b/src/rule.c @@ -401,6 +401,20 @@ static void chain_print(const struct chain *chain) printf("\t}\n"); } +void chain_print_plain(const struct chain *chain) +{ + printf("chain %s %s %s", family2str(chain->handle.family), + chain->handle.table, chain->handle.chain); + + if (chain->flags & CHAIN_F_BASECHAIN) { + printf(" { type %s hook %s priority %u; }", chain->type, + hooknum2str(chain->handle.family, chain->hooknum), + chain->priority); + } + + printf("\n"); +} + struct table *table_alloc(void) { struct table *table;