diff options
Diffstat (limited to 'bgpd/bgp_debug.c')
| -rw-r--r-- | bgpd/bgp_debug.c | 139 |
1 files changed, 74 insertions, 65 deletions
diff --git a/bgpd/bgp_debug.c b/bgpd/bgp_debug.c index 4d9ff60e92..f6b0500433 100644 --- a/bgpd/bgp_debug.c +++ b/bgpd/bgp_debug.c @@ -622,7 +622,7 @@ DEFUN (debug_bgp_neighbor_events, DEFUN (debug_bgp_neighbor_events_peer, debug_bgp_neighbor_events_peer_cmd, - "debug bgp neighbor-events (A.B.C.D|X:X::X:X|WORD)", + "debug bgp neighbor-events <A.B.C.D|X:X::X:X|WORD>", DEBUG_STR BGP_STR "BGP Neighbor Events\n" @@ -630,7 +630,8 @@ DEFUN (debug_bgp_neighbor_events_peer, "BGP IPv6 neighbor to debug\n" "BGP neighbor on interface to debug\n") { - const char *host = argv[0]; + int idx_peer = 3; + const char *host = argv[idx_peer]->arg; if (!bgp_debug_neighbor_events_peers) bgp_debug_neighbor_events_peers = list_new (); @@ -675,7 +676,7 @@ DEFUN (no_debug_bgp_neighbor_events, DEFUN (no_debug_bgp_neighbor_events_peer, no_debug_bgp_neighbor_events_peer_cmd, - "no debug bgp neighbor-events (A.B.C.D|X:X::X:X|WORD)", + "no debug bgp neighbor-events <A.B.C.D|X:X::X:X|WORD>", NO_STR DEBUG_STR BGP_STR @@ -684,8 +685,9 @@ DEFUN (no_debug_bgp_neighbor_events_peer, "BGP IPv6 neighbor to debug\n" "BGP neighbor on interface to debug\n") { + int idx_peer = 4; int found_peer = 0; - const char *host = argv[0]; + const char *host = argv[idx_peer]->arg; if (bgp_debug_neighbor_events_peers && !list_isempty(bgp_debug_neighbor_events_peers)) { @@ -766,7 +768,7 @@ DEFUN (debug_bgp_keepalive, DEFUN (debug_bgp_keepalive_peer, debug_bgp_keepalive_peer_cmd, - "debug bgp keepalives (A.B.C.D|X:X::X:X|WORD)", + "debug bgp keepalives <A.B.C.D|X:X::X:X|WORD>", DEBUG_STR BGP_STR "BGP Neighbor Events\n" @@ -774,7 +776,8 @@ DEFUN (debug_bgp_keepalive_peer, "BGP IPv6 neighbor to debug\n" "BGP neighbor on interface to debug\n") { - const char *host = argv[0]; + int idx_peer = 3; + const char *host = argv[idx_peer]->arg; if (!bgp_debug_keepalive_peers) bgp_debug_keepalive_peers = list_new (); @@ -819,7 +822,7 @@ DEFUN (no_debug_bgp_keepalive, DEFUN (no_debug_bgp_keepalive_peer, no_debug_bgp_keepalive_peer_cmd, - "no debug bgp keepalives (A.B.C.D|X:X::X:X|WORD)", + "no debug bgp keepalives <A.B.C.D|X:X::X:X|WORD>", NO_STR DEBUG_STR BGP_STR @@ -828,8 +831,9 @@ DEFUN (no_debug_bgp_keepalive_peer, "BGP IPv6 neighbor to debug\n" "BGP neighbor on interface to debug\n") { + int idx_peer = 4; int found_peer = 0; - const char *host = argv[0]; + const char *host = argv[idx_peer]->arg; if (bgp_debug_keepalive_peers && !list_isempty(bgp_debug_keepalive_peers)) { @@ -855,19 +859,20 @@ DEFUN (no_debug_bgp_keepalive_peer, /* debug bgp bestpath */ DEFUN (debug_bgp_bestpath_prefix, debug_bgp_bestpath_prefix_cmd, - "debug bgp bestpath (A.B.C.D/M|X:X::X:X/M)", + "debug bgp bestpath <A.B.C.D/M|X:X::X:X/M>", DEBUG_STR BGP_STR "BGP bestpath\n" - "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" - "IPv6 prefix <network>/<length>\n") + "IPv4 prefix\n" + "IPv6 prefix\n") { + int idx_ipv4_ipv6_prefixlen = 3; struct prefix *argv_p; int ret; argv_p = prefix_new(); - ret = str2prefix (argv[0], argv_p); + ret = str2prefix (argv[idx_ipv4_ipv6_prefixlen]->arg, argv_p); if (!ret) { prefix_free(argv_p); @@ -881,7 +886,7 @@ DEFUN (debug_bgp_bestpath_prefix, if (bgp_debug_list_has_entry(bgp_debug_bestpath_prefixes, NULL, argv_p)) { - vty_out (vty, "BGP bestptah debugging is already enabled for %s%s", argv[0], VTY_NEWLINE); + vty_out (vty, "BGP bestptah debugging is already enabled for %s%s", argv[idx_ipv4_ipv6_prefixlen]->arg, VTY_NEWLINE); return CMD_SUCCESS; } @@ -894,7 +899,7 @@ DEFUN (debug_bgp_bestpath_prefix, else { TERM_DEBUG_ON (bestpath, BESTPATH); - vty_out (vty, "BGP bestpath debugging is on for %s%s", argv[0], VTY_NEWLINE); + vty_out (vty, "BGP bestpath debugging is on for %s%s", argv[idx_ipv4_ipv6_prefixlen]->arg, VTY_NEWLINE); } return CMD_SUCCESS; @@ -902,21 +907,22 @@ DEFUN (debug_bgp_bestpath_prefix, DEFUN (no_debug_bgp_bestpath_prefix, no_debug_bgp_bestpath_prefix_cmd, - "no debug bgp bestpath (A.B.C.D/M|X:X::X:X/M)", + "no debug bgp bestpath <A.B.C.D/M|X:X::X:X/M>", NO_STR DEBUG_STR BGP_STR "BGP bestpath\n" - "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" - "IPv6 prefix <network>/<length>\n") + "IPv4 prefix\n" + "IPv6 prefix\n") { + int idx_ipv4_ipv6_prefixlen = 4; struct prefix *argv_p; int found_prefix = 0; int ret; argv_p = prefix_new(); - ret = str2prefix (argv[0], argv_p); + ret = str2prefix (argv[idx_ipv4_ipv6_prefixlen]->arg, argv_p); if (!ret) { prefix_free(argv_p); @@ -943,9 +949,9 @@ DEFUN (no_debug_bgp_bestpath_prefix, } if (found_prefix) - vty_out (vty, "BGP bestpath debugging is off for %s%s", argv[0], VTY_NEWLINE); + vty_out (vty, "BGP bestpath debugging is off for %s%s", argv[idx_ipv4_ipv6_prefixlen]->arg, VTY_NEWLINE); else - vty_out (vty, "BGP bestpath debugging was not enabled for %s%s", argv[0], VTY_NEWLINE); + vty_out (vty, "BGP bestpath debugging was not enabled for %s%s", argv[idx_ipv4_ipv6_prefixlen]->arg, VTY_NEWLINE); return CMD_SUCCESS; } @@ -998,29 +1004,30 @@ DEFUN (debug_bgp_update, DEFUN (debug_bgp_update_direct, debug_bgp_update_direct_cmd, - "debug bgp updates (in|out)", + "debug bgp updates <in|out>", DEBUG_STR BGP_STR "BGP updates\n" "Inbound updates\n" "Outbound updates\n") { + int idx_in_out = 3; - if (strncmp ("i", argv[0], 1) == 0) + if (strncmp ("i", argv[idx_in_out]->arg, 1) == 0) bgp_debug_list_free(bgp_debug_update_in_peers); else bgp_debug_list_free(bgp_debug_update_out_peers); if (vty->node == CONFIG_NODE) { - if (strncmp ("i", argv[0], 1) == 0) + if (strncmp ("i", argv[idx_in_out]->arg, 1) == 0) DEBUG_ON (update, UPDATE_IN); else DEBUG_ON (update, UPDATE_OUT); } else { - if (strncmp ("i", argv[0], 1) == 0) + if (strncmp ("i", argv[idx_in_out]->arg, 1) == 0) { TERM_DEBUG_ON (update, UPDATE_IN); vty_out (vty, "BGP updates debugging is on (inbound)%s", VTY_NEWLINE); @@ -1036,7 +1043,7 @@ DEFUN (debug_bgp_update_direct, DEFUN (debug_bgp_update_direct_peer, debug_bgp_update_direct_peer_cmd, - "debug bgp updates (in|out) (A.B.C.D|X:X::X:X|WORD)", + "debug bgp updates <in|out> <A.B.C.D|X:X::X:X|WORD>", DEBUG_STR BGP_STR "BGP updates\n" @@ -1046,7 +1053,9 @@ DEFUN (debug_bgp_update_direct_peer, "BGP IPv6 neighbor to debug\n" "BGP neighbor on interface to debug\n") { - const char *host = argv[1]; + int idx_in_out = 3; + int idx_peer = 4; + const char *host = argv[idx_peer]->arg; int inbound; if (!bgp_debug_update_in_peers) @@ -1055,7 +1064,7 @@ DEFUN (debug_bgp_update_direct_peer, if (!bgp_debug_update_out_peers) bgp_debug_update_out_peers = list_new (); - if (strncmp ("i", argv[0], 1) == 0) + if (strncmp ("i", argv[idx_in_out]->arg, 1) == 0) inbound = 1; else inbound = 0; @@ -1117,12 +1126,12 @@ DEFUN (debug_bgp_update_direct_peer, if (inbound) { TERM_DEBUG_ON (update, UPDATE_IN); - vty_out (vty, "BGP updates debugging is on (inbound) for %s%s", argv[1], VTY_NEWLINE); + vty_out (vty, "BGP updates debugging is on (inbound) for %s%s", argv[idx_peer]->arg, VTY_NEWLINE); } else { TERM_DEBUG_ON (update, UPDATE_OUT); - vty_out (vty, "BGP updates debugging is on (outbound) for %s%s", argv[1], VTY_NEWLINE); + vty_out (vty, "BGP updates debugging is on (outbound) for %s%s", argv[idx_peer]->arg, VTY_NEWLINE); } } return CMD_SUCCESS; @@ -1130,7 +1139,7 @@ DEFUN (debug_bgp_update_direct_peer, DEFUN (no_debug_bgp_update_direct, no_debug_bgp_update_direct_cmd, - "no debug bgp updates (in|out)", + "no debug bgp updates <in|out>", NO_STR DEBUG_STR BGP_STR @@ -1138,7 +1147,8 @@ DEFUN (no_debug_bgp_update_direct, "Inbound updates\n" "Outbound updates\n") { - if (strncmp ("i", argv[0], 1) == 0) + int idx_in_out = 4; + if (strncmp ("i", argv[idx_in_out]->arg, 1) == 0) { bgp_debug_list_free(bgp_debug_update_in_peers); @@ -1172,7 +1182,7 @@ DEFUN (no_debug_bgp_update_direct, DEFUN (no_debug_bgp_update_direct_peer, no_debug_bgp_update_direct_peer_cmd, - "no debug bgp updates (in|out) (A.B.C.D|X:X::X:X|WORD)", + "no debug bgp updates <in|out> <A.B.C.D|X:X::X:X|WORD>", NO_STR DEBUG_STR BGP_STR @@ -1183,11 +1193,13 @@ DEFUN (no_debug_bgp_update_direct_peer, "BGP IPv6 neighbor to debug\n" "BGP neighbor on interface to debug\n") { + int idx_in_out = 4; + int idx_peer = 5; int inbound; int found_peer = 0; - const char *host = argv[1]; + const char *host = argv[idx_peer]->arg; - if (strncmp ("i", argv[0], 1) == 0) + if (strncmp ("i", argv[idx_in_out]->arg, 1) == 0) inbound = 1; else inbound = 0; @@ -1262,20 +1274,21 @@ DEFUN (no_debug_bgp_update_direct_peer, DEFUN (debug_bgp_update_prefix, debug_bgp_update_prefix_cmd, - "debug bgp updates prefix (A.B.C.D/M|X:X::X:X/M)", + "debug bgp updates prefix <A.B.C.D/M|X:X::X:X/M>", DEBUG_STR BGP_STR "BGP updates\n" "Specify a prefix to debug\n" - "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" - "IPv6 prefix <network>/<length>\n") + "IPv4 prefix\n" + "IPv6 prefix\n") { + int idx_ipv4_ipv6_prefixlen = 4; struct prefix *argv_p; int ret; argv_p = prefix_new(); - ret = str2prefix (argv[0], argv_p); + ret = str2prefix (argv[idx_ipv4_ipv6_prefixlen]->arg, argv_p); if (!ret) { prefix_free(argv_p); @@ -1289,7 +1302,7 @@ DEFUN (debug_bgp_update_prefix, if (bgp_debug_list_has_entry(bgp_debug_update_prefixes, NULL, argv_p)) { - vty_out (vty, "BGP updates debugging is already enabled for %s%s", argv[0], VTY_NEWLINE); + vty_out (vty, "BGP updates debugging is already enabled for %s%s", argv[idx_ipv4_ipv6_prefixlen]->arg, VTY_NEWLINE); return CMD_SUCCESS; } @@ -1302,7 +1315,7 @@ DEFUN (debug_bgp_update_prefix, else { TERM_DEBUG_ON (update, UPDATE_PREFIX); - vty_out (vty, "BGP updates debugging is on for %s%s", argv[0], VTY_NEWLINE); + vty_out (vty, "BGP updates debugging is on for %s%s", argv[idx_ipv4_ipv6_prefixlen]->arg, VTY_NEWLINE); } return CMD_SUCCESS; @@ -1310,22 +1323,23 @@ DEFUN (debug_bgp_update_prefix, DEFUN (no_debug_bgp_update_prefix, no_debug_bgp_update_prefix_cmd, - "no debug bgp updates prefix (A.B.C.D/M|X:X::X:X/M)", + "no debug bgp updates prefix <A.B.C.D/M|X:X::X:X/M>", NO_STR DEBUG_STR BGP_STR "BGP updates\n" "Specify a prefix to debug\n" - "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" - "IPv6 prefix <network>/<length>\n") + "IPv4 prefix\n" + "IPv6 prefix\n") { + int idx_ipv4_ipv6_prefixlen = 5; struct prefix *argv_p; int found_prefix = 0; int ret; argv_p = prefix_new(); - ret = str2prefix (argv[0], argv_p); + ret = str2prefix (argv[idx_ipv4_ipv6_prefixlen]->arg, argv_p); if (!ret) { prefix_free(argv_p); @@ -1352,9 +1366,9 @@ DEFUN (no_debug_bgp_update_prefix, } if (found_prefix) - vty_out (vty, "BGP updates debugging is off for %s%s", argv[0], VTY_NEWLINE); + vty_out (vty, "BGP updates debugging is off for %s%s", argv[idx_ipv4_ipv6_prefixlen]->arg, VTY_NEWLINE); else - vty_out (vty, "BGP updates debugging was not enabled for %s%s", argv[0], VTY_NEWLINE); + vty_out (vty, "BGP updates debugging was not enabled for %s%s", argv[idx_ipv4_ipv6_prefixlen]->arg, VTY_NEWLINE); return CMD_SUCCESS; } @@ -1409,20 +1423,21 @@ DEFUN (debug_bgp_zebra, DEFUN (debug_bgp_zebra_prefix, debug_bgp_zebra_prefix_cmd, - "debug bgp zebra prefix (A.B.C.D/M|X:X::X:X/M)", + "debug bgp zebra prefix <A.B.C.D/M|X:X::X:X/M>", DEBUG_STR BGP_STR "BGP Zebra messages\n" "Specify a prefix to debug\n" - "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" - "IPv6 prefix <network>/<length>\n") + "IPv4 prefix\n" + "IPv6 prefix\n") { + int idx_ipv4_ipv6_prefixlen = 4; struct prefix *argv_p; int ret; argv_p = prefix_new(); - ret = str2prefix (argv[0], argv_p); + ret = str2prefix (argv[idx_ipv4_ipv6_prefixlen]->arg, argv_p); if (!ret) { prefix_free(argv_p); @@ -1435,7 +1450,7 @@ DEFUN (debug_bgp_zebra_prefix, if (bgp_debug_list_has_entry(bgp_debug_zebra_prefixes, NULL, argv_p)) { - vty_out (vty, "BGP zebra debugging is already enabled for %s%s", argv[0], VTY_NEWLINE); + vty_out (vty, "BGP zebra debugging is already enabled for %s%s", argv[idx_ipv4_ipv6_prefixlen]->arg, VTY_NEWLINE); return CMD_SUCCESS; } @@ -1446,7 +1461,7 @@ DEFUN (debug_bgp_zebra_prefix, else { TERM_DEBUG_ON (zebra, ZEBRA); - vty_out (vty, "BGP zebra debugging is on for %s%s", argv[0], VTY_NEWLINE); + vty_out (vty, "BGP zebra debugging is on for %s%s", argv[idx_ipv4_ipv6_prefixlen]->arg, VTY_NEWLINE); } return CMD_SUCCESS; @@ -1474,22 +1489,23 @@ DEFUN (no_debug_bgp_zebra, DEFUN (no_debug_bgp_zebra_prefix, no_debug_bgp_zebra_prefix_cmd, - "no debug bgp zebra prefix (A.B.C.D/M|X:X::X:X/M)", + "no debug bgp zebra prefix <A.B.C.D/M|X:X::X:X/M>", NO_STR DEBUG_STR BGP_STR "BGP Zebra messages\n" "Specify a prefix to debug\n" - "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" - "IPv6 prefix <network>/<length>\n") + "IPv4 prefix\n" + "IPv6 prefix\n") { + int idx_ipv4_ipv6_prefixlen = 5; struct prefix *argv_p; int found_prefix = 0; int ret; argv_p = prefix_new(); - ret = str2prefix (argv[0], argv_p); + ret = str2prefix (argv[idx_ipv4_ipv6_prefixlen]->arg, argv_p); if (!ret) { prefix_free(argv_p); @@ -1514,9 +1530,9 @@ DEFUN (no_debug_bgp_zebra_prefix, } if (found_prefix) - vty_out (vty, "BGP zebra debugging is off for %s%s", argv[0], VTY_NEWLINE); + vty_out (vty, "BGP zebra debugging is off for %s%s", argv[idx_ipv4_ipv6_prefixlen]->arg, VTY_NEWLINE); else - vty_out (vty, "BGP zebra debugging was not enabled for %s%s", argv[0], VTY_NEWLINE); + vty_out (vty, "BGP zebra debugging was not enabled for %s%s", argv[idx_ipv4_ipv6_prefixlen]->arg, VTY_NEWLINE); return CMD_SUCCESS; } @@ -1556,12 +1572,6 @@ DEFUN (no_debug_bgp_allow_martians, return CMD_SUCCESS; } -ALIAS (no_debug_bgp_allow_martians, - undebug_bgp_allow_martians_cmd, - "undebug bgp allow-martians", - UNDEBUG_STR - BGP_STR - "BGP allow martian next hops\n") /* debug bgp update-groups */ DEFUN (debug_bgp_update_groups, @@ -1906,7 +1916,6 @@ bgp_debug_init (void) install_element (ENABLE_NODE, &no_debug_bgp_zebra_cmd); install_element (CONFIG_NODE, &no_debug_bgp_zebra_cmd); install_element (ENABLE_NODE, &no_debug_bgp_allow_martians_cmd); - install_element (ENABLE_NODE, &undebug_bgp_allow_martians_cmd); install_element (CONFIG_NODE, &no_debug_bgp_allow_martians_cmd); install_element (ENABLE_NODE, &no_debug_bgp_update_groups_cmd); install_element (CONFIG_NODE, &no_debug_bgp_update_groups_cmd); |
