nft_trans_rule
container_of(trans, struct nft_trans_rule, nft_trans)
nf_tables_rule_destroy(&ctx, nft_trans_rule(trans));
nft_clear(net, nft_trans_rule(trans));
nf_tables_rule_notify(&ctx, nft_trans_rule(trans),
list_del_rcu(&nft_trans_rule(trans)->list);
nf_tables_rule_notify(&ctx, nft_trans_rule(trans),
nft_rule_expr_deactivate(&ctx, nft_trans_rule(trans),
nf_tables_rule_destroy(&ctx, nft_trans_rule(trans));
list_del_rcu(&nft_trans_rule(trans)->list);
nft_trans_rule(trans),
nft_clear(trans->net, nft_trans_rule(trans));
nft_rule_expr_activate(&ctx, nft_trans_rule(trans));
BUILD_BUG_ON(offsetof(struct nft_trans_rule, nft_trans) != 0);
return nft_trans_rule(trans);
trans = nft_trans_alloc(ctx, msg_type, sizeof(struct nft_trans_rule));
nft_trans_rule(trans) = rule;
nft_trans_rule(trans),
nft_trans_rule(trans),
nft_trans_rule(trans),
nft_trans_rule(trans),