diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/netlink.c | 2 | ||||
-rw-r--r-- | src/parser.y | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/src/netlink.c b/src/netlink.c index 54d92c42..0427f4ac 100644 --- a/src/netlink.c +++ b/src/netlink.c @@ -422,7 +422,7 @@ int netlink_add_chain(struct netlink_ctx *ctx, const struct handle *h, int err; nlc = alloc_nft_chain(h); - if (chain != NULL && (chain->hooknum || chain->priority)) { + if (chain != NULL && chain->flags & CHAIN_F_BASECHAIN) { nfnl_nft_chain_set_hooknum(nlc, chain->hooknum); nfnl_nft_chain_set_priority(nlc, chain->priority); } diff --git a/src/parser.y b/src/parser.y index f70b505d..8e3d3639 100644 --- a/src/parser.y +++ b/src/parser.y @@ -740,11 +740,13 @@ hook_spec : HOOK HOOKNUM NUM { $<chain>0->hooknum = $2; $<chain>0->priority = $3; + $<chain>0->flags |= CHAIN_F_BASECHAIN; } | HOOK HOOKNUM DASH NUM { $<chain>0->hooknum = $2; $<chain>0->priority = -$4; + $<chain>0->flags |= CHAIN_F_BASECHAIN; } ; |