DEFINE_MTYPE_STATIC(OSPF6D, OSPF6_GR_HELPER, "OSPF6 Graceful restart helper");
+unsigned char conf_debug_ospf6_gr = 0;
+
const char *ospf6_exit_reason_desc[] = {
"Unknown reason", "Helper inprogress", "Topology Change",
"Grace timer expiry", "Successful graceful restart",
ospf6->ospf6_helper_cfg.enable_rtr_list = NULL;
}
+/* Debug commands */
+DEFPY(debug_ospf6_gr,
+ debug_ospf6_gr_cmd,
+ "[no$no] debug ospf6 graceful-restart",
+ NO_STR
+ DEBUG_STR OSPF6_STR
+ "Graceful restart\n")
+{
+ if (!no)
+ OSPF6_DEBUG_GR_HELPER_ON();
+ else
+ OSPF6_DEBUG_GR_HELPER_OFF();
+
+ return CMD_SUCCESS;
+}
+
/*
* Initilise GR helper config datastructer.
*
*/
void ospf6_gr_helper_init(struct ospf6 *ospf6)
{
+ if (IS_DEBUG_OSPF6_GR_HELPER)
+ zlog_debug("%s, GR Helper init.", __PRETTY_FUNCTION__);
+
ospf6->ospf6_helper_cfg.is_helper_supported = OSPF6_FALSE;
ospf6->ospf6_helper_cfg.strict_lsa_check = OSPF6_TRUE;
ospf6->ospf6_helper_cfg.only_planned_restart = OSPF6_FALSE;
*/
void ospf6_gr_helper_deinit(struct ospf6 *ospf6)
{
+
+ if (IS_DEBUG_OSPF6_GR_HELPER)
+ zlog_debug("%s, GR helper deinit.", __PRETTY_FUNCTION__);
+
ospf6_enable_rtr_hash_destroy(ospf6);
}
#define OSPF6_MAX_GRACE_INTERVAL 1800
#define OSPF6_MIN_GRACE_INTERVAL 1
+/* Debug option */
+extern unsigned char conf_debug_ospf6_gr;
+
+#define OSPF6_DEBUG_GR_HELPER 0x01
+
+#define OSPF6_DEBUG_GR_HELPER_ON() \
+ (conf_debug_ospf6_gr |= OSPF6_DEBUG_GR_HELPER)
+
+#define OSPF6_DEBUG_GR_HELPER_OFF() \
+ (conf_debug_ospf6_gr &= ~OSPF6_DEBUG_GR_HELPER)
+
+#define IS_DEBUG_OSPF6_GR_HELPER conf_debug_ospf6_gr
+
+
enum ospf6_helper_exit_reason {
OSPF6_GR_HELPER_EXIT_NONE = 0,
OSPF6_GR_HELPER_INPROGRESS,