diff options
author | Paul Jakma <paul.jakma@sun.com> | 2006-06-26 12:50:06 +0000 |
---|---|---|
committer | Paul Jakma <paul.jakma@sun.com> | 2006-06-26 12:50:06 +0000 |
commit | 9560fa8ac994966a8da0ba23c46c0299164b7112 (patch) | |
tree | fa1f10194a81da333af1bbe43664c73a5c1b5fc4 /ospfd/ospf_lsa.c | |
parent | 9aecfae2ec82027fe1cf2740e6099397376a3f4f (diff) |
[ospfd] NSSA translate-enabled ABR should declare itself as ASBR
2006-06-26 Paul Jakma <paul.jakma@sun.com>
* ospf_abr.c: (general) NSSA translate-candidate ABRs need to
be ASBRs, or other routers may rightfully refuse to install
translated type-5s LSAs. reported by dendroot@gmail.com.
(ospf_abr_nssa_check_status) Detect change in translator
state when ABR, and inc/dec redistribute count as when we
leave/enter the disabled state - so that translate-enabled
ABR properly sets ASBR bit on non-NSSA areas.
Run the resulting function through indent to clean it up.
* ospf_lsa.c: (router_lsa_flags) For purposes of ASBR bit,
NSSA area is same as stub area.
Diffstat (limited to 'ospfd/ospf_lsa.c')
-rw-r--r-- | ospfd/ospf_lsa.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/ospfd/ospf_lsa.c b/ospfd/ospf_lsa.c index a0afbad3..509afc8a 100644 --- a/ospfd/ospf_lsa.c +++ b/ospfd/ospf_lsa.c @@ -437,7 +437,8 @@ router_lsa_flags (struct ospf_area *area) SET_FLAG (flags, ROUTER_LSA_SHORTCUT); /* ASBR can't exit in stub area. */ - if (area->external_routing == OSPF_AREA_STUB) + if (area->external_routing == OSPF_AREA_STUB + || area->external_routing == OSPF_AREA_NSSA) UNSET_FLAG (flags, ROUTER_LSA_EXTERNAL); /* If ASBR set External flag */ else if (IS_OSPF_ASBR (area->ospf)) |