From 4dfd8affa204c1188fd74f1581b5c51d2c4463f4 Mon Sep 17 00:00:00 2001 From: Daniel Walton Date: Tue, 3 Nov 2015 10:37:25 -0800 Subject: [PATCH] Add "no debug ospf" and "no debug ospf6" commands to disable all ospf debugging Signed-off-by: Daniel Walton Reviewed-by: Donald Sharp Ticket: CM-4010 --- ospf6d/ospf6_lsa.h | 2 ++ ospf6d/ospf6_neighbor.c | 51 +++++++++++++++++++++++++++++++++++ ospfd/ospf_dump.c | 60 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 113 insertions(+) diff --git a/ospf6d/ospf6_lsa.h b/ospf6d/ospf6_lsa.h index aa64a772f8..940a0f7057 100644 --- a/ospf6d/ospf6_lsa.h +++ b/ospf6d/ospf6_lsa.h @@ -158,6 +158,8 @@ extern struct ospf6_lsa_handler unknown_handler; #define OSPF6_LSA_IS_KNOWN(type) \ (ospf6_get_lsa_handler (type) != &unknown_handler ? 1 : 0) +extern vector ospf6_lsa_handler_vector; + /* Macro for LSA Origination */ /* addr is (struct prefix *) */ #define CONTINUE_IF_ADDRESS_LINKLOCAL(debug,addr) \ diff --git a/ospf6d/ospf6_neighbor.c b/ospf6d/ospf6_neighbor.c index 6f9c8bb4f8..49b4aceaeb 100644 --- a/ospf6d/ospf6_neighbor.c +++ b/ospf6d/ospf6_neighbor.c @@ -40,6 +40,11 @@ #include "ospf6_flood.h" #include "ospf6d.h" #include "ospf6_bfd.h" +#include "ospf6_abr.h" +#include "ospf6_asbr.h" +#include "ospf6_lsa.h" +#include "ospf6_spf.h" +#include "ospf6_zebra.h" unsigned char conf_debug_ospf6_neighbor = 0; @@ -987,6 +992,50 @@ ALIAS (no_debug_ospf6_neighbor, "Debug OSPFv3 Neighbor Event\n" ) +DEFUN (no_debug_ospf6, + no_debug_ospf6_cmd, + "no debug ospf6", + NO_STR + DEBUG_STR + OSPF6_STR) +{ + u_int i; + struct ospf6_lsa_handler *handler = NULL; + + OSPF6_DEBUG_ABR_OFF (); + OSPF6_DEBUG_ASBR_OFF (); + OSPF6_DEBUG_BROUTER_OFF (); + OSPF6_DEBUG_BROUTER_SPECIFIC_ROUTER_OFF (); + OSPF6_DEBUG_BROUTER_SPECIFIC_AREA_OFF (); + OSPF6_DEBUG_FLOODING_OFF (); + OSPF6_DEBUG_INTERFACE_OFF (); + + for (i = 0; i < vector_active (ospf6_lsa_handler_vector); i++) + { + handler = vector_slot (ospf6_lsa_handler_vector, i); + + if (handler != NULL) + { + UNSET_FLAG (handler->debug, OSPF6_LSA_DEBUG); + } + } + + for (i = 0; i < 6; i++) + OSPF6_DEBUG_MESSAGE_OFF (i, OSPF6_DEBUG_NEIGHBOR_STATE | OSPF6_DEBUG_NEIGHBOR_EVENT); + + OSPF6_DEBUG_NEIGHBOR_OFF (OSPF6_DEBUG_NEIGHBOR_STATE | OSPF6_DEBUG_NEIGHBOR_EVENT); + OSPF6_DEBUG_ROUTE_OFF (OSPF6_DEBUG_ROUTE_TABLE); + OSPF6_DEBUG_ROUTE_OFF (OSPF6_DEBUG_ROUTE_INTRA); + OSPF6_DEBUG_ROUTE_OFF (OSPF6_DEBUG_ROUTE_INTER); + OSPF6_DEBUG_ROUTE_OFF (OSPF6_DEBUG_ROUTE_MEMORY); + OSPF6_DEBUG_SPF_OFF (OSPF6_DEBUG_SPF_PROCESS); + OSPF6_DEBUG_SPF_OFF (OSPF6_DEBUG_SPF_TIME); + OSPF6_DEBUG_SPF_OFF (OSPF6_DEBUG_SPF_DATABASE); + OSPF6_DEBUG_ZEBRA_OFF (OSPF6_DEBUG_ZEBRA_SEND | OSPF6_DEBUG_ZEBRA_RECV); + + return CMD_SUCCESS; +} + int config_write_ospf6_debug_neighbor (struct vty *vty) { @@ -1007,10 +1056,12 @@ install_element_ospf6_debug_neighbor (void) install_element (ENABLE_NODE, &debug_ospf6_neighbor_detail_cmd); install_element (ENABLE_NODE, &no_debug_ospf6_neighbor_cmd); install_element (ENABLE_NODE, &no_debug_ospf6_neighbor_detail_cmd); + install_element (ENABLE_NODE, &no_debug_ospf6_cmd); install_element (CONFIG_NODE, &debug_ospf6_neighbor_cmd); install_element (CONFIG_NODE, &debug_ospf6_neighbor_detail_cmd); install_element (CONFIG_NODE, &no_debug_ospf6_neighbor_cmd); install_element (CONFIG_NODE, &no_debug_ospf6_neighbor_detail_cmd); + install_element (CONFIG_NODE, &no_debug_ospf6_cmd); } diff --git a/ospfd/ospf_dump.c b/ospfd/ospf_dump.c index 9c73e1b2be..4c1f0549eb 100644 --- a/ospfd/ospf_dump.c +++ b/ospfd/ospf_dump.c @@ -1922,6 +1922,64 @@ DEFUN (no_debug_ospf_instance_nssa, return CMD_SUCCESS; } +DEFUN (no_debug_ospf, + no_debug_ospf_cmd, + "no debug ospf", + NO_STR + DEBUG_STR + OSPF_STR) +{ + int flag = OSPF_DEBUG_SEND | OSPF_DEBUG_RECV | OSPF_DEBUG_DETAIL; + int i; + + if (vty->node == CONFIG_NODE) + { + CONF_DEBUG_OFF (event, EVENT); + CONF_DEBUG_OFF (nssa, NSSA); + DEBUG_OFF (ism, ISM_EVENTS); + DEBUG_OFF (ism, ISM_STATUS); + DEBUG_OFF (ism, ISM_TIMERS); + DEBUG_OFF (lsa, LSA); + DEBUG_OFF (lsa, LSA_FLOODING); + DEBUG_OFF (lsa, LSA_GENERATE); + DEBUG_OFF (lsa, LSA_INSTALL); + DEBUG_OFF (lsa, LSA_REFRESH); + DEBUG_OFF (nsm, NSM); + DEBUG_OFF (nsm, NSM_EVENTS); + DEBUG_OFF (nsm, NSM_STATUS); + DEBUG_OFF (nsm, NSM_TIMERS); + DEBUG_OFF (zebra, ZEBRA); + DEBUG_OFF (zebra, ZEBRA_INTERFACE); + DEBUG_OFF (zebra, ZEBRA_REDISTRIBUTE); + + for (i = 0; i < 5; i++) + DEBUG_PACKET_OFF (i, flag); + } + + for (i = 0; i < 5; i++) + TERM_DEBUG_PACKET_OFF (i, flag); + + TERM_DEBUG_OFF (event, EVENT); + TERM_DEBUG_OFF (ism, ISM); + TERM_DEBUG_OFF (ism, ISM_EVENTS); + TERM_DEBUG_OFF (ism, ISM_STATUS); + TERM_DEBUG_OFF (ism, ISM_TIMERS); + TERM_DEBUG_OFF (lsa, LSA); + TERM_DEBUG_OFF (lsa, LSA_FLOODING); + TERM_DEBUG_OFF (lsa, LSA_GENERATE); + TERM_DEBUG_OFF (lsa, LSA_INSTALL); + TERM_DEBUG_OFF (lsa, LSA_REFRESH); + TERM_DEBUG_OFF (nsm, NSM); + TERM_DEBUG_OFF (nsm, NSM_EVENTS); + TERM_DEBUG_OFF (nsm, NSM_STATUS); + TERM_DEBUG_OFF (nsm, NSM_TIMERS); + TERM_DEBUG_OFF (nssa, NSSA); + TERM_DEBUG_OFF (zebra, ZEBRA); + TERM_DEBUG_OFF (zebra, ZEBRA_INTERFACE); + TERM_DEBUG_OFF (zebra, ZEBRA_REDISTRIBUTE); + + return CMD_SUCCESS; +} static int show_debugging_ospf_common (struct vty *vty, struct ospf *ospf) @@ -2254,6 +2312,7 @@ debug_init () install_element (ENABLE_NODE, &no_debug_ospf_instance_zebra_cmd); install_element (ENABLE_NODE, &no_debug_ospf_instance_event_cmd); install_element (ENABLE_NODE, &no_debug_ospf_instance_nssa_cmd); + install_element (ENABLE_NODE, &no_debug_ospf_cmd); install_element (CONFIG_NODE, &debug_ospf_packet_send_recv_detail_cmd); install_element (CONFIG_NODE, &debug_ospf_packet_send_recv_cmd); @@ -2308,4 +2367,5 @@ debug_init () install_element (CONFIG_NODE, &no_debug_ospf_instance_zebra_cmd); install_element (CONFIG_NODE, &no_debug_ospf_instance_event_cmd); install_element (CONFIG_NODE, &no_debug_ospf_instance_nssa_cmd); + install_element (CONFIG_NODE, &no_debug_ospf_cmd); } -- 2.39.5