[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20121025092526.5bb0a7ca@nehalam.linuxnetplumber.net>
Date: Thu, 25 Oct 2012 09:25:26 -0700
From: Stephen Hemminger <shemminger@...tta.com>
To: nicolas.dichtel@...nd.com
Cc: netdev@...r.kernel.org, joe@...ches.com, bernat@...fy.cx,
eric.dumazet@...il.com, yoshfuji@...ux-ipv6.org,
davem@...emloft.net
Subject: Re: [PATCH iproute2 2/2] ip: remove NLM_F_EXCL in case of ECMPv6
routes
On Thu, 25 Oct 2012 18:20:49 +0200
Nicolas Dichtel <nicolas.dichtel@...nd.com> wrote:
> Le 25/10/2012 18:06, Stephen Hemminger a écrit :
> > On Tue, 23 Oct 2012 14:42:56 +0200
> > Nicolas Dichtel <nicolas.dichtel@...nd.com> 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 <nicolas.dichtel@...nd.com>
> >> ---
> >> 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?
> >
> In IPv4, the message is treating in one shot, because all nexthops are added in
> the route. In IPv6, each nexthop is added like a single route and then they are
> linked together.
So it is a fundamental design flaw in how either v4 or v6 was implemented in
the kernel?
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists