From 278a3b779a731b3565595259b07b9065f6a6f425 Mon Sep 17 00:00:00 2001 From: Phil Sutter Date: Mon, 14 Jan 2019 17:42:50 +0100 Subject: src: chain: Fix nftnl_chain_rule_insert_at() Extrapolating from iptables nomenclature, one would expect that "insert" means to prepend the new item to the referenced one, not append. Change nftnl_chain_rule_insert_at() to do just that and introduce nftnl_chain_rule_append_at() to insert a rule after the referenced one. Signed-off-by: Phil Sutter Signed-off-by: Pablo Neira Ayuso --- include/libnftnl/chain.h | 1 + src/chain.c | 6 ++++++ src/libnftnl.map | 1 + 3 files changed, 8 insertions(+) diff --git a/include/libnftnl/chain.h b/include/libnftnl/chain.h index 163a824..31b48cf 100644 --- a/include/libnftnl/chain.h +++ b/include/libnftnl/chain.h @@ -59,6 +59,7 @@ void nftnl_chain_rule_add(struct nftnl_rule *rule, struct nftnl_chain *c); void nftnl_chain_rule_del(struct nftnl_rule *rule); void nftnl_chain_rule_add_tail(struct nftnl_rule *rule, struct nftnl_chain *c); void nftnl_chain_rule_insert_at(struct nftnl_rule *rule, struct nftnl_rule *pos); +void nftnl_chain_rule_append_at(struct nftnl_rule *rule, struct nftnl_rule *pos); struct nlmsghdr; diff --git a/src/chain.c b/src/chain.c index 5f8eb5c..26f9b9d 100644 --- a/src/chain.c +++ b/src/chain.c @@ -443,6 +443,12 @@ void nftnl_chain_rule_add_tail(struct nftnl_rule *rule, struct nftnl_chain *c) EXPORT_SYMBOL(nftnl_chain_rule_insert_at); void nftnl_chain_rule_insert_at(struct nftnl_rule *rule, struct nftnl_rule *pos) +{ + list_add_tail(&rule->head, &pos->head); +} + +EXPORT_SYMBOL(nftnl_chain_rule_append_at); +void nftnl_chain_rule_append_at(struct nftnl_rule *rule, struct nftnl_rule *pos) { list_add(&rule->head, &pos->head); } diff --git a/src/libnftnl.map b/src/libnftnl.map index 0dad6a2..192eef8 100644 --- a/src/libnftnl.map +++ b/src/libnftnl.map @@ -342,6 +342,7 @@ LIBNFTNL_12 { nftnl_chain_rule_add_tail; nftnl_chain_rule_del; nftnl_chain_rule_insert_at; + nftnl_chain_rule_append_at; nftnl_rule_foreach; nftnl_rule_iter_create; nftnl_rule_iter_next; -- cgit v1.2.3