mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-08 14:34:22 +00:00
ospf6d: flush external LSAs when NSSA is configured
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
This commit is contained in:
parent
ccfffce4a0
commit
dd551b9d1f
@ -1307,9 +1307,9 @@ void ospf6_asbr_remove_externals_from_area(struct ospf6_area *oa)
|
|||||||
struct ospf6 *ospf6 = oa->ospf6;
|
struct ospf6 *ospf6 = oa->ospf6;
|
||||||
const struct route_node *iterend;
|
const struct route_node *iterend;
|
||||||
|
|
||||||
/* skip if router is in other non-stub areas */
|
/* skip if router is in other non-stub/non-NSSA areas */
|
||||||
for (ALL_LIST_ELEMENTS(ospf6->area_list, node, nnode, area))
|
for (ALL_LIST_ELEMENTS(ospf6->area_list, node, nnode, area))
|
||||||
if (!IS_AREA_STUB(area))
|
if (!IS_AREA_STUB(area) && !IS_AREA_NSSA(area))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
/* if router is only in a stub area then purge AS-External LSAs */
|
/* if router is only in a stub area then purge AS-External LSAs */
|
||||||
|
@ -1218,6 +1218,9 @@ static void ospf6_area_nssa_update(struct ospf6_area *area)
|
|||||||
if (IS_AREA_NSSA(area)) {
|
if (IS_AREA_NSSA(area)) {
|
||||||
OSPF6_ROUTER_LSA_SCHEDULE(area);
|
OSPF6_ROUTER_LSA_SCHEDULE(area);
|
||||||
|
|
||||||
|
/* Flush external LSAs. */
|
||||||
|
ospf6_asbr_remove_externals_from_area(area);
|
||||||
|
|
||||||
/* Check if router is ABR */
|
/* Check if router is ABR */
|
||||||
if (ospf6_check_and_set_router_abr(area->ospf6)) {
|
if (ospf6_check_and_set_router_abr(area->ospf6)) {
|
||||||
if (IS_OSPF6_DEBUG_NSSA)
|
if (IS_OSPF6_DEBUG_NSSA)
|
||||||
|
Loading…
Reference in New Issue
Block a user