diff options
| author | Louis Scalbert <louis.scalbert@6wind.com> | 2022-05-27 10:37:08 +0200 | 
|---|---|---|
| committer | Louis Scalbert <louis.scalbert@6wind.com> | 2022-06-30 16:20:49 +0200 | 
| commit | cab7be7d5b1dfe6badb35160dd84bc9a10d33aa2 (patch) | |
| tree | 0e48968e946b4265f23b868576df1a32affa9e86 /isisd/isis_spf.c | |
| parent | 03c95c540f1884dcaf74a81bc309fc51547054dd (diff) | |
Revert "isisd: fix infinite loop when parsing LSPs"
This reverts commit 5e56a50559fd4a85f1912464e6e13d13969aa238.
Diffstat (limited to 'isisd/isis_spf.c')
| -rw-r--r-- | isisd/isis_spf.c | 28 | 
1 files changed, 8 insertions, 20 deletions
diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c index 09f92554c0..2d792a9c75 100644 --- a/isisd/isis_spf.c +++ b/isisd/isis_spf.c @@ -1400,13 +1400,14 @@ static void spf_adj_list_parse_tlv(struct isis_spftree *spftree,  		spf_adj_list_parse_lsp(spftree, adj_list, lsp, id, metric);  } -static void spf_adj_list_parse_lsp_frag(struct isis_spftree *spftree, -					struct list *adj_list, -					struct isis_lsp *lsp, -					const uint8_t *pseudo_nodeid, -					uint32_t pseudo_metric) +static void spf_adj_list_parse_lsp(struct isis_spftree *spftree, +				   struct list *adj_list, struct isis_lsp *lsp, +				   const uint8_t *pseudo_nodeid, +				   uint32_t pseudo_metric)  {  	bool pseudo_lsp = LSP_PSEUDO_ID(lsp->hdr.lsp_id); +	struct isis_lsp *frag; +	struct listnode *node;  	struct isis_item *head;  	struct isis_item_list *te_neighs; @@ -1444,27 +1445,14 @@ static void spf_adj_list_parse_lsp_frag(struct isis_spftree *spftree,  			}  		}  	} -} - - -static void spf_adj_list_parse_lsp(struct isis_spftree *spftree, -				   struct list *adj_list, struct isis_lsp *lsp, -				   const uint8_t *pseudo_nodeid, -				   uint32_t pseudo_metric) -{ -	struct isis_lsp *frag; -	struct listnode *node; - -	spf_adj_list_parse_lsp_frag(spftree, adj_list, lsp, pseudo_nodeid, -				    pseudo_metric);  	/* Parse LSP fragments. */  	for (ALL_LIST_ELEMENTS_RO(lsp->lspu.frags, node, frag)) {  		if (!frag->tlvs)  			continue; -		spf_adj_list_parse_lsp_frag(spftree, adj_list, frag, -					    pseudo_nodeid, pseudo_metric); +		spf_adj_list_parse_lsp(spftree, adj_list, frag, pseudo_nodeid, +				       pseudo_metric);  	}  }  | 
