]> git.puffer.fish Git - mirror/frr.git/commitdiff
fix(vrrp): display vrrp version by default 18407/head
authorechken <chengcheng.luo@smartx.com>
Mon, 17 Mar 2025 03:43:19 +0000 (03:43 +0000)
committerechken <chengcheng.luo@smartx.com>
Mon, 17 Mar 2025 03:46:26 +0000 (03:46 +0000)
Make the VRRP version information always visible in the running
configuration output, regardless of whether it's the default value
(version 3) or not.

When using frr-reload.py to apply configuration changes, VRRP instances
were being unnecessarily reinitialized even when no actual configuration
changes were made. This occurred because:
The cli_show_vrrp function in vrrpd/vrrp_vty.c does not display the VRRP
version in the show running-config output when it's the default value
(version 3).
Configuration files often explicitly specify vrrp X version 3 even
though it's the default.
When frr-reload.py compares the explicit configuration with the running
configuration, it detects a difference and generates commands to remove
and recreate the VRRP instance.

This patch modifies the cli_show_vrrp function to unconditionally
display the VRRP version, regardless of whether it's the default value
or the show_defaults parameter is set. By making the version information
explicit in all cases, we ensure consistent configuration comparison in
frr-reload.py, preventing unnecessary VRRP reinitialization and
associated network disruptions.

Signed-off-by: echken <chengcheng.luo@smartx.com>
vrrpd/vrrp_vty.c

index 59794d929787b79c991d335dcbc72cf7e444882c..22542d8f8be9a4604ec9c850f8b809e02fe7b57a 100644 (file)
@@ -66,8 +66,7 @@ void cli_show_vrrp(struct vty *vty, const struct lyd_node *dnode, bool show_defa
        const char *ver = yang_dnode_get_string(dnode, "version");
 
        vty_out(vty, " vrrp %s", vrid);
-       if (show_defaults || !yang_dnode_is_default(dnode, "version"))
-               vty_out(vty, " version %s", ver);
+       vty_out(vty, " version %s", ver);
        vty_out(vty, "\n");
 }