diff options
| author | Renato Westphal <renato@opensourcerouting.org> | 2020-08-24 15:27:15 -0300 | 
|---|---|---|
| committer | Renato Westphal <renato@opensourcerouting.org> | 2020-08-26 20:16:19 -0300 | 
| commit | 75aa7aa1352a06c2045c027dc792f14c925aa3a3 (patch) | |
| tree | 2bfb4586cb91a8ac1840eacf5d6ba75b0cbdbe93 /isisd/fabricd.c | |
| parent | 52a7c25e63a3d62072aa4fb1ed415fe478ce2ef9 (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.c | 7 | 
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,  | 
