summaryrefslogtreecommitdiffstats
path: root/isisd/fabricd.c
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2020-08-24 20:27:15 +0200
committerRenato Westphal <renato@opensourcerouting.org>2020-08-27 01:16:19 +0200
commit75aa7aa1352a06c2045c027dc792f14c925aa3a3 (patch)
tree2bfb4586cb91a8ac1840eacf5d6ba75b0cbdbe93 /isisd/fabricd.c
parenttests, isisd: add IS-IS SPF unit tests (diff)
downloadfrr-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.c7
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,