]> git.proxmox.com Git - mirror_frr.git/blobdiff - ripd/rip_debug.c
ripd: implement the 'clear-rip-route' YANG RPC
[mirror_frr.git] / ripd / rip_debug.c
index 35d5d9b825a94aed209178446f38674d6e93f454..2ce289e38f62a4c984e3d771fe979a0b5a09b251 100644 (file)
@@ -27,40 +27,35 @@ unsigned long rip_debug_event = 0;
 unsigned long rip_debug_packet = 0;
 unsigned long rip_debug_zebra = 0;
 
-DEFUN (show_debugging_rip,
-       show_debugging_rip_cmd,
-       "show debugging rip",
-       SHOW_STR
-       DEBUG_STR
-       RIP_STR)
+DEFUN_NOSH (show_debugging_rip,
+           show_debugging_rip_cmd,
+           "show debugging [rip]",
+           SHOW_STR
+           DEBUG_STR
+           RIP_STR)
 {
-  vty_out (vty, "RIP debugging status:%s", VTY_NEWLINE);
-
-  if (IS_RIP_DEBUG_EVENT)
-    vty_out (vty, "  RIP event debugging is on%s", VTY_NEWLINE);
-
-  if (IS_RIP_DEBUG_PACKET)
-    {
-      if (IS_RIP_DEBUG_SEND && IS_RIP_DEBUG_RECV)
-       {
-         vty_out (vty, "  RIP packet debugging is on%s",
-                  VTY_NEWLINE);
+       vty_out(vty, "RIP debugging status:\n");
+
+       if (IS_RIP_DEBUG_EVENT)
+               vty_out(vty, "  RIP event debugging is on\n");
+
+       if (IS_RIP_DEBUG_PACKET) {
+               if (IS_RIP_DEBUG_SEND && IS_RIP_DEBUG_RECV) {
+                       vty_out(vty, "  RIP packet debugging is on\n");
+               } else {
+                       if (IS_RIP_DEBUG_SEND)
+                               vty_out(vty,
+                                       "  RIP packet send debugging is on\n");
+                       else
+                               vty_out(vty,
+                                       "  RIP packet receive debugging is on\n");
+               }
        }
-      else
-       {
-         if (IS_RIP_DEBUG_SEND)
-           vty_out (vty, "  RIP packet send debugging is on%s",
-                    VTY_NEWLINE);
-         else
-           vty_out (vty, "  RIP packet receive debugging is on%s",
-                    VTY_NEWLINE);
-       }
-    }
 
-  if (IS_RIP_DEBUG_ZEBRA)
-    vty_out (vty, "  RIP zebra debugging is on%s", VTY_NEWLINE);
+       if (IS_RIP_DEBUG_ZEBRA)
+               vty_out(vty, "  RIP zebra debugging is on\n");
 
-  return CMD_SUCCESS;
+       return CMD_SUCCESS;
 }
 
 DEFUN (debug_rip_events,
@@ -70,8 +65,8 @@ DEFUN (debug_rip_events,
        RIP_STR
        "RIP events\n")
 {
-  rip_debug_event = RIP_DEBUG_EVENT;
-  return CMD_WARNING;
+       rip_debug_event = RIP_DEBUG_EVENT;
+       return CMD_SUCCESS;
 }
 
 DEFUN (debug_rip_packet,
@@ -81,10 +76,10 @@ DEFUN (debug_rip_packet,
        RIP_STR
        "RIP packet\n")
 {
-  rip_debug_packet = RIP_DEBUG_PACKET;
-  rip_debug_packet |= RIP_DEBUG_SEND;
-  rip_debug_packet |= RIP_DEBUG_RECV;
-  return CMD_SUCCESS;
+       rip_debug_packet = RIP_DEBUG_PACKET;
+       rip_debug_packet |= RIP_DEBUG_SEND;
+       rip_debug_packet |= RIP_DEBUG_RECV;
+       return CMD_SUCCESS;
 }
 
 DEFUN (debug_rip_packet_direct,
@@ -96,13 +91,13 @@ DEFUN (debug_rip_packet_direct,
        "RIP receive packet\n"
        "RIP send packet\n")
 {
-  int idx_recv_send = 3;
-  rip_debug_packet |= RIP_DEBUG_PACKET;
-  if (strncmp ("send", argv[idx_recv_send]->arg, strlen (argv[idx_recv_send]->arg)) == 0)
-    rip_debug_packet |= RIP_DEBUG_SEND;
-  if (strncmp ("recv", argv[idx_recv_send]->arg, strlen (argv[idx_recv_send]->arg)) == 0)
-    rip_debug_packet |= RIP_DEBUG_RECV;
-  return CMD_SUCCESS;
+       int idx_recv_send = 3;
+       rip_debug_packet |= RIP_DEBUG_PACKET;
+       if (strcmp("send", argv[idx_recv_send]->text) == 0)
+               rip_debug_packet |= RIP_DEBUG_SEND;
+       if (strcmp("recv", argv[idx_recv_send]->text) == 0)
+               rip_debug_packet |= RIP_DEBUG_RECV;
+       return CMD_SUCCESS;
 }
 
 DEFUN (debug_rip_zebra,
@@ -112,8 +107,8 @@ DEFUN (debug_rip_zebra,
        RIP_STR
        "RIP and ZEBRA communication\n")
 {
-  rip_debug_zebra = RIP_DEBUG_ZEBRA;
-  return CMD_WARNING;
+       rip_debug_zebra = RIP_DEBUG_ZEBRA;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_debug_rip_events,
@@ -124,8 +119,8 @@ DEFUN (no_debug_rip_events,
        RIP_STR
        "RIP events\n")
 {
-  rip_debug_event = 0;
-  return CMD_SUCCESS;
+       rip_debug_event = 0;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_debug_rip_packet,
@@ -136,8 +131,8 @@ DEFUN (no_debug_rip_packet,
        RIP_STR
        "RIP packet\n")
 {
-  rip_debug_packet = 0;
-  return CMD_SUCCESS;
+       rip_debug_packet = 0;
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_debug_rip_packet_direct,
@@ -150,22 +145,19 @@ DEFUN (no_debug_rip_packet_direct,
        "RIP option set for receive packet\n"
        "RIP option set for send packet\n")
 {
-  int idx_recv_send = 4;
-  if (strncmp ("send", argv[idx_recv_send]->arg, strlen (argv[idx_recv_send]->arg)) == 0)
-    {
-      if (IS_RIP_DEBUG_RECV)
-       rip_debug_packet &= ~RIP_DEBUG_SEND;
-      else
-       rip_debug_packet = 0;
-    }
-  else if (strncmp ("recv", argv[idx_recv_send]->arg, strlen (argv[idx_recv_send]->arg)) == 0)
-    {
-      if (IS_RIP_DEBUG_SEND)
-       rip_debug_packet &= ~RIP_DEBUG_RECV;
-      else
-       rip_debug_packet = 0;
-    }
-  return CMD_SUCCESS;
+       int idx_recv_send = 4;
+       if (strcmp("send", argv[idx_recv_send]->text) == 0) {
+               if (IS_RIP_DEBUG_RECV)
+                       rip_debug_packet &= ~RIP_DEBUG_SEND;
+               else
+                       rip_debug_packet = 0;
+       } else if (strcmp("recv", argv[idx_recv_send]->text) == 0) {
+               if (IS_RIP_DEBUG_SEND)
+                       rip_debug_packet &= ~RIP_DEBUG_RECV;
+               else
+                       rip_debug_packet = 0;
+       }
+       return CMD_SUCCESS;
 }
 
 DEFUN (no_debug_rip_zebra,
@@ -176,88 +168,73 @@ DEFUN (no_debug_rip_zebra,
        RIP_STR
        "RIP and ZEBRA communication\n")
 {
-  rip_debug_zebra = 0;
-  return CMD_WARNING;
+       rip_debug_zebra = 0;
+       return CMD_SUCCESS;
 }
 
 /* Debug node. */
-static struct cmd_node debug_node =
-{
-  DEBUG_NODE,
-  "",                          /* Debug node has no interface. */
-  1
-};
+static struct cmd_node debug_node = {DEBUG_NODE,
+                                    "", /* Debug node has no interface. */
+                                    1};
 
-static int
-config_write_debug (struct vty *vty)
+static int config_write_debug(struct vty *vty)
 {
-  int write = 0;
+       int write = 0;
 
-  if (IS_RIP_DEBUG_EVENT)
-    {
-      vty_out (vty, "debug rip events%s", VTY_NEWLINE);
-      write++;
-    }
-  if (IS_RIP_DEBUG_PACKET)
-    {
-      if (IS_RIP_DEBUG_SEND && IS_RIP_DEBUG_RECV)
-       {
-         vty_out (vty, "debug rip packet%s",
-                  VTY_NEWLINE);
-         write++;
+       if (IS_RIP_DEBUG_EVENT) {
+               vty_out(vty, "debug rip events\n");
+               write++;
+       }
+       if (IS_RIP_DEBUG_PACKET) {
+               if (IS_RIP_DEBUG_SEND && IS_RIP_DEBUG_RECV) {
+                       vty_out(vty, "debug rip packet\n");
+                       write++;
+               } else {
+                       if (IS_RIP_DEBUG_SEND)
+                               vty_out(vty, "debug rip packet send\n");
+                       else
+                               vty_out(vty, "debug rip packet recv\n");
+                       write++;
+               }
        }
-      else
-       {
-         if (IS_RIP_DEBUG_SEND)
-           vty_out (vty, "debug rip packet send%s",
-                    VTY_NEWLINE);
-         else
-           vty_out (vty, "debug rip packet recv%s",
-                    VTY_NEWLINE);
-         write++;
+       if (IS_RIP_DEBUG_ZEBRA) {
+               vty_out(vty, "debug rip zebra\n");
+               write++;
        }
-    }
-  if (IS_RIP_DEBUG_ZEBRA)
-    {
-      vty_out (vty, "debug rip zebra%s", VTY_NEWLINE);
-      write++;
-    }
-  return write;
+       return write;
 }
 
-void
-rip_debug_reset (void)
+void rip_debug_reset(void)
 {
-  rip_debug_event = 0;
-  rip_debug_packet = 0;
-  rip_debug_zebra = 0;
+       rip_debug_event = 0;
+       rip_debug_packet = 0;
+       rip_debug_zebra = 0;
 }
 
-void
-rip_debug_init (void)
+void rip_debug_init(void)
 {
-  rip_debug_event = 0;
-  rip_debug_packet = 0;
-  rip_debug_zebra = 0;
-
-  install_node (&debug_node, config_write_debug);
-
-  install_element (ENABLE_NODE, &show_debugging_rip_cmd);
-  install_element (ENABLE_NODE, &debug_rip_events_cmd);
-  install_element (ENABLE_NODE, &debug_rip_packet_cmd);
-  install_element (ENABLE_NODE, &debug_rip_packet_direct_cmd);
-  install_element (ENABLE_NODE, &debug_rip_zebra_cmd);
-  install_element (ENABLE_NODE, &no_debug_rip_events_cmd);
-  install_element (ENABLE_NODE, &no_debug_rip_packet_cmd);
-  install_element (ENABLE_NODE, &no_debug_rip_packet_direct_cmd);
-  install_element (ENABLE_NODE, &no_debug_rip_zebra_cmd);
-
-  install_element (CONFIG_NODE, &debug_rip_events_cmd);
-  install_element (CONFIG_NODE, &debug_rip_packet_cmd);
-  install_element (CONFIG_NODE, &debug_rip_packet_direct_cmd);
-  install_element (CONFIG_NODE, &debug_rip_zebra_cmd);
-  install_element (CONFIG_NODE, &no_debug_rip_events_cmd);
-  install_element (CONFIG_NODE, &no_debug_rip_packet_cmd);
-  install_element (CONFIG_NODE, &no_debug_rip_packet_direct_cmd);
-  install_element (CONFIG_NODE, &no_debug_rip_zebra_cmd);
+       rip_debug_event = 0;
+       rip_debug_packet = 0;
+       rip_debug_zebra = 0;
+
+       install_node(&debug_node, config_write_debug);
+
+       install_element(ENABLE_NODE, &show_debugging_rip_cmd);
+       install_element(ENABLE_NODE, &debug_rip_events_cmd);
+       install_element(ENABLE_NODE, &debug_rip_packet_cmd);
+       install_element(ENABLE_NODE, &debug_rip_packet_direct_cmd);
+       install_element(ENABLE_NODE, &debug_rip_zebra_cmd);
+       install_element(ENABLE_NODE, &no_debug_rip_events_cmd);
+       install_element(ENABLE_NODE, &no_debug_rip_packet_cmd);
+       install_element(ENABLE_NODE, &no_debug_rip_packet_direct_cmd);
+       install_element(ENABLE_NODE, &no_debug_rip_zebra_cmd);
+
+       install_element(CONFIG_NODE, &debug_rip_events_cmd);
+       install_element(CONFIG_NODE, &debug_rip_packet_cmd);
+       install_element(CONFIG_NODE, &debug_rip_packet_direct_cmd);
+       install_element(CONFIG_NODE, &debug_rip_zebra_cmd);
+       install_element(CONFIG_NODE, &no_debug_rip_events_cmd);
+       install_element(CONFIG_NODE, &no_debug_rip_packet_cmd);
+       install_element(CONFIG_NODE, &no_debug_rip_packet_direct_cmd);
+       install_element(CONFIG_NODE, &no_debug_rip_zebra_cmd);
 }