summaryrefslogtreecommitdiffstats
path: root/ospf6d/ospf6_area.c
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_area.c')
-rw-r--r--ospf6d/ospf6_area.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/ospf6d/ospf6_area.c b/ospf6d/ospf6_area.c
index 1e07d857..37e5c004 100644
--- a/ospf6d/ospf6_area.c
+++ b/ospf6d/ospf6_area.c
@@ -164,9 +164,18 @@ ospf6_area_create (u_int32_t area_id, struct ospf6 *o)
oa->summary_router->scope = oa;
/* set default options */
- OSPF6_OPT_SET (oa->options, OSPF6_OPT_V6);
+ if (CHECK_FLAG (o->flag, OSPF6_STUB_ROUTER))
+ {
+ OSPF6_OPT_CLEAR (oa->options, OSPF6_OPT_V6);
+ OSPF6_OPT_CLEAR (oa->options, OSPF6_OPT_R);
+ }
+ else
+ {
+ OSPF6_OPT_SET (oa->options, OSPF6_OPT_V6);
+ OSPF6_OPT_SET (oa->options, OSPF6_OPT_R);
+ }
+
OSPF6_OPT_SET (oa->options, OSPF6_OPT_E);
- OSPF6_OPT_SET (oa->options, OSPF6_OPT_R);
oa->ospf6 = o;
listnode_add_sort (o->area_list, oa);