From: Nicolas Dichtel <nicolas.dichtel@6wind.com>
To: Wilco Baan Hofman <wilco@baanhofman.nl>
Cc: netdev <netdev@vger.kernel.org>
Subject: Re: ECMP ipv6 vs ipv4
Date: Mon, 15 Apr 2013 17:51:46 +0200 [thread overview]
Message-ID: <516C2212.4030502@6wind.com> (raw)
In-Reply-To: <1366012728.4975.13.camel@localhost>
Le 15/04/2013 09:58, Wilco Baan Hofman a écrit :
> Hi,
>
> I'm working on a patch to implement 'nexthop weight' for multipath ipv6.
> However, the ECMPv6 implementation has a few flaws that are quite
> annoying.
>
> One of the flaws is that the netlink nexthop API is asymmetrical, you
> can add nexthops through the netlink API, but when the result is
> requested it is completely different, resulting in bird6 removing the
> route as it does not match the initial route set.
In fact, there is two ways to add ECMP routes:
$ ip -6 route add 3ffe:304:124:2306::/64 \
nexthop via fe80::230:1bff:feb4:e05c dev eth0 \
nexthop via fe80::230:1bff:feb4:dd4f dev eth0
or
$ ip -6 route add 3ffe:304:124:2306::/64 via fe80::230:1bff:feb4:dd4f dev
eth0
$ ip -6 route append 3ffe:304:124:2306::/64 via fe80::230:1bff:feb4:e05c dev
eth0
Note that the second way matchs what is returned by the kernel (ie one entry per
nexthop).
>
> Another one of the flaws is that if I add nexthop weight or algorithm
> (weighted hash or weighted random) I need to add this to the main rt
> node, this seems like an inefficient memory structure, as this needs to
> be added to all the siblings as well.
Nexthop weight (rtnh->rtnh_hops) is not implemented.
>
> I propose that we have a nexthop structure to an exclusive route,
> similar what we have for IPv4, where we store the gateway, device and
> weight for all nexthops and the algorithm in the route. This would make
> the netlink API symmetrical again and fixes the n*n inefficiencies when
> adding routes (all siblings need to know about all siblings).
>
> What are your thoughts on this?
>
> Regards,
>
> Wilco Baan Hofman
>
> --
> To unsubscribe from this list: send the line "unsubscribe netdev" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>
next prev parent reply other threads:[~2013-04-15 15:51 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-15 7:58 ECMP ipv6 vs ipv4 Wilco Baan Hofman
2013-04-15 15:51 ` Nicolas Dichtel [this message]
2013-04-15 16:53 ` Wilco Baan Hofman
2013-04-17 9:03 ` Nicolas Dichtel
2013-04-17 13:16 ` Wilco Baan Hofman
2013-04-17 14:14 ` Nicolas Dichtel
2013-04-17 15:22 ` Wilco Baan Hofman
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=516C2212.4030502@6wind.com \
--to=nicolas.dichtel@6wind.com \
--cc=netdev@vger.kernel.org \
--cc=wilco@baanhofman.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.