summaryrefslogtreecommitdiff
path: root/ospfd/ospfd.c
diff options
context:
space:
mode:
authorhasso <hasso>2004-04-20 17:25:12 +0000
committerhasso <hasso>2004-04-20 17:25:12 +0000
commit8585d4e5e2b33f71e347db451df895cfaefdc3a4 (patch)
tree13f85f63c040734587f208f85f58e42d8b03e653 /ospfd/ospfd.c
parent9b87e41cae05e2d79519426af1a3f4a732c669a0 (diff)
Some ospfd fixes - [quagga-dev 1032], [quagga-dev 1048], [quagga-dev 1058].
Diffstat (limited to 'ospfd/ospfd.c')
-rw-r--r--ospfd/ospfd.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/ospfd/ospfd.c b/ospfd/ospfd.c
index 89ef21b1..abf898ca 100644
--- a/ospfd/ospfd.c
+++ b/ospfd/ospfd.c
@@ -982,7 +982,12 @@ ospf_area_type_set (struct ospf_area *area, int type)
for (node = listhead (area->oiflist); node; nextnode (node))
if ((oi = getdata (node)) != NULL)
if (oi->nbr_self != NULL)
- SET_FLAG (oi->nbr_self->options, OSPF_OPTION_E);
+ {
+#ifdef HAVE_NSSA
+ UNSET_FLAG (oi->nbr_self->options, OSPF_OPTION_NP);
+#endif /* HAVE_NSSA */
+ SET_FLAG (oi->nbr_self->options, OSPF_OPTION_E);
+ }
break;
case OSPF_AREA_STUB:
for (node = listhead (area->oiflist); node; nextnode (node))
@@ -991,6 +996,9 @@ ospf_area_type_set (struct ospf_area *area, int type)
{
if (IS_DEBUG_OSPF_EVENT)
zlog_info ("setting options on %s accordingly", IF_NAME (oi));
+#ifdef HAVE_NSSA
+ UNSET_FLAG (oi->nbr_self->options, OSPF_OPTION_NP);
+#endif /* HAVE_NSSA */
UNSET_FLAG (oi->nbr_self->options, OSPF_OPTION_E);
if (IS_DEBUG_OSPF_EVENT)
zlog_info ("options set on %s: %x",