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 <p...@nwl.cc>
---
 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

Reply via email to