mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 15:33:56 +00:00
vtysh: improve config-write error reporting
Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
This commit is contained in:
parent
87f44e2f0b
commit
c10c5926cb
@ -2479,9 +2479,9 @@ vtysh_write_config_integrated(void)
|
|||||||
fp = fopen (quagga_config, "w");
|
fp = fopen (quagga_config, "w");
|
||||||
if (fp == NULL)
|
if (fp == NULL)
|
||||||
{
|
{
|
||||||
fprintf (stdout,"%% Can't open configuration file %s due to '%s'\n",
|
fprintf (stdout,"%% Error: failed to open configuration file %s: %s\n",
|
||||||
quagga_config, safe_strerror(errno));
|
quagga_config, safe_strerror(errno));
|
||||||
return CMD_SUCCESS;
|
return CMD_WARNING;
|
||||||
}
|
}
|
||||||
fd = fileno (fp);
|
fd = fileno (fp);
|
||||||
|
|
||||||
@ -2538,12 +2538,11 @@ vtysh_write_config_integrated(void)
|
|||||||
|
|
||||||
fclose (fp);
|
fclose (fp);
|
||||||
|
|
||||||
|
printf ("Integrated configuration saved to %s\n", quagga_config);
|
||||||
if (err)
|
if (err)
|
||||||
return CMD_WARNING;
|
return CMD_WARNING;
|
||||||
|
|
||||||
fprintf (stdout,"Integrated configuration saved to %s\n", quagga_config);
|
printf ("[OK]\n");
|
||||||
fprintf (stdout,"[OK]\n");
|
|
||||||
|
|
||||||
return CMD_SUCCESS;
|
return CMD_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2589,9 +2588,9 @@ DEFUN (vtysh_write_memory,
|
|||||||
|
|
||||||
if (ret != CMD_SUCCESS)
|
if (ret != CMD_SUCCESS)
|
||||||
{
|
{
|
||||||
printf("Warning: attempting direct configuration write without "
|
printf("\nWarning: attempting direct configuration write without "
|
||||||
"watchquagga.\nFile permissions and ownership may be "
|
"watchquagga.\nFile permissions and ownership may be "
|
||||||
"incorrect, or write may fail.\n");
|
"incorrect, or write may fail.\n\n");
|
||||||
ret = vtysh_write_config_integrated();
|
ret = vtysh_write_config_integrated();
|
||||||
}
|
}
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -113,6 +113,12 @@ void integrated_write_sigchld(int status)
|
|||||||
zlog_warn("configuration write terminated");
|
zlog_warn("configuration write terminated");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (reply[3] != CMD_SUCCESS) {
|
||||||
|
/* failure might be silent in vtysh without this */
|
||||||
|
static const char msg[] = "% Configuration write failed.\n";
|
||||||
|
write(integrated_result_fd, msg, strlen(msg));
|
||||||
|
}
|
||||||
|
|
||||||
/* don't care about failures here, if the connection is broken the
|
/* don't care about failures here, if the connection is broken the
|
||||||
* return value will just be lost. */
|
* return value will just be lost. */
|
||||||
write(integrated_result_fd, reply, sizeof(reply));
|
write(integrated_result_fd, reply, sizeof(reply));
|
||||||
|
Loading…
Reference in New Issue
Block a user