Skip to content

Commit

Permalink
ospfd: update ospf_asbr_status when using no_area_nssa command
Browse files Browse the repository at this point in the history
In the processing of nssa, if the number of areas that need to be translated is greater than 0, then abr will be regarded as asbr, and it will be marked (0x3) in the flag of router lsa. When a certain area is set from nssa to a normal area, the areas that need to be translated may be reduced. The asbr should be re-interpreted as abr when the translated area is 0.

Signed-off-by: Shbinging <[email protected]>
  • Loading branch information
Shbinging committed Oct 17, 2024
1 parent 5c194b3 commit adabd0a
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions ospfd/ospfd.c
Original file line number Diff line number Diff line change
Expand Up @@ -1730,6 +1730,8 @@ int ospf_area_nssa_unset(struct ospf *ospf, struct in_addr area_id)
area->no_summary = 0;
area->suppress_fa = 0;
area->NSSATranslatorRole = OSPF_NSSA_ROLE_CANDIDATE;
if (area->NSSATranslatorState == OSPF_NSSA_TRANSLATE_ENABLED)
ospf_asbr_status_update(ospf, --ospf->redistribute);
area->NSSATranslatorState = OSPF_NSSA_TRANSLATE_DISABLED;
area->NSSATranslatorStabilityInterval = OSPF_NSSA_TRANS_STABLE_DEFAULT;
ospf_area_type_set(area, OSPF_AREA_DEFAULT);
Expand Down

0 comments on commit adabd0a

Please sign in to comment.