netfilter: nft_meta: extend reduce support to bridge family
authorFlorian Westphal <fw@strlen.de>
Mon, 14 Mar 2022 17:23:04 +0000 (18:23 +0100)
committerPablo Neira Ayuso <pablo@netfilter.org>
Sat, 19 Mar 2022 23:29:46 +0000 (00:29 +0100)
its enough to export the meta get reduce helper and then call it
from nft_meta_bridge too.

Signed-off-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
include/net/netfilter/nft_meta.h
net/bridge/netfilter/nft_meta_bridge.c
net/netfilter/nft_meta.c

index 246fd023dcf48fcc6ec93e92065501c553c8f482..9b51cc67de54396ab008e3c775cd94350d8d9e22 100644 (file)
@@ -44,4 +44,6 @@ int nft_meta_set_validate(const struct nft_ctx *ctx,
                          const struct nft_expr *expr,
                          const struct nft_data **data);
 
+bool nft_meta_get_reduce(struct nft_regs_track *track,
+                        const struct nft_expr *expr);
 #endif
index 380a31ebf8402d38a6bea6c8ea601c0fa6ab0e41..8c3eaba87ad2bb448f2ee396e90507693627714a 100644 (file)
@@ -99,6 +99,7 @@ static const struct nft_expr_ops nft_meta_bridge_get_ops = {
        .eval           = nft_meta_bridge_get_eval,
        .init           = nft_meta_bridge_get_init,
        .dump           = nft_meta_get_dump,
+       .reduce         = nft_meta_get_reduce,
 };
 
 static bool nft_meta_bridge_set_reduce(struct nft_regs_track *track,
index 482eed7c7bbfe6bfc2acfbb090cb60ece88c8e7e..ac4859241e17787337cf07d9d699334359fef1a9 100644 (file)
@@ -752,8 +752,8 @@ static int nft_meta_get_offload(struct nft_offload_ctx *ctx,
        return 0;
 }
 
-static bool nft_meta_get_reduce(struct nft_regs_track *track,
-                               const struct nft_expr *expr)
+bool nft_meta_get_reduce(struct nft_regs_track *track,
+                        const struct nft_expr *expr)
 {
        const struct nft_meta *priv = nft_expr_priv(expr);
        const struct nft_meta *meta;
@@ -775,6 +775,7 @@ static bool nft_meta_get_reduce(struct nft_regs_track *track,
 
        return nft_expr_reduce_bitwise(track, expr);
 }
+EXPORT_SYMBOL_GPL(nft_meta_get_reduce);
 
 static const struct nft_expr_ops nft_meta_get_ops = {
        .type           = &nft_meta_type,