diff mbox series

[libnftnl] rule: add nftnl_rule_list_insert_at()

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

Commit Message

Pablo Neira Ayuso May 28, 2018, 7:27 p.m. UTC
Allow to add rule object before any existing rule.

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

Patch

diff --git a/include/libnftnl/rule.h b/include/libnftnl/rule.h
index 947994364bd8..765d2ce6e4ef 100644
--- a/include/libnftnl/rule.h
+++ b/include/libnftnl/rule.h
@@ -84,6 +84,7 @@  void nftnl_rule_list_free(struct nftnl_rule_list *list);
 int nftnl_rule_list_is_empty(const struct nftnl_rule_list *list);
 void nftnl_rule_list_add(struct nftnl_rule *r, struct nftnl_rule_list *list);
 void nftnl_rule_list_add_tail(struct nftnl_rule *r, struct nftnl_rule_list *list);
+void nftnl_rule_list_insert_at(struct nftnl_rule *r, struct nftnl_rule *pos);
 void nftnl_rule_list_del(struct nftnl_rule *r);
 int nftnl_rule_list_foreach(struct nftnl_rule_list *rule_list, int (*cb)(struct nftnl_rule *t, void *data), void *data);
 
diff --git a/src/libnftnl.map b/src/libnftnl.map
index a24fe9b4dae9..0d6b20c8f14b 100644
--- a/src/libnftnl.map
+++ b/src/libnftnl.map
@@ -342,3 +342,7 @@  LIBNFTNL_7 {
   nftnl_flowtable_list_foreach;
 
 } LIBNFTNL_6;
+
+LIBNFTNL_8 {
+  nftnl_rule_list_insert_at;
+} LIBNFTNL_7;
diff --git a/src/rule.c b/src/rule.c
index e4cba1f7a352..146b06ca91ef 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -986,6 +986,12 @@  void nftnl_rule_list_add(struct nftnl_rule *r, struct nftnl_rule_list *list)
 	list_add(&r->head, &list->list);
 }
 
+EXPORT_SYMBOL(nftnl_rule_list_insert_at);
+void nftnl_rule_list_insert_at(struct nftnl_rule *r, struct nftnl_rule *pos)
+{
+	list_add(&r->head, &pos->head);
+}
+
 EXPORT_SYMBOL(nftnl_rule_list_add_tail);
 void nftnl_rule_list_add_tail(struct nftnl_rule *r, struct nftnl_rule_list *list)
 {