]> git.puffer.fish Git - matthieu/frr.git/commitdiff
ospfd: Summary LSA is not originated when process is reset
authorMobashshera Rasool <mrasool@vmware.com>
Wed, 1 Sep 2021 09:11:48 +0000 (02:11 -0700)
committermergify-bot <noreply@mergify.io>
Tue, 7 Sep 2021 16:14:36 +0000 (16:14 +0000)
Problem Statement:
==================
Summary LSA is not originated when router-id is modified or process is reset

Root Cause Analysis:
====================
When router-id is modified or process is cleared, all the external LSAs are
 flushed then LSA is re-originated using ospf_external_lsa_rid_change
When the LSAs are flushed, the aggregate flags are not reset.

Fix:
===============
Reset the aggregation flag when the LSAs
 are flushed.

Signed-off-by: Mobashshera Rasool <mrasool@vmware.com>
(cherry picked from commit 8fb693a4cd867f58fb316e5329e27605c2930a6e)

ospfd/ospfd.c

index 34008e8399be2ce9ba71412fcdd4cc5761cdfc5b..f574ca995ce29b8fb6bb77f882bed615ab5d4995 100644 (file)
@@ -222,6 +222,9 @@ void ospf_process_refresh_data(struct ospf *ospf, bool reset)
                        ospf_lsdb_delete_all(ospf->lsdb);
                }
 
+               /* Since the LSAs are deleted, need reset the aggr flag */
+               ospf_unset_all_aggr_flag(ospf);
+
                /* Delete the LSDB */
                for (ALL_LIST_ELEMENTS(ospf->areas, node, nnode, area))
                        ospf_area_lsdb_discard_delete(area);