diff options
author | Phil Sutter <phil@nwl.cc> | 2019-01-14 17:42:50 +0100 |
---|---|---|
committer | Pablo Neira Ayuso <pablo@netfilter.org> | 2019-01-14 22:34:16 +0100 |
commit | 278a3b779a731b3565595259b07b9065f6a6f425 (patch) | |
tree | b3dd9f726d3775a0196a254978cd088b346463c2 | |
parent | de5a23d26828a1e1f2d3351b0414925857546496 (diff) |
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 <phil@nwl.cc>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
-rw-r--r-- | include/libnftnl/chain.h | 1 | ||||
-rw-r--r-- | src/chain.c | 6 | ||||
-rw-r--r-- | src/libnftnl.map | 1 |
3 files changed, 8 insertions, 0 deletions
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 @@ -444,6 +444,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; |