Merge pull request #17044 from baozhen-H3C/202410091476

isisd: Lsp fragments will delete the corresponding dyn_cache entry.
This commit is contained in:
Donald Sharp 2024-10-10 18:41:27 -04:00 committed by GitHub
commit 1014901021
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -119,6 +119,10 @@ static void lsp_destroy(struct isis_lsp *lsp)
lsp_clear_data(lsp); lsp_clear_data(lsp);
if (!LSP_FRAGMENT(lsp->hdr.lsp_id)) { if (!LSP_FRAGMENT(lsp->hdr.lsp_id)) {
/* Only non-pseudo nodes and non-fragment LSPs can delete nodes. */
if (!LSP_PSEUDO_ID(lsp->hdr.lsp_id))
isis_dynhn_remove(lsp->area->isis, lsp->hdr.lsp_id);
if (lsp->lspu.frags) { if (lsp->lspu.frags) {
lsp_remove_frags(&lsp->area->lspdb[lsp->level - 1], lsp_remove_frags(&lsp->area->lspdb[lsp->level - 1],
lsp->lspu.frags); lsp->lspu.frags);
@ -2209,10 +2213,6 @@ void lsp_tick(struct event *thread)
&area->lspdb[level], &area->lspdb[level],
next); next);
if (!LSP_PSEUDO_ID(lsp->hdr.lsp_id))
isis_dynhn_remove(area->isis,
lsp->hdr.lsp_id);
lspdb_del(&area->lspdb[level], lsp); lspdb_del(&area->lspdb[level], lsp);
lsp_destroy(lsp); lsp_destroy(lsp);
lsp = NULL; lsp = NULL;