summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vtysh/vtysh.c150
-rw-r--r--vtysh/vtysh.h2
-rw-r--r--vtysh/vtysh_config.c28
-rw-r--r--vtysh/vtysh_main.c2
4 files changed, 91 insertions, 91 deletions
diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c
index 31e7ce12ba..fba39526c6 100644
--- a/vtysh/vtysh.c
+++ b/vtysh/vtysh.c
@@ -44,7 +44,7 @@
DEFINE_MTYPE_STATIC(MVTYSH, VTYSH_CMD, "Vtysh cmd copy");
/* Struct VTY. */
-struct vty *vty;
+struct vty *gvty;
/* VTY shell pager name. */
char *vtysh_pager_name = NULL;
@@ -161,8 +161,8 @@ static int vtysh_reconnect(struct vtysh_client *vclient);
static void vclient_close(struct vtysh_client *vclient)
{
if (vclient->fd >= 0) {
- if (vty->of)
- vty_out(vty,
+ if (gvty->of)
+ vty_out(gvty,
"Warning: closing connection to %s because of an I/O error!\n",
vclient->name);
close(vclient->fd);
@@ -282,8 +282,8 @@ static int vtysh_client_run(struct vtysh_client *vclient, const char *line,
vclient, bufvalid, buf + bufsz - bufvalid - 1, pass_fd);
if (nread <= 0) {
- if (vty->of)
- vty_out(vty,
+ if (gvty->of)
+ vty_out(gvty,
"vtysh: error reading from %s: %s (%d)",
vclient->name, safe_strerror(errno),
errno);
@@ -357,8 +357,8 @@ static int vtysh_client_run(struct vtysh_client *vclient, const char *line,
/* eol is at line end now, either \n => \0 or \0\0\0 */
assert(eol && eol <= bufvalid);
- if (vty->of)
- vty_out(vty, "%s\n", buf);
+ if (gvty->of)
+ vty_out(gvty, "%s\n", buf);
callback(cbarg, buf);
@@ -371,8 +371,8 @@ static int vtysh_client_run(struct vtysh_client *vclient, const char *line,
/* else if no callback, dump raw */
if (!callback) {
- if (vty->of)
- vty_out(vty, "%s", buf);
+ if (gvty->of)
+ vty_out(gvty, "%s", buf);
memmove(buf, buf + textlen, bufvalid - buf - textlen);
bufvalid -= textlen;
if (end)
@@ -431,8 +431,8 @@ static int vtysh_client_run_all(struct vtysh_client *head_client,
rc_all = rc;
}
}
- if (wrong_instance && !correct_instance && vty->of) {
- vty_out(vty,
+ if (wrong_instance && !correct_instance && gvty->of) {
+ vty_out(gvty,
"%% [%s]: command ignored as it targets an instance that is not running\n",
head_client->name);
rc_all = CMD_WARNING_CONFIG_FAILED;
@@ -468,7 +468,7 @@ static int vtysh_client_execute_name(const char *name, const char *line)
if (idx_client != -1)
ret = vtysh_client_execute(&vtysh_client[idx_client], line);
else {
- vty_out(vty, "Client not found\n");
+ vty_out(gvty, "Client not found\n");
ret = CMD_WARNING;
}
@@ -495,11 +495,11 @@ static void vtysh_client_config(struct vtysh_client *head_client, char *line)
return;
/* suppress output to user */
- vty->of_saved = vty->of;
- vty->of = NULL;
+ gvty->of_saved = gvty->of;
+ gvty->of = NULL;
vtysh_client_run_all(head_client, line, 1, vtysh_config_parse_line,
NULL);
- vty->of = vty->of_saved;
+ gvty->of = gvty->of_saved;
}
/* Command execution over the vty interface. */
@@ -522,11 +522,11 @@ static int vtysh_execute_func(const char *line, int pager)
char ts[48];
(void)frr_timestamp(3, ts, sizeof(ts));
- vty_out(vty, "%% %s\n\n", ts);
+ vty_out(gvty, "%% %s\n\n", ts);
}
- saved_ret = ret = cmd_execute(vty, line, &cmd, 1);
- saved_node = vty->node;
+ saved_ret = ret = cmd_execute(gvty, line, &cmd, 1);
+ saved_node = gvty->node;
/*
* If command doesn't succeeded in current node, try to walk up in node
@@ -536,13 +536,13 @@ static int vtysh_execute_func(const char *line, int pager)
while (ret != CMD_SUCCESS && ret != CMD_SUCCESS_DAEMON
&& ret != CMD_WARNING && ret != CMD_WARNING_CONFIG_FAILED
&& ret != CMD_ERR_AMBIGUOUS && ret != CMD_ERR_INCOMPLETE
- && vty->node > CONFIG_NODE) {
- vty->node = node_parent(vty->node);
- ret = cmd_execute(vty, line, &cmd, 1);
+ && gvty->node > CONFIG_NODE) {
+ gvty->node = node_parent(gvty->node);
+ ret = cmd_execute(gvty, line, &cmd, 1);
tried++;
}
- vty->node = saved_node;
+ gvty->node = saved_node;
/*
* If command succeeded in any other node than current (tried > 0) we
@@ -567,17 +567,17 @@ static int vtysh_execute_func(const char *line, int pager)
switch (ret) {
case CMD_WARNING:
case CMD_WARNING_CONFIG_FAILED:
- if (vty->type == VTY_FILE)
- vty_out(vty, "Warning...\n");
+ if (gvty->type == VTY_FILE)
+ vty_out(gvty, "Warning...\n");
break;
case CMD_ERR_AMBIGUOUS:
- vty_out(vty, "%% Ambiguous command: %s\n", line);
+ vty_out(gvty, "%% Ambiguous command: %s\n", line);
break;
case CMD_ERR_NO_MATCH:
- vty_out(vty, "%% Unknown command: %s\n", line);
+ vty_out(gvty, "%% Unknown command: %s\n", line);
break;
case CMD_ERR_INCOMPLETE:
- vty_out(vty, "%% Command incomplete: %s\n", line);
+ vty_out(gvty, "%% Command incomplete: %s\n", line);
break;
case CMD_SUCCESS_DAEMON: {
/*
@@ -586,7 +586,7 @@ static int vtysh_execute_func(const char *line, int pager)
* cause any problem but is really ugly.
*/
if (pager && strncmp(line, "exit", 4))
- vty_open_pager(vty);
+ vty_open_pager(gvty);
if (!strcmp(cmd->string, "configure")) {
for (i = 0; i < array_size(vtysh_client); i++) {
@@ -602,17 +602,17 @@ static int vtysh_execute_func(const char *line, int pager)
if (vline == NULL) {
- if (vty->is_paged)
- vty_close_pager(vty);
+ if (gvty->is_paged)
+ vty_close_pager(gvty);
return CMD_SUCCESS;
}
- ret = cmd_execute_command(vline, vty, &cmd, 1);
+ ret = cmd_execute_command(vline, gvty, &cmd, 1);
cmd_free_strvec(vline);
if (ret != CMD_SUCCESS_DAEMON)
break;
} else if (cmd->func) {
- (*cmd->func)(cmd, vty, 0, NULL);
+ (*cmd->func)(cmd, gvty, 0, NULL);
break;
}
}
@@ -653,11 +653,11 @@ static int vtysh_execute_func(const char *line, int pager)
break;
if (cmd->func)
- (*cmd->func)(cmd, vty, 0, NULL);
+ (*cmd->func)(cmd, gvty, 0, NULL);
}
}
- if (vty->is_paged)
- vty_close_pager(vty);
+ if (gvty->is_paged)
+ vty_close_pager(gvty);
return cmd_stat;
}
@@ -980,21 +980,21 @@ static int vtysh_process_questionmark(const char *input, int input_len)
} else if (input_len && isspace((unsigned char)input[input_len - 1]))
vector_set(vline, NULL);
- describe = cmd_describe_command(vline, vty, &ret);
+ describe = cmd_describe_command(vline, gvty, &ret);
/* Ambiguous and no match error. */
switch (ret) {
case CMD_ERR_AMBIGUOUS:
cmd_free_strvec(vline);
vector_free(describe);
- vty_out(vty, "%% Ambiguous command.\n");
+ vty_out(gvty, "%% Ambiguous command.\n");
rl_on_new_line();
return 0;
case CMD_ERR_NO_MATCH:
cmd_free_strvec(vline);
if (describe)
vector_free(describe);
- vty_out(vty, "%% There is no matched command.\n");
+ vty_out(gvty, "%% There is no matched command.\n");
rl_on_new_line();
return 0;
}
@@ -1015,9 +1015,9 @@ static int vtysh_process_questionmark(const char *input, int input_len)
for (i = 0; i < vector_active(describe); i++)
if ((token = vector_slot(describe, i)) != NULL) {
if (!token->desc)
- vty_out(vty, " %-s\n", token->text);
+ vty_out(gvty, " %-s\n", token->text);
else
- vty_out(vty, " %-*s %s\n", width, token->text,
+ vty_out(gvty, " %-*s %s\n", width, token->text,
token->desc);
if (IS_VARYING_TOKEN(token->type)) {
@@ -1033,7 +1033,7 @@ static int vtysh_process_questionmark(const char *input, int input_len)
char *ac = cmd_variable_comp2str(
varcomps, cols);
- vty_out(vty, "%s\n", ac);
+ vty_out(gvty, "%s\n", ac);
XFREE(MTYPE_TMP, ac);
}
@@ -1056,7 +1056,7 @@ static int vtysh_rl_describe(int a, int b)
{
int ret;
- vty_out(vty, "\n");
+ vty_out(gvty, "\n");
ret = vtysh_process_questionmark(rl_line_buffer, rl_end);
rl_on_new_line();
@@ -1116,7 +1116,7 @@ static char *command_generator(const char *text, int state)
if (!state) {
index = 0;
- if (vty->node == AUTH_NODE || vty->node == AUTH_ENABLE_NODE)
+ if (gvty->node == AUTH_NODE || gvty->node == AUTH_ENABLE_NODE)
return NULL;
vline = cmd_make_strvec(rl_line_buffer);
@@ -1127,7 +1127,7 @@ static char *command_generator(const char *text, int state)
isspace((unsigned char)rl_line_buffer[rl_end - 1]))
vector_set(vline, NULL);
- matched = cmd_complete_command(vline, vty, &complete_status);
+ matched = cmd_complete_command(vline, gvty, &complete_status);
cmd_free_strvec(vline);
}
@@ -1672,13 +1672,13 @@ extern struct cmd_node vty_node;
/* When '^Z' is received from vty, move down to the enable mode. */
static int vtysh_end(void)
{
- switch (vty->node) {
+ switch (gvty->node) {
case VIEW_NODE:
case ENABLE_NODE:
/* Nothing to do. */
break;
default:
- vty->node = ENABLE_NODE;
+ gvty->node = ENABLE_NODE;
break;
}
return CMD_SUCCESS;
@@ -3627,7 +3627,7 @@ static void show_route_map_send(const char *route_map, bool json)
strlcat(command_line, " json", sizeof(command_line));
if (json)
- vty_out(vty, "{");
+ vty_out(gvty, "{");
for (i = 0; i < array_size(vtysh_client); i++) {
const struct vtysh_client *client = &vtysh_client[i];
@@ -3644,18 +3644,18 @@ static void show_route_map_send(const char *route_map, bool json)
continue;
if (json && !first)
- vty_out(vty, ",");
+ vty_out(gvty, ",");
else
first = false;
if (json)
- vty_out(vty, "\"%s\":", vtysh_client[i].name);
+ vty_out(gvty, "\"%s\":", vtysh_client[i].name);
vtysh_client_execute_name(vtysh_client[i].name, command_line);
}
if (json)
- vty_out(vty, "}\n");
+ vty_out(gvty, "}\n");
}
DEFPY (show_route_map,
@@ -3699,7 +3699,7 @@ static void show_prefix_list_send(afi_t afi, const char *prefix_list,
strlcat(command_line, " json", sizeof(command_line));
if (json)
- vty_out(vty, "{");
+ vty_out(gvty, "{");
for (i = 0; i < array_size(vtysh_client); i++) {
const struct vtysh_client *client = &vtysh_client[i];
@@ -3716,18 +3716,18 @@ static void show_prefix_list_send(afi_t afi, const char *prefix_list,
continue;
if (json && !first)
- vty_out(vty, ",");
+ vty_out(gvty, ",");
else
first = false;
if (json)
- vty_out(vty, "\"%s\":", vtysh_client[i].name);
+ vty_out(gvty, "\"%s\":", vtysh_client[i].name);
vtysh_client_execute_name(vtysh_client[i].name, command_line);
}
if (json)
- vty_out(vty, "}\n");
+ vty_out(gvty, "}\n");
}
DEFPY (show_ip_prefix_list,
@@ -3842,7 +3842,7 @@ static void show_access_list_send(afi_t afi, const char *access_list, bool json)
strlcat(command_line, access_list, sizeof(command_line));
if (json) {
strlcat(command_line, " json", sizeof(command_line));
- vty_out(vty, "{");
+ vty_out(gvty, "{");
}
for (i = 0; i < array_size(vtysh_client); i++) {
@@ -3860,18 +3860,18 @@ static void show_access_list_send(afi_t afi, const char *access_list, bool json)
continue;
if (json && !first)
- vty_out(vty, ",");
+ vty_out(gvty, ",");
else
first = false;
if (json)
- vty_out(vty, "\"%s\":", vtysh_client[i].name);
+ vty_out(gvty, "\"%s\":", vtysh_client[i].name);
vtysh_client_execute_name(vtysh_client[i].name, command_line);
}
if (json)
- vty_out(vty, "}\n");
+ vty_out(gvty, "}\n");
}
DEFPY (show_ip_access_list,
@@ -3956,10 +3956,10 @@ static void backup_config_file(const char *fbackup)
/* Move current configuration file to backup config file. */
if (unlink(integrate_sav) != 0 && errno != ENOENT)
- vty_out(vty, "Unlink failed for %s: %s\n", integrate_sav,
+ vty_out(gvty, "Unlink failed for %s: %s\n", integrate_sav,
strerror(errno));
if (rename(fbackup, integrate_sav) != 0 && errno != ENOENT)
- vty_out(vty, "Error renaming %s to %s: %s\n", fbackup,
+ vty_out(gvty, "Error renaming %s to %s: %s\n", fbackup,
integrate_sav, strerror(errno));
free(integrate_sav);
}
@@ -3981,12 +3981,12 @@ int vtysh_write_config_integrated(void)
struct stat st;
int err = 0;
- vty_out(vty, "Building Configuration...\n");
+ vty_out(gvty, "Building Configuration...\n");
backup_config_file(frr_config);
fp = fopen(frr_config, "w");
if (fp == NULL) {
- vty_out(vty,
+ vty_out(gvty,
"%% Error: failed to open configuration file %s: %s\n",
frr_config, safe_strerror(errno));
return CMD_WARNING_CONFIG_FAILED;
@@ -3997,10 +3997,10 @@ int vtysh_write_config_integrated(void)
vtysh_client_config(&vtysh_client[i], line);
vtysh_config_write();
- vty->of_saved = vty->of;
- vty->of = fp;
+ gvty->of_saved = gvty->of;
+ gvty->of = fp;
vtysh_config_dump();
- vty->of = vty->of_saved;
+ gvty->of = gvty->of_saved;
if (fchmod(fd, CONFIGFILE_MASK) != 0) {
printf("%% Warning: can't chmod configuration file %s: %s\n",
@@ -4964,7 +4964,7 @@ char *vtysh_prompt(void)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wformat-nonliteral"
/* prompt formatting has a %s in the cmd_node prompt string. */
- snprintf(buf, sizeof(buf), cmd_prompt(vty->node), cmd_hostname_get());
+ snprintf(buf, sizeof(buf), cmd_prompt(gvty->node), cmd_hostname_get());
#pragma GCC diagnostic pop
return buf;
}
@@ -4987,12 +4987,12 @@ static void vtysh_autocomplete(vector comps, struct cmd_token *token)
snprintf(accmd, sizeof(accmd), "autocomplete %d %s %s", token->type,
token->text, token->varname ? token->varname : "-");
- vty->of_saved = vty->of;
- vty->of = NULL;
+ gvty->of_saved = gvty->of;
+ gvty->of = NULL;
for (i = 0; i < array_size(vtysh_client); i++)
vtysh_client_run_all(&vtysh_client[i], accmd, 1, vtysh_ac_line,
comps);
- vty->of = vty->of_saved;
+ gvty->of = gvty->of_saved;
}
static const struct cmd_variable_handler vtysh_var_handler[] = {
@@ -5004,8 +5004,8 @@ static const struct cmd_variable_handler vtysh_var_handler[] = {
void vtysh_uninit(void)
{
- if (vty->of != stdout)
- fclose(vty->of);
+ if (gvty->of != stdout)
+ fclose(gvty->of);
}
void vtysh_init_vty(void)
@@ -5026,12 +5026,12 @@ void vtysh_init_vty(void)
stderr_stdout_same = true;
/* Make vty structure. */
- vty = vty_new();
- vty->type = VTY_SHELL;
- vty->node = VIEW_NODE;
+ gvty = vty_new();
+ gvty->type = VTY_SHELL;
+ gvty->node = VIEW_NODE;
/* set default output */
- vty->of = stdout;
+ gvty->of = stdout;
vtysh_pager_envdef(false);
/* Initialize commands. */
diff --git a/vtysh/vtysh.h b/vtysh/vtysh.h
index 3c532b99a8..6d5e559a2f 100644
--- a/vtysh/vtysh.h
+++ b/vtysh/vtysh.h
@@ -152,7 +152,7 @@ void suid_off(void);
/* Child process execution flag. */
extern int execute_flag;
-extern struct vty *vty;
+extern struct vty *gvty;
extern int user_mode;
diff --git a/vtysh/vtysh_config.c b/vtysh/vtysh_config.c
index 6536e1b376..4f6fc782c2 100644
--- a/vtysh/vtysh_config.c
+++ b/vtysh/vtysh_config.c
@@ -558,19 +558,19 @@ static void configvec_dump(vector vec, bool nested)
continue;
}
- vty_out(vty, "%s\n", config->name);
+ vty_out(gvty, "%s\n", config->name);
for (ALL_LIST_ELEMENTS(config->line, mnode,
mnnode, line))
- vty_out(vty, "%s\n", line);
+ vty_out(gvty, "%s\n", line);
configvec_dump(config->nested, true);
if (config->exit)
- vty_out(vty, "%s\n", config->exit);
+ vty_out(gvty, "%s\n", config->exit);
if (!NO_DELIMITER(i))
- vty_out(vty, "!\n");
+ vty_out(gvty, "!\n");
config_del(config);
}
@@ -579,7 +579,7 @@ static void configvec_dump(vector vec, bool nested)
XFREE(MTYPE_VTYSH_CONFIG, configuration);
vector_slot(vec, i) = NULL;
if (!nested && NO_DELIMITER(i))
- vty_out(vty, "!\n");
+ vty_out(gvty, "!\n");
}
}
@@ -589,11 +589,11 @@ void vtysh_config_dump(void)
char *line;
for (ALL_LIST_ELEMENTS(config_top, node, nnode, line))
- vty_out(vty, "%s\n", line);
+ vty_out(gvty, "%s\n", line);
list_delete_all_node(config_top);
- vty_out(vty, "!\n");
+ vty_out(gvty, "!\n");
configvec_dump(configvec, false);
}
@@ -601,13 +601,13 @@ void vtysh_config_dump(void)
/* Read up configuration file from file_name. */
static int vtysh_read_file(FILE *confp, bool dry_run)
{
- struct vty *vty;
+ struct vty *lvty;
int ret;
- vty = vty_new();
- vty->wfd = STDERR_FILENO;
- vty->type = VTY_TERM;
- vty->node = CONFIG_NODE;
+ lvty = vty_new();
+ lvty->wfd = STDERR_FILENO;
+ lvty->type = VTY_TERM;
+ lvty->node = CONFIG_NODE;
vtysh_execute_no_pager("enable");
/*
@@ -622,7 +622,7 @@ static int vtysh_read_file(FILE *confp, bool dry_run)
vtysh_execute_no_pager("XFRR_start_configuration");
/* Execute configuration file. */
- ret = vtysh_config_from_file(vty, confp);
+ ret = vtysh_config_from_file(lvty, confp);
if (!dry_run)
vtysh_execute_no_pager("XFRR_end_configuration");
@@ -630,7 +630,7 @@ static int vtysh_read_file(FILE *confp, bool dry_run)
vtysh_execute_no_pager("end");
vtysh_execute_no_pager("disable");
- vty_close(vty);
+ vty_close(lvty);
return (ret);
}
diff --git a/vtysh/vtysh_main.c b/vtysh/vtysh_main.c
index 297d87ec41..16e166beac 100644
--- a/vtysh/vtysh_main.c
+++ b/vtysh/vtysh_main.c
@@ -726,7 +726,7 @@ int main(int argc, char **argv, char **env)
vtysh_readline_init();
- vty_hello(vty);
+ vty_hello(gvty);
/* Enter into enable node. */
if (!user_mode)