]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
nft: pass struct nft_xt_ctx to parse_meta()
authorPablo Neira Ayuso <pablo@netfilter.org>
Sun, 24 Apr 2022 19:34:47 +0000 (21:34 +0200)
committerPablo Neira Ayuso <pablo@netfilter.org>
Mon, 2 May 2022 11:16:28 +0000 (13:16 +0200)
In preparation for native mark match support.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
iptables/nft-arp.c
iptables/nft-bridge.c
iptables/nft-ipv4.c
iptables/nft-ipv6.c
iptables/nft-shared.c
iptables/nft-shared.h

index 028b06a608e4eb508aa585066cb7dfc69af00f3f..89e6413441e25843cbf4f6fac4e5abb12e1e193f 100644 (file)
@@ -174,7 +174,7 @@ static void nft_arp_parse_meta(struct nft_xt_ctx *ctx, struct nftnl_expr *e,
        struct arpt_entry *fw = &cs->arp;
        uint8_t flags = 0;
 
-       parse_meta(e, ctx->meta.key, fw->arp.iniface, fw->arp.iniface_mask,
+       parse_meta(ctx, e, ctx->meta.key, fw->arp.iniface, fw->arp.iniface_mask,
                   fw->arp.outiface, fw->arp.outiface_mask,
                   &flags);
 
index d4b66a25c740e4101855ae7ec07391491bf89a95..097ef6e16827b148c66a266c7532e741b2b44604 100644 (file)
@@ -171,7 +171,7 @@ static void nft_bridge_parse_meta(struct nft_xt_ctx *ctx,
        uint8_t invflags = 0;
        char iifname[IFNAMSIZ] = {}, oifname[IFNAMSIZ] = {};
 
-       parse_meta(e, ctx->meta.key, iifname, NULL, oifname, NULL, &invflags);
+       parse_meta(ctx, e, ctx->meta.key, iifname, NULL, oifname, NULL, &invflags);
 
        switch (ctx->meta.key) {
        case NFT_META_BRI_IIFNAME:
index af3d0c98b79899d7db178566d15fa90b57b2339e..cf03edfae9ac36ac31babeaecf9e10ae83e4cc96 100644 (file)
@@ -144,7 +144,7 @@ static void nft_ipv4_parse_meta(struct nft_xt_ctx *ctx, struct nftnl_expr *e,
                break;
        }
 
-       parse_meta(e, ctx->meta.key, cs->fw.ip.iniface, cs->fw.ip.iniface_mask,
+       parse_meta(ctx, e, ctx->meta.key, cs->fw.ip.iniface, cs->fw.ip.iniface_mask,
                   cs->fw.ip.outiface, cs->fw.ip.outiface_mask,
                   &cs->fw.ip.invflags);
 }
index 892a485415933aa26819d58fb0bacb5781b492e6..5b767a4059e658a06d705b080e6bb5a33d43535b 100644 (file)
@@ -117,7 +117,7 @@ static void nft_ipv6_parse_meta(struct nft_xt_ctx *ctx, struct nftnl_expr *e,
                break;
        }
 
-       parse_meta(e, ctx->meta.key, cs->fw6.ipv6.iniface,
+       parse_meta(ctx, e, ctx->meta.key, cs->fw6.ipv6.iniface,
                   cs->fw6.ipv6.iniface_mask, cs->fw6.ipv6.outiface,
                   cs->fw6.ipv6.outiface_mask, &cs->fw6.ipv6.invflags);
 }
index b3993211c79d0f612b037024f877db2bc67fc3cf..5b13b29c98445ab3154a624c43c9ff16217de055 100644 (file)
@@ -261,9 +261,9 @@ static void parse_ifname(const char *name, unsigned int len, char *dst, unsigned
                memset(mask, 0xff, len - 2);
 }
 
-int parse_meta(struct nftnl_expr *e, uint8_t key, char *iniface,
-               unsigned char *iniface_mask, char *outiface,
-               unsigned char *outiface_mask, uint8_t *invflags)
+int parse_meta(struct nft_xt_ctx *ctx, struct nftnl_expr *e, uint8_t key,
+              char *iniface, unsigned char *iniface_mask,
+              char *outiface, unsigned char *outiface_mask, uint8_t *invflags)
 {
        uint32_t value;
        const void *ifname;
index 7b337943836a4c685a9d7a66c1444524d183b612..092958cd67fab45358b88ead1fe6a8c8242b019f 100644 (file)
@@ -156,9 +156,9 @@ bool is_same_interfaces(const char *a_iniface, const char *a_outiface,
                        unsigned const char *b_iniface_mask,
                        unsigned const char *b_outiface_mask);
 
-int parse_meta(struct nftnl_expr *e, uint8_t key, char *iniface,
-               unsigned char *iniface_mask, char *outiface,
-               unsigned char *outiface_mask, uint8_t *invflags);
+int parse_meta(struct nft_xt_ctx *ctx, struct nftnl_expr *e, uint8_t key,
+              char *iniface, unsigned char *iniface_mask, char *outiface,
+              unsigned char *outiface_mask, uint8_t *invflags);
 void get_cmp_data(struct nftnl_expr *e, void *data, size_t dlen, bool *inv);
 void nft_rule_to_iptables_command_state(struct nft_handle *h,
                                        const struct nftnl_rule *r,