summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Franke <chris@opensourcerouting.org>2017-01-06 20:19:40 +0100
committerChristian Franke <chris@opensourcerouting.org>2017-01-06 20:21:02 +0100
commit07f2fb1374661390f48bc1fd748b5a72ecd4f60b (patch)
tree213fe025e7062a9a27cab7a08ffbd53b77691ad3
parent4fedc05c8895ae5400a13c17b7d75b9689bf5c88 (diff)
isisd: clean up own LSPs correctly on update
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
-rw-r--r--isisd/isis_lsp.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/isisd/isis_lsp.c b/isisd/isis_lsp.c
index dedf2a71dd..c13bcc5d8a 100644
--- a/isisd/isis_lsp.c
+++ b/isisd/isis_lsp.c
@@ -550,6 +550,14 @@ lsp_update (struct isis_lsp *lsp, struct stream *stream,
if (dnode)
dnode_destroy (dict_delete (area->lspdb[level - 1], dnode));
+ if (lsp->own_lsp)
+ {
+ zlog_err("ISIS-Upd (%s): BUG updating LSP %s still marked as own LSP",
+ area->area_tag, rawlspid_print(lsp->lsp_header->lsp_id));
+ lsp_clear_data(lsp);
+ lsp->own_lsp = 0;
+ }
+
/* rebuild the lsp data */
lsp_update_data (lsp, stream, area, level);