summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_area.h
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_area.h')
-rw-r--r--ospf6d/ospf6_area.h28
1 files changed, 20 insertions, 8 deletions
diff --git a/ospf6d/ospf6_area.h b/ospf6d/ospf6_area.h
index c15960cd..734f030c 100644
--- a/ospf6d/ospf6_area.h
+++ b/ospf6d/ospf6_area.h
@@ -41,16 +41,17 @@ struct ospf6_area
/* OSPF Option */
u_char options[3];
- /* TransitCapability */
- int transit_capability;
-
/* Summary routes to be originated (includes Configured Address Ranges) */
- struct ospf6_route_table *summary_table;
+ struct ospf6_route_table *range_table;
+ struct ospf6_route_table *summary_prefix;
+ struct ospf6_route_table *summary_router;
/* OSPF interface list */
list if_list;
- struct ospf6_lsdb *lsdb;
+ struct ospf6_lsdb *lsdb;
+ struct ospf6_lsdb *lsdb_self;
+
struct ospf6_route_table *spf_table;
struct ospf6_route_table *route_table;
@@ -62,12 +63,21 @@ struct ospf6_area
u_int32_t router_lsa_size_limit;
};
-#define OSPF6_AREA_DISABLE 0x01
-#define OSPF6_AREA_STUB 0x02
+#define OSPF6_AREA_ENABLE 0x01
+#define OSPF6_AREA_ACTIVE 0x02
+#define OSPF6_AREA_TRANSIT 0x04 /* TransitCapability */
+#define OSPF6_AREA_STUB 0x08
+
+#define BACKBONE_AREA_ID (htonl (0))
+#define IS_AREA_BACKBONE(oa) ((oa)->area_id == BACKBONE_AREA_ID)
+#define IS_AREA_ENABLED(oa) (CHECK_FLAG ((oa)->flag, OSPF6_AREA_ENABLE))
+#define IS_AREA_ACTIVE(oa) (CHECK_FLAG ((oa)->flag, OSPF6_AREA_ACTIVE))
+#define IS_AREA_TRANSIT(oa) (CHECK_FLAG ((oa)->flag, OSPF6_AREA_TRANSIT))
+#define IS_AREA_STUB(oa) (CHECK_FLAG ((oa)->flag, OSPF6_AREA_STUB))
/* prototypes */
int ospf6_area_cmp (void *va, void *vb);
-int ospf6_area_is_stub (struct ospf6_area *o6a);
+
struct ospf6_area *ospf6_area_create (u_int32_t, struct ospf6 *);
void ospf6_area_delete (struct ospf6_area *);
struct ospf6_area *ospf6_area_lookup (u_int32_t, struct ospf6 *);
@@ -76,6 +86,8 @@ void ospf6_area_enable (struct ospf6_area *);
void ospf6_area_disable (struct ospf6_area *);
void ospf6_area_show (struct vty *, struct ospf6_area *);
+
+void ospf6_area_config_write (struct vty *vty);
void ospf6_area_init ();
#endif /* OSPF_AREA_H */