summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/netlink.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/netlink.c b/src/netlink.c
index 5308aea1..025566ad 100644
--- a/src/netlink.c
+++ b/src/netlink.c
@@ -953,11 +953,10 @@ int netlink_delete_setelems(struct netlink_ctx *ctx, const struct handle *h,
return err;
}
-static int list_setelem_cb(struct nft_set_elem *nlse, void *arg)
+static int netlink_delinearize_setelem(struct nft_set_elem *nlse,
+ struct set *set)
{
struct nft_data_delinearize nld;
- struct netlink_ctx *ctx = arg;
- struct set *set = ctx->set;
struct expr *expr, *data;
uint32_t flags = 0;
@@ -1001,6 +1000,12 @@ out:
return 0;
}
+static int list_setelem_cb(struct nft_set_elem *nlse, void *arg)
+{
+ struct netlink_ctx *ctx = arg;
+ return netlink_delinearize_setelem(nlse, ctx->set);
+}
+
extern void interval_map_decompose(struct expr *set);
int netlink_get_setelems(struct netlink_ctx *ctx, const struct handle *h,