summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2017-07-31 08:52:10 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2017-09-09 14:15:53 -0400
commit0b9d4ca7352c91087dc79c08da945e09be8af1b7 (patch)
treed7488715ea2ea2589216c6ada85d25c476ba71c7
parent53227da0beb10a3d964694c6d6b68f98d066caa3 (diff)
vtysh: Fix shell executed commands
Pretty much all shell executed commands from vtysh were not behaving correctly due to errors introduced in switching to the new cli. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
-rw-r--r--vtysh/vtysh.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c
index 00968531b7..bfa9af62a5 100644
--- a/vtysh/vtysh.c
+++ b/vtysh/vtysh.c
@@ -2267,7 +2267,7 @@ DEFUN (vtysh_show_daemons,
/* Execute command in child process. */
static void execute_command(const char *command, int argc,
- struct cmd_token *arg1, const char *arg2)
+ const char *arg1, const char *arg2)
{
pid_t pid;
int status;
@@ -2312,7 +2312,10 @@ DEFUN (vtysh_ping,
"Send echo messages\n"
"Ping destination address or hostname\n")
{
- execute_command("ping", 1, argv[0], NULL);
+ int idx = 1;
+
+ argv_find(argv, argc, "WORD", &idx);
+ execute_command("ping", 1, argv[idx]->arg, NULL);
return CMD_SUCCESS;
}
@@ -2327,7 +2330,10 @@ DEFUN (vtysh_traceroute,
"Trace route to destination\n"
"Trace route to destination address or hostname\n")
{
- execute_command("traceroute", 1, argv[0], NULL);
+ int idx = 1;
+
+ argv_find(argv, argc, "WORD", &idx);
+ execute_command("traceroute", 1, argv[idx]->arg, NULL);
return CMD_SUCCESS;
}
@@ -2343,7 +2349,7 @@ DEFUN (vtysh_ping6,
"IPv6 echo\n"
"Ping destination address or hostname\n")
{
- execute_command("ping6", 1, argv[0], NULL);
+ execute_command("ping6", 1, argv[2]->arg, NULL);
return CMD_SUCCESS;
}
@@ -2354,7 +2360,7 @@ DEFUN (vtysh_traceroute6,
"IPv6 trace\n"
"Trace route to destination address or hostname\n")
{
- execute_command("traceroute6", 1, argv[0], NULL);
+ execute_command("traceroute6", 1, argv[2]->arg, NULL);
return CMD_SUCCESS;
}
@@ -2365,7 +2371,7 @@ DEFUN (vtysh_telnet,
"Open a telnet connection\n"
"IP address or hostname of a remote system\n")
{
- execute_command("telnet", 1, argv[0], NULL);
+ execute_command("telnet", 1, argv[1]->arg, NULL);
return CMD_SUCCESS;
}
@@ -2376,7 +2382,7 @@ DEFUN (vtysh_telnet_port,
"IP address or hostname of a remote system\n"
"TCP Port number\n")
{
- execute_command("telnet", 2, argv[0], argv[1]);
+ execute_command("telnet", 2, argv[1]->arg, argv[2]->arg);
return CMD_SUCCESS;
}
@@ -2386,7 +2392,7 @@ DEFUN (vtysh_ssh,
"Open an ssh connection\n"
"[user@]host\n")
{
- execute_command("ssh", 1, argv[0], NULL);
+ execute_command("ssh", 1, argv[1]->arg, NULL);
return CMD_SUCCESS;
}