summaryrefslogtreecommitdiff
path: root/bgpd/bgp_debug.c
diff options
context:
space:
mode:
Diffstat (limited to 'bgpd/bgp_debug.c')
-rw-r--r--bgpd/bgp_debug.c139
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);