]> git.proxmox.com Git - mirror_frr.git/commit - ospf6d/ospf6_abr.c
ospf6d: Fix External routes ECMP
authorChirag Shah <chirag@cumulusnetworks.com>
Thu, 7 Dec 2017 02:20:48 +0000 (18:20 -0800)
committerChirag Shah <chirag@cumulusnetworks.com>
Tue, 2 Jan 2018 18:00:38 +0000 (10:00 -0800)
commit064d4355ca82c924ec928c67150f243f17f56139
tree33a399b265a4668270a6a857baf46b226aaaa29d
parentbaa68bca40d93e01d71f0e2723ef4ceddd3f6f97
ospf6d: Fix External routes ECMP

Handle RFC 2328 16.4 Calculating AS external routes with ECMP

For ASBR route, if it is learnt via new LSA and contains
different nexthop list. First lookup route in ospf6 route table
if it exists, merge nexthop list to existing and call the callback
to install into FIB (zebra). Delete created new route as it is
identical to existing entry in route table.

Ticket:CM-16139
Testing Done:
Run two ASBR with 2 ECMP paths from each
DUT neighbor receievs 4 ECMP path to a external route.
ospf6 installs all 4 ECMP path to FIB/RIB

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
ospf6d/ospf6_abr.c
ospf6d/ospf6_area.c
ospf6d/ospf6_asbr.c
ospf6d/ospf6_asbr.h
ospf6d/ospf6_intra.c
ospf6d/ospf6_memory.c
ospf6d/ospf6_memory.h
ospf6d/ospf6_route.c
ospf6d/ospf6_route.h
ospf6d/ospf6_spf.c
ospf6d/ospf6_top.c