Subject: Re: [PATCH iproute2 2/2] ip: remove NLM_F_EXCL in case of ECMPv6 routes

From: Stephen Hemminger <[email-masked]>
Date: Thu, 25 Oct 2012 09:06:28 -0700

On Tue, 23 Oct 2012 14:42:56 +0200
Nicolas Dichtel <[email-masked]> wrote:

> ECMPv6 routes are added each one after the other by the kernel, so we should
> avoid to set the flag NLM_F_EXCL.
> 
> Signed-off-by: Nicolas Dichtel <[email-masked]>
> ---
>  ip/iproute.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/ip/iproute.c b/ip/iproute.c
> index c60156f..799a70e 100644
> --- a/ip/iproute.c
> +++ b/ip/iproute.c
> @@ -694,8 +694,11 @@ int parse_nexthops(struct nlmsghdr *n, struct rtmsg *r, int argc, char **argv)
>  		rtnh = RTNH_NEXT(rtnh);
>  	}
>  
> -	if (rta->rta_len > RTA_LENGTH(0))
> +	if (rta->rta_len > RTA_LENGTH(0)) {
>  		addattr_l(n, 1024, RTA_MULTIPATH, RTA_DATA(rta), RTA_PAYLOAD(rta));
> +		if (r->rtm_family == AF_INET6)
> +			n->nlmsg_flags &= ~NLM_F_EXCL;
> +	}
>  	return 0;
>  }
>  

Shouldn't this be true for multipath IPv4 as well?