diff options
author | Renato Westphal <renato@opensourcerouting.org> | 2020-08-24 20:27:15 +0200 |
---|---|---|
committer | Renato Westphal <renato@opensourcerouting.org> | 2020-08-27 01:16:19 +0200 |
commit | 75aa7aa1352a06c2045c027dc792f14c925aa3a3 (patch) | |
tree | 2bfb4586cb91a8ac1840eacf5d6ba75b0cbdbe93 /isisd/fabricd.c | |
parent | tests, isisd: add IS-IS SPF unit tests (diff) | |
download | frr-75aa7aa1352a06c2045c027dc792f14c925aa3a3.tar.xz frr-75aa7aa1352a06c2045c027dc792f14c925aa3a3.zip |
isisd: add abiliy to compute the reverse shortest path tree
RFC 7490 says:
"The reverse SPF computes the cost from each remote node to root. This
is achieved by running the normal SPF algorithm but using the link
cost in the direction from the next hop back towards root in place of
the link cost in the direction away from root towards the next hop".
Support for reverse SPF will be necessary later as it's one of the
algorithms used to compute R-LFA/TI-LFA repair paths.
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'isisd/fabricd.c')
-rw-r--r-- | isisd/fabricd.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/isisd/fabricd.c b/isisd/fabricd.c index 2953ee681..1a081bbea 100644 --- a/isisd/fabricd.c +++ b/isisd/fabricd.c @@ -221,9 +221,10 @@ struct fabricd *fabricd_new(struct isis_area *area) rv->area = area; rv->initial_sync_state = FABRICD_SYNC_PENDING; - rv->spftree = isis_spftree_new(area, &area->lspdb[IS_LEVEL_2 - 1], - area->isis->sysid, ISIS_LEVEL2, - SPFTREE_IPV4, F_SPFTREE_HOPCOUNT_METRIC); + rv->spftree = + isis_spftree_new(area, &area->lspdb[IS_LEVEL_2 - 1], + area->isis->sysid, ISIS_LEVEL2, SPFTREE_IPV4, + SPF_TYPE_FORWARD, F_SPFTREE_HOPCOUNT_METRIC); rv->neighbors = skiplist_new(0, neighbor_entry_list_cmp, neighbor_entry_del_void); rv->neighbors_neighbors = hash_create(neighbor_entry_hash_key, |