net: ipv6: add NLM_F_APPEND in notifications when applicable
authorDavid Ahern <dsa@cumulusnetworks.com>
Wed, 1 Feb 2017 00:51:37 +0000 (16:51 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 1 Feb 2017 17:13:52 +0000 (12:13 -0500)
IPv6 does not set the NLM_F_APPEND flag in notifications to signal that
a NEWROUTE is an append versus a new route or a replaced one. Add the
flag if the request has it.

Signed-off-by: David Ahern <dsa@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/ip6_fib.c

index ef54852..febde6c 100644 (file)
@@ -746,6 +746,9 @@ static int fib6_add_rt2node(struct fib6_node *fn, struct rt6_info *rt,
        u16 nlflags = NLM_F_EXCL;
        int err;
 
+       if (info->nlh && (info->nlh->nlmsg_flags & NLM_F_APPEND))
+               nlflags |= NLM_F_APPEND;
+
        ins = &fn->leaf;
 
        for (iter = fn->leaf; iter; iter = iter->dst.rt6_next) {