From: Pablo Neira Ayuso Date: Mon, 28 May 2018 15:00:31 +0000 (+0200) Subject: rule: add nftnl_rule_list_insert_at() X-Git-Tag: libnftnl-1.1.1~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ce30532e00cc3acab473a57da98bfcfdab33da6;p=thirdparty%2Flibnftnl.git rule: add nftnl_rule_list_insert_at() Allow to add rule object before any existing rule. Signed-off-by: Pablo Neira Ayuso --- diff --git a/include/libnftnl/rule.h b/include/libnftnl/rule.h index 94799436..765d2ce6 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 a24fe9b4..0d6b20c8 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 e4cba1f7..146b06ca 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) {