vty: Optionally Set/replace cfg file during cmd 'write file'
This way if the process is started with no file associated (eg. no -c
param and default cfg path doesn't exist), config can be later saved
into a file by passing the parameter. Otherwise, until now this message
was displayed:
Can't save to configuration file, using vtysh.
Related: OS#4024
Change-Id: I38edcf902a08b6bd0ebb9aa6fc1a7041421af525
diff --git a/src/vty/command.c b/src/vty/command.c
index 35169eb..0d24b66 100644
--- a/src/vty/command.c
+++ b/src/vty/command.c
@@ -2927,9 +2927,10 @@
/* Write current configuration into file. */
DEFUN(config_write_file,
config_write_file_cmd,
- "write file",
+ "write file [PATH]",
"Write running configuration to memory, network, or terminal\n"
- "Write to configuration file\n")
+ "Write to configuration file\n"
+ "Set file path to store the config, or replace if already exists\n")
{
char *failed_file;
int rc;
@@ -2943,6 +2944,9 @@
}
}
+ if (argc == 1)
+ host_config_set(argv[0]);
+
if (host.config == NULL) {
vty_out(vty, "Can't save to configuration file, using vtysh.%s",
VTY_NEWLINE);