summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2023-03-01 17:31:56 -0300
committerRenato Westphal <renato@opensourcerouting.org>2023-03-02 19:38:03 -0300
commit3d2533ed58d299b64505e055a824ab0396af9be4 (patch)
treef6ef6fe7ca35c1e594d35d5170c88b45f99d5b1a
parent5eb2c602aace233d7b0a7151f4739cc20cc6123c (diff)
ospf6d: fix missing intra-area-prefix-LSA after a graceful restart
Upon exiting the GR mode, force reorigination of intra-area-prefix-LSAs on all attached areas. This is to ensure all configured areas will have an associated intra-area-prefix-LSA at the end of the GR procedures, even if the area doesn't have any full adjacency. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
-rw-r--r--ospf6d/ospf6_gr.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ospf6d/ospf6_gr.c b/ospf6d/ospf6_gr.c
index 2e8bb025fb..847531361e 100644
--- a/ospf6d/ospf6_gr.c
+++ b/ospf6d/ospf6_gr.c
@@ -149,6 +149,12 @@ static void ospf6_gr_restart_exit(struct ospf6 *ospf6, const char *reason)
*/
OSPF6_ROUTER_LSA_EXECUTE(area);
+ /*
+ * Force reorigination of intra-area-prefix-LSAs to handle
+ * areas without any full adjacency.
+ */
+ OSPF6_INTRA_PREFIX_LSA_SCHEDULE_STUB(area);
+
for (ALL_LIST_ELEMENTS_RO(area->if_list, anode, oi)) {
/* Reoriginate Link-LSA. */
if (oi->type != OSPF_IFTYPE_VIRTUALLINK)