From: Pablo Neira Ayuso Date: Wed, 13 Apr 2022 02:01:16 +0000 (+0200) Subject: mnl: update mnl_nft_setelem_del() to allow for more reuse X-Git-Tag: v1.0.3~27 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7b061e6376f52999a631f4c5784588c976f47b9c;p=thirdparty%2Fnftables.git mnl: update mnl_nft_setelem_del() to allow for more reuse Pass handle and element list as parameters to allow for code reuse. Signed-off-by: Pablo Neira Ayuso --- diff --git a/include/mnl.h b/include/mnl.h index a4abe1ae..4c701d4e 100644 --- a/include/mnl.h +++ b/include/mnl.h @@ -62,7 +62,8 @@ struct nftnl_set_list *mnl_nft_set_dump(struct netlink_ctx *ctx, int family, int mnl_nft_setelem_add(struct netlink_ctx *ctx, const struct set *set, const struct expr *expr, unsigned int flags); -int mnl_nft_setelem_del(struct netlink_ctx *ctx, const struct cmd *cmd); +int mnl_nft_setelem_del(struct netlink_ctx *ctx, const struct handle *h, + const struct expr *init); int mnl_nft_setelem_flush(struct netlink_ctx *ctx, const struct cmd *cmd); int mnl_nft_setelem_get(struct netlink_ctx *ctx, struct nftnl_set *nls); struct nftnl_set *mnl_nft_setelem_get_one(struct netlink_ctx *ctx, diff --git a/src/mnl.c b/src/mnl.c index e83e0a16..7dd77be1 100644 --- a/src/mnl.c +++ b/src/mnl.c @@ -1728,9 +1728,9 @@ int mnl_nft_setelem_flush(struct netlink_ctx *ctx, const struct cmd *cmd) return 0; } -int mnl_nft_setelem_del(struct netlink_ctx *ctx, const struct cmd *cmd) +int mnl_nft_setelem_del(struct netlink_ctx *ctx, const struct handle *h, + const struct expr *init) { - const struct handle *h = &cmd->handle; struct nftnl_set *nls; int err; @@ -1748,7 +1748,7 @@ int mnl_nft_setelem_del(struct netlink_ctx *ctx, const struct cmd *cmd) netlink_dump_set(nls, ctx); err = mnl_nft_setelem_batch(nls, ctx->batch, NFT_MSG_DELSETELEM, 0, - ctx->seqnum, cmd->expr, ctx); + ctx->seqnum, init, ctx); nftnl_set_free(nls); return err; diff --git a/src/rule.c b/src/rule.c index 89f1304b..44e1febf 100644 --- a/src/rule.c +++ b/src/rule.c @@ -1601,7 +1601,7 @@ static int do_delete_setelems(struct netlink_ctx *ctx, struct cmd *cmd) set_to_intervals(set, expr, false) < 0) return -1; - if (mnl_nft_setelem_del(ctx, cmd) < 0) + if (mnl_nft_setelem_del(ctx, &cmd->handle, cmd->elem.expr) < 0) return -1; return 0;