]> git.puffer.fish Git - mirror/frr.git/commitdiff
ospf6d: debug command support for helper support.
authorrgirada <rgirada@vmware.com>
Mon, 28 Jun 2021 08:56:09 +0000 (01:56 -0700)
committerrgirada <rgirada@vmware.com>
Tue, 10 Aug 2021 09:57:23 +0000 (02:57 -0700)
Description:
Adding debug support for helper functionality.

Signed-off-by: Rajesh Girada <rgirada@vmware.com>
ospf6d/ospf6_gr_helper.c
ospf6d/ospf6_gr_helper.h

index 0108423cee6707d1c5b74c24d28ce2e6bd678319..a7a1b7cbabe5c78a705fc5fee502df36fc451c99 100644 (file)
@@ -55,6 +55,8 @@
 
 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",
@@ -117,6 +119,22 @@ static void ospf6_enable_rtr_hash_destroy(struct ospf6 *ospf6)
        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.
  *
@@ -128,6 +146,9 @@ static void ospf6_enable_rtr_hash_destroy(struct ospf6 *ospf6)
  */
 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;
@@ -151,5 +172,9 @@ void ospf6_gr_helper_init(struct ospf6 *ospf6)
  */
 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);
 }
index f5d49d4c06b349dd856b061c0118f36f5e5dd601..f09ffa1bc99035ff5de067535f547f1febd65c9d 100644 (file)
 #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,