summaryrefslogtreecommitdiff
path: root/ospf6d/ospf6_gr.h
diff options
context:
space:
mode:
Diffstat (limited to 'ospf6d/ospf6_gr.h')
-rw-r--r--ospf6d/ospf6_gr.h19
1 files changed, 18 insertions, 1 deletions
diff --git a/ospf6d/ospf6_gr.h b/ospf6d/ospf6_gr.h
index 378b7193cd..6406e8efee 100644
--- a/ospf6d/ospf6_gr.h
+++ b/ospf6d/ospf6_gr.h
@@ -32,6 +32,10 @@
#define OSPF6_MAX_GRACE_INTERVAL 1800
#define OSPF6_MIN_GRACE_INTERVAL 1
+#define OSPF6_DFLT_GRACE_INTERVAL 120
+
+/* Forward declaration(s). */
+struct ospf6_neighbor;
/* Debug option */
extern unsigned char conf_debug_ospf6_gr;
@@ -67,7 +71,8 @@ enum ospf6_gr_helper_rejected_reason {
OSPF6_HELPER_NOT_A_VALID_NEIGHBOUR,
OSPF6_HELPER_PLANNED_ONLY_RESTART,
OSPF6_HELPER_TOPO_CHANGE_RTXMT_LIST,
- OSPF6_HELPER_LSA_AGE_MORE
+ OSPF6_HELPER_LSA_AGE_MORE,
+ OSPF6_HELPER_RESTARTING,
};
#ifdef roundup
@@ -119,6 +124,11 @@ struct grace_tlv_restart_reason {
#define OSPF6_GRACE_LSA_MIN_SIZE \
GRACE_PERIOD_TLV_SIZE + GRACE_RESTART_REASON_TLV_SIZE
+struct ospf6_grace_lsa {
+ struct grace_tlv_graceperiod tlv_period;
+ struct grace_tlv_restart_reason tlv_reason;
+};
+
struct advRtr {
in_addr_t advRtrAddr;
};
@@ -156,6 +166,13 @@ extern void ospf6_process_maxage_grace_lsa(struct ospf6 *ospf,
struct ospf6_neighbor *nbr);
extern void ospf6_helper_handle_topo_chg(struct ospf6 *ospf6,
struct ospf6_lsa *lsa);
+extern int config_write_ospf6_gr(struct vty *vty, struct ospf6 *ospf6);
extern int config_write_ospf6_gr_helper(struct vty *vty, struct ospf6 *ospf6);
extern int config_write_ospf6_debug_gr_helper(struct vty *vty);
+
+extern void ospf6_gr_check_lsdb_consistency(struct ospf6 *ospf,
+ struct ospf6_area *area);
+extern void ospf6_gr_nvm_read(struct ospf6 *ospf);
+extern void ospf6_gr_init(void);
+
#endif /* OSPF6_GR_H */