Merge pull request #4506 from opensourcerouting/fix-outdated-candidate

lib: fix outdated candidate configuration issue
This commit is contained in:
Donald Sharp 2019-06-13 06:01:28 -04:00 committed by GitHub
commit 230113cf71
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 3 deletions

View File

@ -1053,9 +1053,16 @@ static int cmd_execute_command_real(vector vline, enum cmd_filter_type filter,
if (matched_element->daemon)
ret = CMD_SUCCESS_DAEMON;
else {
/* Clear enqueued configuration changes. */
vty->num_cfg_changes = 0;
memset(&vty->cfg_changes, 0, sizeof(vty->cfg_changes));
if (vty->config) {
/* Clear array of enqueued configuration changes. */
vty->num_cfg_changes = 0;
memset(&vty->cfg_changes, 0, sizeof(vty->cfg_changes));
/* Regenerate candidate configuration. */
if (frr_get_cli_mode() == FRR_CLI_CLASSIC)
nb_config_replace(vty->candidate_config,
running_config, true);
}
ret = matched_element->func(matched_element, vty, argc, argv);
}

View File

@ -2289,6 +2289,7 @@ static void vty_read_file(struct nb_config *config, FILE *confp)
vty->wfd = STDERR_FILENO;
vty->type = VTY_FILE;
vty->node = CONFIG_NODE;
vty->config = true;
if (config)
vty->candidate_config = config;
else {