📄 ospf_dump.c
字号:
} return CMD_SUCCESS; } /* ENABLE_NODE. */ if (argc == 0) TERM_DEBUG_ON (zebra, ZEBRA); else if (argc == 1) { if (strncmp (argv[0], "i", 1) == 0) TERM_DEBUG_ON (zebra, ZEBRA_INTERFACE); else if (strncmp (argv[0], "r", 1) == 0) TERM_DEBUG_ON (zebra, ZEBRA_REDISTRIBUTE); } return CMD_SUCCESS;}ALIAS (debug_ospf_zebra, debug_ospf_zebra_sub_cmd, "debug ospf zebra (interface|redistribute)", DEBUG_STR OSPF_STR "OSPF Zebra information\n" "Zebra interface\n" "Zebra redistribute\n");DEFUN (no_debug_ospf_zebra, no_debug_ospf_zebra_cmd, "no debug ospf zebra", NO_STR DEBUG_STR OSPF_STR "OSPF Zebra information\n"){ if (vty->node == CONFIG_NODE) { if (argc == 0) DEBUG_OFF (zebra, ZEBRA); else if (argc == 1) { if (strncmp (argv[0], "i", 1) == 0) DEBUG_OFF (zebra, ZEBRA_INTERFACE); else if (strncmp (argv[0], "r", 1) == 0) DEBUG_OFF (zebra, ZEBRA_REDISTRIBUTE); } return CMD_SUCCESS; } /* ENABLE_NODE. */ if (argc == 0) TERM_DEBUG_OFF (zebra, ZEBRA); else if (argc == 1) { if (strncmp (argv[0], "i", 1) == 0) TERM_DEBUG_OFF (zebra, ZEBRA_INTERFACE); else if (strncmp (argv[0], "r", 1) == 0) TERM_DEBUG_OFF (zebra, ZEBRA_REDISTRIBUTE); } return CMD_SUCCESS;}ALIAS (no_debug_ospf_zebra, no_debug_ospf_zebra_sub_cmd, "no debug ospf zebra (interface|redistribute)", NO_STR DEBUG_STR OSPF_STR "OSPF Zebra information\n" "Zebra interface\n" "Zebra redistribute\n");DEFUN (debug_ospf_event, debug_ospf_event_cmd, "debug ospf event", DEBUG_STR OSPF_STR "OSPF event information\n"){ if (vty->node == CONFIG_NODE) CONF_DEBUG_ON (event, EVENT); TERM_DEBUG_ON (event, EVENT); return CMD_SUCCESS;}DEFUN (no_debug_ospf_event, no_debug_ospf_event_cmd, "no debug ospf event", NO_STR DEBUG_STR OSPF_STR "OSPF event information\n"){ if (vty->node == CONFIG_NODE) CONF_DEBUG_OFF (event, EVENT); TERM_DEBUG_OFF (event, EVENT); return CMD_SUCCESS;}DEFUN (debug_ospf_nssa, debug_ospf_nssa_cmd, "debug ospf nssa", DEBUG_STR OSPF_STR "OSPF nssa information\n"){ if (vty->node == CONFIG_NODE) CONF_DEBUG_ON (nssa, NSSA); TERM_DEBUG_ON (nssa, NSSA); return CMD_SUCCESS;}DEFUN (no_debug_ospf_nssa, no_debug_ospf_nssa_cmd, "no debug ospf nssa", NO_STR DEBUG_STR OSPF_STR "OSPF nssa information\n"){ if (vty->node == CONFIG_NODE) CONF_DEBUG_OFF (nssa, NSSA); TERM_DEBUG_OFF (nssa, NSSA); return CMD_SUCCESS;}DEFUN (show_debugging_ospf, show_debugging_ospf_cmd, "show debugging ospf", SHOW_STR DEBUG_STR OSPF_STR){ int i; vty_out (vty, "Zebra debugging status:%s", VTY_NEWLINE); /* Show debug status for ISM. */ if (IS_DEBUG_OSPF (ism, ISM) == OSPF_DEBUG_ISM) vty_out (vty, " OSPF ISM debugging is on%s", VTY_NEWLINE); else { if (IS_DEBUG_OSPF (ism, ISM_STATUS)) vty_out (vty, " OSPF ISM status debugging is on%s", VTY_NEWLINE); if (IS_DEBUG_OSPF (ism, ISM_EVENTS)) vty_out (vty, " OSPF ISM event debugging is on%s", VTY_NEWLINE); if (IS_DEBUG_OSPF (ism, ISM_TIMERS)) vty_out (vty, " OSPF ISM timer debugging is on%s", VTY_NEWLINE); } /* Show debug status for NSM. */ if (IS_DEBUG_OSPF (nsm, NSM) == OSPF_DEBUG_NSM) vty_out (vty, " OSPF NSM debugging is on%s", VTY_NEWLINE); else { if (IS_DEBUG_OSPF (nsm, NSM_STATUS)) vty_out (vty, " OSPF NSM status debugging is on%s", VTY_NEWLINE); if (IS_DEBUG_OSPF (nsm, NSM_EVENTS)) vty_out (vty, " OSPF NSM event debugging is on%s", VTY_NEWLINE); if (IS_DEBUG_OSPF (nsm, NSM_TIMERS)) vty_out (vty, " OSPF NSM timer debugging is on%s", VTY_NEWLINE); } /* Show debug status for OSPF Packets. */ for (i = 0; i < 5; i++) if (IS_DEBUG_OSPF_PACKET (i, SEND) && IS_DEBUG_OSPF_PACKET (i, RECV)) { vty_out (vty, " OSPF packet %s%s debugging is on%s", ospf_packet_type_str[i + 1], IS_DEBUG_OSPF_PACKET (i, DETAIL) ? " detail" : "", VTY_NEWLINE); } else { if (IS_DEBUG_OSPF_PACKET (i, SEND)) vty_out (vty, " OSPF packet %s send%s debugging is on%s", ospf_packet_type_str[i + 1], IS_DEBUG_OSPF_PACKET (i, DETAIL) ? " detail" : "", VTY_NEWLINE); if (IS_DEBUG_OSPF_PACKET (i, RECV)) vty_out (vty, " OSPF packet %s receive%s debugging is on%s", ospf_packet_type_str[i + 1], IS_DEBUG_OSPF_PACKET (i, DETAIL) ? " detail" : "", VTY_NEWLINE); } /* Show debug status for OSPF LSAs. */ if (IS_DEBUG_OSPF (lsa, LSA) == OSPF_DEBUG_LSA) vty_out (vty, " OSPF LSA debugging is on%s", VTY_NEWLINE); else { if (IS_DEBUG_OSPF (lsa, LSA_GENERATE)) vty_out (vty, " OSPF LSA generation debugging is on%s", VTY_NEWLINE); if (IS_DEBUG_OSPF (lsa, LSA_FLOODING)) vty_out (vty, " OSPF LSA flooding debugging is on%s", VTY_NEWLINE); if (IS_DEBUG_OSPF (lsa, LSA_INSTALL)) vty_out (vty, " OSPF LSA install debugging is on%s", VTY_NEWLINE); if (IS_DEBUG_OSPF (lsa, LSA_REFRESH)) vty_out (vty, " OSPF LSA refresh debugging is on%s", VTY_NEWLINE); } /* Show debug status for Zebra. */ if (IS_DEBUG_OSPF (zebra, ZEBRA) == OSPF_DEBUG_ZEBRA) vty_out (vty, " OSPF Zebra debugging is on%s", VTY_NEWLINE); else { if (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE)) vty_out (vty, " OSPF Zebra interface debugging is on%s", VTY_NEWLINE); if (IS_DEBUG_OSPF (zebra, ZEBRA_REDISTRIBUTE)) vty_out (vty, " OSPF Zebra redistribute debugging is on%s", VTY_NEWLINE); } return CMD_SUCCESS;}/* Debug node. */struct cmd_node debug_node ={ DEBUG_NODE, ""};intconfig_write_debug (struct vty *vty){ int write = 0; int i, r; char *type_str[] = {"hello", "dd", "ls-request", "ls-update", "ls-ack"}; char *detail_str[] = {"", " send", " recv", "", " detail", " send detail", " recv detail", " detail"}; /* debug ospf ism (status|events|timers). */ if (IS_CONF_DEBUG_OSPF (ism, ISM) == OSPF_DEBUG_ISM) vty_out (vty, "debug ospf ism%s", VTY_NEWLINE); else { if (IS_CONF_DEBUG_OSPF (ism, ISM_STATUS)) vty_out (vty, "debug ospf ism status%s", VTY_NEWLINE); if (IS_CONF_DEBUG_OSPF (ism, ISM_EVENTS)) vty_out (vty, "debug ospf ism event%s", VTY_NEWLINE); if (IS_CONF_DEBUG_OSPF (ism, ISM_TIMERS)) vty_out (vty, "debug ospf ism timer%s", VTY_NEWLINE); } /* debug ospf nsm (status|events|timers). */ if (IS_CONF_DEBUG_OSPF (nsm, NSM) == OSPF_DEBUG_NSM) vty_out (vty, "debug ospf nsm%s", VTY_NEWLINE); else { if (IS_CONF_DEBUG_OSPF (nsm, NSM_STATUS)) vty_out (vty, "debug ospf ism status%s", VTY_NEWLINE); if (IS_CONF_DEBUG_OSPF (nsm, NSM_EVENTS)) vty_out (vty, "debug ospf nsm event%s", VTY_NEWLINE); if (IS_CONF_DEBUG_OSPF (nsm, NSM_TIMERS)) vty_out (vty, "debug ospf nsm timer%s", VTY_NEWLINE); } /* debug ospf lsa (generate|flooding|install|refresh). */ if (IS_CONF_DEBUG_OSPF (lsa, LSA) == OSPF_DEBUG_LSA) vty_out (vty, "debug ospf lsa%s", VTY_NEWLINE); else { if (IS_CONF_DEBUG_OSPF (lsa, LSA_GENERATE)) vty_out (vty, "debug ospf lsa generate%s", VTY_NEWLINE); if (IS_CONF_DEBUG_OSPF (lsa, LSA_FLOODING)) vty_out (vty, "debug ospf lsa flooding%s", VTY_NEWLINE); if (IS_CONF_DEBUG_OSPF (lsa, LSA_INSTALL)) vty_out (vty, "debug ospf lsa install%s", VTY_NEWLINE); if (IS_CONF_DEBUG_OSPF (lsa, LSA_REFRESH)) vty_out (vty, "debug ospf lsa refresh%s", VTY_NEWLINE); write = 1; } /* debug ospf zebra (interface|redistribute). */ if (IS_CONF_DEBUG_OSPF (zebra, ZEBRA) == OSPF_DEBUG_ZEBRA) vty_out (vty, "debug ospf zebra%s", VTY_NEWLINE); else { if (IS_CONF_DEBUG_OSPF (zebra, ZEBRA_INTERFACE)) vty_out (vty, "debug ospf zebra interface%s", VTY_NEWLINE); if (IS_CONF_DEBUG_OSPF (zebra, ZEBRA_REDISTRIBUTE)) vty_out (vty, "debug ospf zebra redistribute%s", VTY_NEWLINE); write = 1; } /* debug ospf event. */ if (IS_CONF_DEBUG_OSPF (event, EVENT) == OSPF_DEBUG_EVENT) { vty_out (vty, "debug ospf event%s", VTY_NEWLINE); write = 1; } /* debug ospf nssa. */ if (IS_CONF_DEBUG_OSPF (nssa, NSSA) == OSPF_DEBUG_NSSA) { vty_out (vty, "debug ospf nssa%s", VTY_NEWLINE); write = 1; } /* debug ospf packet all detail. */ r = OSPF_DEBUG_SEND_RECV|OSPF_DEBUG_DETAIL; for (i = 0; i < 5; i++) r &= conf_debug_ospf_packet[i] & (OSPF_DEBUG_SEND_RECV|OSPF_DEBUG_DETAIL); if (r == (OSPF_DEBUG_SEND_RECV|OSPF_DEBUG_DETAIL)) { vty_out (vty, "debug ospf packet all detail%s", VTY_NEWLINE); return 1; } /* debug ospf packet all. */ r = OSPF_DEBUG_SEND_RECV; for (i = 0; i < 5; i++) r &= conf_debug_ospf_packet[i] & OSPF_DEBUG_SEND_RECV; if (r == OSPF_DEBUG_SEND_RECV) { vty_out (vty, "debug ospf packet all%s", VTY_NEWLINE); for (i = 0; i < 5; i++) if (conf_debug_ospf_packet[i] & OSPF_DEBUG_DETAIL) vty_out (vty, "debug ospf packet %s detail%s", type_str[i], VTY_NEWLINE); return 1; } /* debug ospf packet (hello|dd|ls-request|ls-update|ls-ack) (send|recv) (detail). */ for (i = 0; i < 5; i++) { if (conf_debug_ospf_packet[i] == 0) continue; vty_out (vty, "debug ospf packet %s%s%s", type_str[i], detail_str[conf_debug_ospf_packet[i]], VTY_NEWLINE); write = 1; } return write;}/* Initialize debug commands. */voiddebug_init (){ install_node (&debug_node, config_write_debug); install_element (ENABLE_NODE, &show_debugging_ospf_cmd); install_element (ENABLE_NODE, &debug_ospf_packet_send_recv_detail_cmd); install_element (ENABLE_NODE, &debug_ospf_packet_send_recv_cmd); install_element (ENABLE_NODE, &debug_ospf_packet_all_cmd); install_element (ENABLE_NODE, &debug_ospf_ism_sub_cmd); install_element (ENABLE_NODE, &debug_ospf_ism_cmd); install_element (ENABLE_NODE, &debug_ospf_nsm_sub_cmd); install_element (ENABLE_NODE, &debug_ospf_nsm_cmd); install_element (ENABLE_NODE, &debug_ospf_lsa_sub_cmd); install_element (ENABLE_NODE, &debug_ospf_lsa_cmd); install_element (ENABLE_NODE, &debug_ospf_zebra_sub_cmd); install_element (ENABLE_NODE, &debug_ospf_zebra_cmd); install_element (ENABLE_NODE, &debug_ospf_event_cmd);#ifdef HAVE_NSSA install_element (ENABLE_NODE, &debug_ospf_nssa_cmd);#endif /* HAVE_NSSA */ install_element (ENABLE_NODE, &no_debug_ospf_packet_send_recv_detail_cmd); install_element (ENABLE_NODE, &no_debug_ospf_packet_send_recv_cmd); install_element (ENABLE_NODE, &no_debug_ospf_packet_all_cmd); install_element (ENABLE_NODE, &no_debug_ospf_ism_sub_cmd); install_element (ENABLE_NODE, &no_debug_ospf_ism_cmd); install_element (ENABLE_NODE, &no_debug_ospf_nsm_sub_cmd); install_element (ENABLE_NODE, &no_debug_ospf_nsm_cmd); install_element (ENABLE_NODE, &no_debug_ospf_lsa_sub_cmd); install_element (ENABLE_NODE, &no_debug_ospf_lsa_cmd); install_element (ENABLE_NODE, &no_debug_ospf_zebra_sub_cmd); install_element (ENABLE_NODE, &no_debug_ospf_zebra_cmd); install_element (ENABLE_NODE, &no_debug_ospf_event_cmd);#ifdef HAVE_NSSA install_element (ENABLE_NODE, &no_debug_ospf_nssa_cmd);#endif /* HAVE_NSSA */ install_element (CONFIG_NODE, &debug_ospf_packet_send_recv_detail_cmd); install_element (CONFIG_NODE, &debug_ospf_packet_send_recv_cmd); install_element (CONFIG_NODE, &debug_ospf_packet_all_cmd); install_element (CONFIG_NODE, &debug_ospf_ism_sub_cmd); install_element (CONFIG_NODE, &debug_ospf_ism_cmd); install_element (CONFIG_NODE, &debug_ospf_nsm_sub_cmd); install_element (CONFIG_NODE, &debug_ospf_nsm_cmd); install_element (CONFIG_NODE, &debug_ospf_lsa_sub_cmd); install_element (CONFIG_NODE, &debug_ospf_lsa_cmd); install_element (CONFIG_NODE, &debug_ospf_zebra_sub_cmd); install_element (CONFIG_NODE, &debug_ospf_zebra_cmd); install_element (CONFIG_NODE, &debug_ospf_event_cmd);#ifdef HAVE_NSSA install_element (CONFIG_NODE, &debug_ospf_nssa_cmd);#endif /* HAVE_NSSA */ install_element (CONFIG_NODE, &no_debug_ospf_packet_send_recv_detail_cmd); install_element (CONFIG_NODE, &no_debug_ospf_packet_send_recv_cmd); install_element (CONFIG_NODE, &no_debug_ospf_packet_all_cmd); install_element (CONFIG_NODE, &no_debug_ospf_ism_sub_cmd); install_element (CONFIG_NODE, &no_debug_ospf_ism_cmd); install_element (CONFIG_NODE, &no_debug_ospf_nsm_sub_cmd); install_element (CONFIG_NODE, &no_debug_ospf_nsm_cmd); install_element (CONFIG_NODE, &no_debug_ospf_lsa_sub_cmd); install_element (CONFIG_NODE, &no_debug_ospf_lsa_cmd); install_element (CONFIG_NODE, &no_debug_ospf_zebra_sub_cmd); install_element (CONFIG_NODE, &no_debug_ospf_zebra_cmd); install_element (CONFIG_NODE, &no_debug_ospf_event_cmd);#ifdef HAVE_NSSA install_element (CONFIG_NODE, &no_debug_ospf_nssa_cmd);#endif /* HAVE_NSSA */}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -