]> git.puffer.fish Git - matthieu/frr.git/commit
ospf6d: fix intra prefix ecmp
authorChirag Shah <chirag@cumulusnetworks.com>
Mon, 23 Apr 2018 22:21:33 +0000 (15:21 -0700)
committerChirag Shah <chirag@cumulusnetworks.com>
Tue, 1 May 2018 23:29:21 +0000 (16:29 -0700)
commit6942698da457dd8da4b5d16ecdf7bb24d1d80096
tree4e2d113b8d901e1d4abd23f150203633e1787e49
parent4fb6f519289a3e8bf7f72f86fe5cde6f5a3034b6
ospf6d: fix intra prefix ecmp

When there are multiple advertisers/paths to reach
Intra-Prefix route, if any path is removed,
re-added back, it does add to the same route node.

ospf6 intra prefix, first stored in oa->route_table
then as part of add cb, it would add to ospf6->route_table
which adds to FIB.

When copying a route with its paths & NHs from oa->table to
ospf6->table the path origin should not be modified otherwise
ospf6->table would not find existing node rather it appends
new node.

Use spf_table to fetch nexthops for a given advertisers/path,
to form effective nexthop list for a route.

Ticket:CM-16139
Testing Done:
    R2 ---- R3
     |       |
    R1 ---- R4
Inject Intra Ara Prefix LSA from R1 & R3, validate R2 and R4
having two origination point/paths to reach for a route.
Trigger link flap, frr restart or remove/readd R3's INP one of the
injection point.
Remove link between R4 to R1 and validate R3 carrying single
path to reach prefix.

Signed-off-by: Chirag Shah <chirag@cumulusnetworks.com>
ospf6d/ospf6_intra.c
ospf6d/ospf6_route.c
ospf6d/ospf6_route.h