Subject: Re: [RFC PATCH net-next v2 0/1] Add support of ECMPv6

From: Vincent Bernat <[email-masked]>
Date: Fri, 14 Sep 2012 11:40:07 +0200

❦ 14 septembre 2012 09:59 CEST, Nicolas Dichtel <[email-masked]> :

> Here is an example of a command to add an ECMP route:
> $ ip -6 route add 3ffe:304:124:2306::/64 \
> 	nexthop via fe80::230:1bff:feb4:e05c dev eth0 weight 1 \
> 	nexthop via fe80::230:1bff:feb4:dd4f dev eth0 weight 1

When displaying ECMP routes, the display is different than for IPv4: we
get two distinct routes instead of an ECMP route (with nexthop
keyword).

With IPv4:

193.252.X.X/26  proto zebra  metric 20 
	nexthop via 193.252.X.X  dev bae1 weight 1
	nexthop via 193.252.X.X  dev bae2 weight 1

With IPv6:

2a01:c9c0:X:X::/64 via fe80::215:17ff:fe85:76b9 dev bae1 metric 11 
2a01:c9c0:X:X::/64 via fe80::222:91ff:fe4e:b000 dev bae2 metric 11

If I capture the netlink message from the add command, put it in a file
and use "ip monitor file ...", I see this:

2a01:c9c0:X:X::/64
	nexthop via fe80::215:17ff:fe85:76b9  dev if12 weight 1
	nexthop via fe80::222:91ff:fe4e:b000  dev if11 weight 1

Therefore, the problem is not in iproute2 which knows how to display
those ECMP routes. I fear that this difference make support in routing
daemons more difficult.
-- 
Make the coupling between modules visible.
            - The Elements of Programming Style (Kernighan & Plauger)