summaryrefslogtreecommitdiffstats
path: root/src/netlink.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2012-12-14 17:50:10 +0100
committerPatrick McHardy <kaber@trash.net>2012-12-14 17:50:10 +0100
commita70369ceaef764e2bfb83b011973e7bde6b463fb (patch)
tree2dfc46ede53d971c163a03db811986704d2827c7 /src/netlink.c
parenta5dadd72bef79d92c14271fb8718a13f0e7f3814 (diff)
rule: add rule insertion (prepend) support
Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'src/netlink.c')
-rw-r--r--src/netlink.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/netlink.c b/src/netlink.c
index 53ef2ba9..4c60c4a2 100644
--- a/src/netlink.c
+++ b/src/netlink.c
@@ -293,7 +293,7 @@ struct expr *netlink_alloc_data(const struct location *loc,
}
int netlink_add_rule(struct netlink_ctx *ctx, const struct handle *h,
- const struct rule *rule)
+ const struct rule *rule, uint32_t flags)
{
struct nfnl_nft_rule *nlr;
int err;
@@ -301,7 +301,7 @@ int netlink_add_rule(struct netlink_ctx *ctx, const struct handle *h,
nlr = alloc_nft_rule(&rule->handle);
err = netlink_linearize_rule(ctx, nlr, rule);
if (err == 0) {
- err = nfnl_nft_rule_add(nf_sock, nlr, NLM_F_EXCL | NLM_F_APPEND);
+ err = nfnl_nft_rule_add(nf_sock, nlr, flags | NLM_F_EXCL);
if (err < 0)
netlink_io_error(ctx, &rule->location,
"Could not add rule: %s", nl_geterror(err));