summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorian Westphal <fw@strlen.de>2019-02-08 17:02:20 +0100
committerFlorian Westphal <fw@strlen.de>2019-02-08 21:22:33 +0100
commitcc6fef3521c2fdfba4b1daf7be09349e7d807ae1 (patch)
tree9f7c60cb06524e35789c7024aaf7d5250c22f987
parent68e76238749fb238bf92e7dc8903fed15a86aa1b (diff)
src: payload: export and use payload_expr_cmp
expr->ops is going away, so export payload cmp and use it directly. Signed-off-by: Florian Westphal <fw@strlen.de> Acked-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r--include/payload.h2
-rw-r--r--src/netlink_delinearize.c2
-rw-r--r--src/payload.c2
3 files changed, 4 insertions, 2 deletions
diff --git a/include/payload.h b/include/payload.h
index 161c64ae..a914d239 100644
--- a/include/payload.h
+++ b/include/payload.h
@@ -59,4 +59,6 @@ extern void payload_expr_expand(struct list_head *list, struct expr *expr,
extern void payload_expr_complete(struct expr *expr,
const struct proto_ctx *ctx);
+bool payload_expr_cmp(const struct expr *e1, const struct expr *e2);
+
#endif /* NFTABLES_PAYLOAD_H */
diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c
index d492910c..21c6858a 100644
--- a/src/netlink_delinearize.c
+++ b/src/netlink_delinearize.c
@@ -2371,7 +2371,7 @@ static void stmt_payload_binop_postprocess(struct rule_pp_ctx *ctx)
if (payload->ops->type != EXPR_PAYLOAD)
return;
- if (!payload->ops->cmp(stmt->payload.expr, payload))
+ if (!payload_expr_cmp(stmt->payload.expr, payload))
return;
mask = binop->right;
diff --git a/src/payload.c b/src/payload.c
index f638b0c0..5fd2a07b 100644
--- a/src/payload.c
+++ b/src/payload.c
@@ -54,7 +54,7 @@ static void payload_expr_print(const struct expr *expr, struct output_ctx *octx)
expr->payload.offset, expr->len);
}
-static bool payload_expr_cmp(const struct expr *e1, const struct expr *e2)
+bool payload_expr_cmp(const struct expr *e1, const struct expr *e2)
{
return e1->payload.desc == e2->payload.desc &&
e1->payload.tmpl == e2->payload.tmpl &&