diff options
author | Chirag Shah <chirag@cumulusnetworks.com> | 2017-12-07 03:20:48 +0100 |
---|---|---|
committer | Chirag Shah <chirag@cumulusnetworks.com> | 2018-01-02 19:00:38 +0100 |
commit | 064d4355ca82c924ec928c67150f243f17f56139 (patch) | |
tree | 33a399b265a4668270a6a857baf46b226aaaa29d /ospf6d/ospf6_asbr.h | |
parent | Merge pull request #1584 from donaldsharp/1575_fix (diff) | |
download | frr-064d4355ca82c924ec928c67150f243f17f56139.tar.xz frr-064d4355ca82c924ec928c67150f243f17f56139.zip |
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>
Diffstat (limited to 'ospf6d/ospf6_asbr.h')
-rw-r--r-- | ospf6d/ospf6_asbr.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/ospf6d/ospf6_asbr.h b/ospf6d/ospf6_asbr.h index 73053452e..7f4665ac2 100644 --- a/ospf6d/ospf6_asbr.h +++ b/ospf6d/ospf6_asbr.h @@ -93,5 +93,7 @@ extern void ospf6_asbr_send_externals_to_area(struct ospf6_area *); extern int config_write_ospf6_debug_asbr(struct vty *vty); extern void install_element_ospf6_debug_asbr(void); +extern void ospf6_asbr_update_route_ecmp_path(struct ospf6_route *old, + struct ospf6_route *route); #endif /* OSPF6_ASBR_H */ |