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 246fd02..9b51cc6 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 380a31e..8c3eaba 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 482eed7..ac48592 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,