From fdc64b8740747007d9fc8587f1ecbd4c4e2b50c0 Mon Sep 17 00:00:00 2001 From: paul Date: Fri, 13 Dec 2002 21:44:27 +0000 Subject: Kevin C Miller [zebra 16681] OSPF NSSA Patches --- ospfd/ospf_interface.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'ospfd/ospf_interface.c') diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c index ddae9800..f0300273 100644 --- a/ospfd/ospf_interface.c +++ b/ospfd/ospf_interface.c @@ -257,7 +257,22 @@ ospf_if_cleanup (struct ospf_interface *oi) oi->nbr_self = ospf_nbr_new (oi); oi->nbr_self->state = NSM_TwoWay; oi->nbr_self->priority = OSPF_IF_PARAM (oi, priority); - oi->nbr_self->options = OSPF_OPTION_E; + + switch (oi->area->external_routing) + { + case OSPF_AREA_DEFAULT: + SET_FLAG (oi->nbr_self->options, OSPF_OPTION_E); + break; + case OSPF_AREA_STUB: + UNSET_FLAG (oi->nbr_self->options, OSPF_OPTION_E); + break; +#ifdef HAVE_NSSA + case OSPF_AREA_NSSA: + UNSET_FLAG (oi->nbr_self->options, OSPF_OPTION_E); + SET_FLAG (oi->nbr_self->options, OSPF_OPTION_NP); + break; +#endif /* HAVE_NSSA */ + } ospf_lsa_unlock (oi->network_lsa_self); oi->network_lsa_self = NULL; -- cgit v1.2.3