diff mbox series

[libnftnl] expr: add nftnl_rule_del_expr()

Message ID 20201019124913.6938-1-pablo@netfilter.org
State Accepted
Delegated to: Pablo Neira
Headers show
Series [libnftnl] expr: add nftnl_rule_del_expr() | expand

Commit Message

Pablo Neira Ayuso Oct. 19, 2020, 12:49 p.m. UTC
Add a function to remove expression from the rule list.

Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
---
 include/libnftnl/rule.h | 1 +
 src/libnftnl.map        | 1 +
 src/rule.c              | 6 ++++++
 3 files changed, 8 insertions(+)
diff mbox series

Patch

diff --git a/include/libnftnl/rule.h b/include/libnftnl/rule.h
index e5d1ca0534b7..b6b93c62b840 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 7937e05b669d..2d35ace0355b 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 8d7e0681cb42..480afc8ffc1b 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;