Lines Matching refs:chain
74 struct nft_chain *chain = priv->data.verdict.chain;
79 err = nf_tables_bind_chain(ctx, chain);
101 struct nft_chain *chain;
108 chain = data->verdict.chain;
109 if (!nft_chain_binding(chain))
113 chain_ctx.chain = chain;
115 list_for_each_entry(rule, &chain->rules, list)
118 nft_clear(ctx->net, chain);
129 struct nft_chain *chain,
136 chain_ctx.chain = chain;
138 list_for_each_entry(rule, &chain->rules, list)
148 struct nft_chain *chain;
154 chain = data->verdict.chain;
155 if (!nft_chain_binding(chain))
160 nf_tables_unbind_chain(ctx, chain);
161 nft_deactivate_next(ctx->net, chain);
164 nft_immediate_chain_deactivate(ctx, chain, phase);
165 nft_deactivate_next(ctx->net, chain);
168 nft_immediate_chain_deactivate(ctx, chain, phase);
169 nft_chain_del(chain);
170 chain->bound = false;
171 nft_use_dec(&chain->table->use);
193 struct nft_chain *chain;
201 chain = data->verdict.chain;
203 if (!nft_chain_binding(chain))
206 /* Rule construction failed, but chain is already bound:
207 * let the transaction records release this chain and its rules.
209 if (chain->bound) {
210 nft_use_dec(&chain->use);
214 /* Rule has been deleted, release chain and its rules. */
216 chain_ctx.chain = chain;
218 nft_use_dec(&chain->use);
219 list_for_each_entry_safe(rule, n, &chain->rules, list) {
220 nft_use_dec(&chain->use);
264 err = nft_chain_validate(ctx, data->verdict.chain);