From 1596bf929e28d9562116d9a6b3fa15f43d3acdfc Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Mon, 19 Oct 2020 13:24:37 +0200 Subject: expr: add nftnl_rule_del_expr() Add a function to remove expression from the rule list. Signed-off-by: Pablo Neira Ayuso --- include/libnftnl/rule.h | 1 + src/libnftnl.map | 1 + src/rule.c | 6 ++++++ 3 files changed, 8 insertions(+) diff --git a/include/libnftnl/rule.h b/include/libnftnl/rule.h index e5d1ca0..b6b93c6 100644 --- a/include/libnftnl/rule.h +++ b/include/libnftnl/rule.h @@ -51,6 +51,7 @@ uint32_t nftnl_rule_get_u32(const struct nftnl_rule *r, uint16_t attr); uint64_t nftnl_rule_get_u64(const struct nftnl_rule *r, uint16_t attr); void nftnl_rule_add_expr(struct nftnl_rule *r, struct nftnl_expr *expr); +void nftnl_rule_del_expr(struct nftnl_expr *expr); struct nlmsghdr; diff --git a/src/libnftnl.map b/src/libnftnl.map index 7937e05..2d35ace 100644 --- a/src/libnftnl.map +++ b/src/libnftnl.map @@ -372,4 +372,5 @@ LIBNFTNL_14 { LIBNFTNL_15 { nftnl_obj_get_data; nftnl_expr_build_payload; + nftnl_rule_del_expr; } LIBNFTNL_14; diff --git a/src/rule.c b/src/rule.c index 8d7e068..480afc8 100644 --- a/src/rule.c +++ b/src/rule.c @@ -330,6 +330,12 @@ void nftnl_rule_add_expr(struct nftnl_rule *r, struct nftnl_expr *expr) list_add_tail(&expr->head, &r->expr_list); } +EXPORT_SYMBOL(nftnl_rule_del_expr); +void nftnl_rule_del_expr(struct nftnl_expr *expr) +{ + list_del(&expr->head); +} + static int nftnl_rule_parse_attr_cb(const struct nlattr *attr, void *data) { const struct nlattr **tb = data; -- cgit v1.2.3