mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-02 18:52:04 +00:00
ospf6d: fix refreshing of NSSA/AS-external LSAs after a graceful restart
This commit fixes a bug where self-originated NSSA/AS-External LSAs would age out about one hour after exiting from the GR mode. The reason is because received self-originated LSAs aren't registered for periodic refreshing, so that needs to be done manually. Fix this by explicitly reoriginating all NSSA/AS-External LSAs while exiting from the GR mode. Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
This commit is contained in:
parent
3a94ed5696
commit
5eb2c602aa
@ -127,6 +127,7 @@ static void ospf6_gr_restart_exit(struct ospf6 *ospf6, const char *reason)
|
||||
{
|
||||
struct ospf6_area *area;
|
||||
struct listnode *onode, *anode;
|
||||
struct ospf6_route *route;
|
||||
|
||||
if (IS_DEBUG_OSPF6_GR)
|
||||
zlog_debug("GR: exiting graceful restart: %s", reason);
|
||||
@ -162,6 +163,16 @@ static void ospf6_gr_restart_exit(struct ospf6 *ospf6, const char *reason)
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* While all self-originated NSSA and AS-external LSAs were already
|
||||
* learned from the helping neighbors, we need to reoriginate them in
|
||||
* order to ensure they will be refreshed periodically.
|
||||
*/
|
||||
for (route = ospf6_route_head(ospf6->external_table); route;
|
||||
route = ospf6_route_next(route))
|
||||
ospf6_handle_external_lsa_origination(ospf6, route,
|
||||
&route->prefix);
|
||||
|
||||
/*
|
||||
* 3) The router reruns its OSPF routing calculations, this time
|
||||
* installing the results into the system forwarding table, and
|
||||
|
Loading…
Reference in New Issue
Block a user