Down to the point where expression parsing happens, the rule's table is not known anymore but relevant if set lookups are required. Signed-off-by: Phil Sutter <phil@xxxxxx> --- iptables/nft-shared.c | 1 + iptables/nft-shared.h | 1 + 2 files changed, 2 insertions(+) diff --git a/iptables/nft-shared.c b/iptables/nft-shared.c index a67302ee621ae..19630c1e2990c 100644 --- a/iptables/nft-shared.c +++ b/iptables/nft-shared.c @@ -597,6 +597,7 @@ void nft_rule_to_iptables_command_state(struct nft_handle *h, struct nft_xt_ctx ctx = { .cs = cs, .h = h, + .table = nftnl_rule_get_str(r, NFTNL_RULE_TABLE), }; iter = nftnl_expr_iter_create(r); diff --git a/iptables/nft-shared.h b/iptables/nft-shared.h index 684d7e40c3bf3..55e7f3c7c1da4 100644 --- a/iptables/nft-shared.h +++ b/iptables/nft-shared.h @@ -51,6 +51,7 @@ struct nft_xt_ctx { struct nftnl_expr_iter *iter; struct nft_handle *h; uint32_t flags; + const char *table; uint32_t reg; struct { -- 2.23.0