diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2012-11-01 22:58:22 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-11-02 21:38:19 -0400 |
commit | 1a72418bd7f0edcb85c817964efd370254fe749d (patch) | |
tree | 7dca5eafc784425519789e9651cbd3cac78f9760 | |
parent | 2bc80059fe19229e68a306ce12f5e61e80b92c5c (diff) |
ipv6/multipath: remove flag NLM_F_EXCL after the first nexthop
fib6_add_rt2node() will reject the nexthop if this flag is set, so
we perform the check only for the first nexthop.
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | net/ipv6/route.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index c42650cf8d4..9c7b5d80049 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -2449,6 +2449,12 @@ beginning: goto beginning; } } + /* Because each route is added like a single route we remove + * this flag after the first nexthop (if there is a collision, + * we have already fail to add the first nexthop: + * fib6_add_rt2node() has reject it). + */ + cfg->fc_nlinfo.nlh->nlmsg_flags &= ~NLM_F_EXCL; rtnh = rtnh_next(rtnh, &remaining); } |