diff --git a/isisd/isis_spf.c b/isisd/isis_spf.c index 2d792a9c75ea..3aef8ada24bf 100644 --- a/isisd/isis_spf.c +++ b/isisd/isis_spf.c @@ -1414,7 +1414,7 @@ static void spf_adj_list_parse_lsp(struct isis_spftree *spftree, if (lsp->hdr.seqno == 0 || lsp->hdr.rem_lifetime == 0) return; - /* Parse main LSP. */ + /* Parse LSP. */ if (lsp->tlvs) { if (pseudo_lsp || spftree->mtid == ISIS_MT_IPV4_UNICAST) { head = lsp->tlvs->oldstyle_reach.head; @@ -1446,6 +1446,9 @@ static void spf_adj_list_parse_lsp(struct isis_spftree *spftree, } } + if (LSP_FRAGMENT(lsp->hdr.lsp_id)) + return; + /* Parse LSP fragments. */ for (ALL_LIST_ELEMENTS_RO(lsp->lspu.frags, node, frag)) { if (!frag->tlvs)