On 1/29/17, 5:29 PM, David Ahern wrote: [snip] > Let's give an example for each case: > > 1. Add - full multipath route > > This route command: > ip -6 ro add vrf red 2001:db8:200::/120 nexthop via 2001:db8:1::2 nexthop via > 2001:db8:2::2 > > generates this notification (ip -t mon ro): > > 2001:db8:200::/120 table red metric 1024 > nexthop via 2001:db8:1::2 dev eth1 weight 1 > nexthop via 2001:db8:2::2 dev eth2 weight 1 >
ack, > 2. Delete - 1 notification for each hop for all combinations of delete > commands here I was trying to say, for people deleting the full multipath route, you should send a RTA_MULTIPATH. For the odd case of ipv6 single nexthop delete, you can continue to send a single nexthop delete (like today ..without RTA_MULTIPATH) because there is no other way to notify a single nexthop delete with a RTM_DELROUTE. The reason I say this is because: keeping future in mind, this will make things consistent for majority of people who will start using RTA_MULTIPATH for both ipv4 and ipv6 for adds and deletes (requests/notifications and dumps) the same way. single next hop delete will just be around because of fear of breaking existing applications. > > > 3. Replace - full multipath route > > This route command (with the one from Add case already in place): > ip -6 ro replace vrf red 2001:db8:200::/120 nexthop via 2001:db8:1::16 > nexthop via 2001:db8:2::16 > > generates a single notification: > > Replaced 2001:db8:200::/120 table red metric 1024 > nexthop via 2001:db8:1::16 dev eth1 weight 1 > nexthop via 2001:db8:2::16 dev eth2 weight 1 ack, > > 4. Append - 1 route after all hops are appended > > This append command (starting with the one installed from the Replace case): > ip -6 ro append vrf red 2001:db8:200::/120 nexthop via 2001:db8:2::20 nexthop > via 2001:db8:1::20 > > generates a single notification: > > Append 2001:db8:200::/120 table red metric 1024 > nexthop via 2001:db8:2::20 dev eth2 weight 1 > nexthop via 2001:db8:1::20 dev eth1 weight 1 > nexthop via 2001:db8:1::16 dev eth1 weight 1 > nexthop via 2001:db8:2::16 dev eth2 weight 1 > > (The Replaced and Append annotations are due to a local iproute2 patch; > iproute2 does > not currently distinguish NEWROUTE cases.) > ack, thanks