summaryrefslogtreecommitdiff
path: root/isisd/fabricd.c
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2020-08-24 15:27:15 -0300
committerRenato Westphal <renato@opensourcerouting.org>2020-08-26 20:16:19 -0300
commit75aa7aa1352a06c2045c027dc792f14c925aa3a3 (patch)
tree2bfb4586cb91a8ac1840eacf5d6ba75b0cbdbe93 /isisd/fabricd.c
parent52a7c25e63a3d62072aa4fb1ed415fe478ce2ef9 (diff)
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.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/isisd/fabricd.c b/isisd/fabricd.c
index 2953ee681c..1a081bbea6 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,