ripd: resolve debug statements issue (bug 442)
...A nasty bug, if you forgot to disable debugging, stored the config
and reboot your machine - if you really depend on ripd, then the machine
will not fully come back on the network, because ripd fails.
(cherry picked from commit 0fa0335316ce14a79ea4bbb0c40e1322c9941dd3)
diff --git a/ripd/rip_debug.c b/ripd/rip_debug.c
index 64dc27c..662e584 100644
--- a/ripd/rip_debug.c
+++ b/ripd/rip_debug.c
@@ -44,19 +44,16 @@
{
if (IS_RIP_DEBUG_SEND && IS_RIP_DEBUG_RECV)
{
- vty_out (vty, " RIP packet%s debugging is on%s",
- IS_RIP_DEBUG_DETAIL ? " detail" : "",
+ vty_out (vty, " RIP packet debugging is on%s",
VTY_NEWLINE);
}
else
{
if (IS_RIP_DEBUG_SEND)
- vty_out (vty, " RIP packet send%s debugging is on%s",
- IS_RIP_DEBUG_DETAIL ? " detail" : "",
+ vty_out (vty, " RIP packet send debugging is on%s",
VTY_NEWLINE);
else
- vty_out (vty, " RIP packet receive%s debugging is on%s",
- IS_RIP_DEBUG_DETAIL ? " detail" : "",
+ vty_out (vty, " RIP packet receive debugging is on%s",
VTY_NEWLINE);
}
}
@@ -105,11 +102,12 @@
rip_debug_packet |= RIP_DEBUG_SEND;
if (strncmp ("recv", argv[0], strlen (argv[0])) == 0)
rip_debug_packet |= RIP_DEBUG_RECV;
- rip_debug_packet &= ~RIP_DEBUG_DETAIL;
return CMD_SUCCESS;
}
-DEFUN (debug_rip_packet_detail,
+/* N.B. the "detail" modifier is a no-op. we leave this command
+ for legacy compatibility. */
+DEFUN_DEPRECATED (debug_rip_packet_detail,
debug_rip_packet_detail_cmd,
"debug rip packet (recv|send) detail",
DEBUG_STR
@@ -124,7 +122,6 @@
rip_debug_packet |= RIP_DEBUG_SEND;
if (strncmp ("recv", argv[0], strlen (argv[0])) == 0)
rip_debug_packet |= RIP_DEBUG_RECV;
- rip_debug_packet |= RIP_DEBUG_DETAIL;
return CMD_SUCCESS;
}
@@ -224,20 +221,17 @@
{
if (IS_RIP_DEBUG_SEND && IS_RIP_DEBUG_RECV)
{
- vty_out (vty, "debug rip packet%s%s",
- IS_RIP_DEBUG_DETAIL ? " detail" : "",
+ vty_out (vty, "debug rip packet%s",
VTY_NEWLINE);
write++;
}
else
{
if (IS_RIP_DEBUG_SEND)
- vty_out (vty, "debug rip packet send%s%s",
- IS_RIP_DEBUG_DETAIL ? " detail" : "",
+ vty_out (vty, "debug rip packet send%s",
VTY_NEWLINE);
else
- vty_out (vty, "debug rip packet recv%s%s",
- IS_RIP_DEBUG_DETAIL ? " detail" : "",
+ vty_out (vty, "debug rip packet recv%s",
VTY_NEWLINE);
write++;
}
diff --git a/ripd/rip_debug.h b/ripd/rip_debug.h
index f3a07ee..990ec90 100644
--- a/ripd/rip_debug.h
+++ b/ripd/rip_debug.h
@@ -40,7 +40,6 @@
#define IS_RIP_DEBUG_PACKET (rip_debug_packet & RIP_DEBUG_PACKET)
#define IS_RIP_DEBUG_SEND (rip_debug_packet & RIP_DEBUG_SEND)
#define IS_RIP_DEBUG_RECV (rip_debug_packet & RIP_DEBUG_RECV)
-#define IS_RIP_DEBUG_DETAIL (rip_debug_packet & RIP_DEBUG_DETAIL)
#define IS_RIP_DEBUG_ZEBRA (rip_debug_zebra & RIP_DEBUG_ZEBRA)