summaryrefslogtreecommitdiff
path: root/lib/command.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2019-09-06 13:17:21 -0400
committerGitHub <noreply@github.com>2019-09-06 13:17:21 -0400
commitc341ab3c6217e8958d47e0d533d310f6fd534419 (patch)
tree03060ab585815cea37c209ed1e104efb442af27c /lib/command.c
parent743acc985e74a767ae9e748e047418018349735a (diff)
parent689b9cf5808891f6dada70596767e704082ad44b (diff)
Merge pull request #4939 from opensourcerouting/optimize-nb-cli
lib: optimize non-transactional cli
Diffstat (limited to 'lib/command.c')
-rw-r--r--lib/command.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/command.c b/lib/command.c
index de28a726b0..eecca2a5f5 100644
--- a/lib/command.c
+++ b/lib/command.c
@@ -1061,8 +1061,10 @@ static int cmd_execute_command_real(vector vline, enum cmd_filter_type filter,
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)
+ /* Regenerate candidate configuration if necessary. */
+ if (frr_get_cli_mode() == FRR_CLI_CLASSIC
+ && running_config->version
+ > vty->candidate_config->version)
nb_config_replace(vty->candidate_config,
running_config, true);
}