summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <donaldsharp72@gmail.com>2024-03-08 08:11:14 -0500
committerGitHub <noreply@github.com>2024-03-08 08:11:14 -0500
commit0d31f63dba95658fc8a553c450cecf78775b8423 (patch)
tree54917504a4c783ccc1e43ff56f4ebcce8acffc15
parent10486960b464cfef9d8002d6e5a204de0d1ab995 (diff)
parent1db1fbf7a65ff6b6b7c33d365d22020dbf8f8000 (diff)
Merge pull request #15497 from idryzhov/show-run-fixes
a couple of fixes for "show running-config"
-rw-r--r--lib/if.c11
-rw-r--r--ripd/rip_cli.c6
-rw-r--r--ripd/rip_nb.h1
-rw-r--r--ripngd/ripng_cli.c6
-rw-r--r--ripngd/ripng_nb.h1
5 files changed, 25 insertions, 0 deletions
diff --git a/lib/if.c b/lib/if.c
index a344c2b865..a8ceac7243 100644
--- a/lib/if.c
+++ b/lib/if.c
@@ -1340,6 +1340,15 @@ static void cli_show_interface_end(struct vty *vty,
vty_out(vty, "exit\n");
}
+static int cli_cmp_interface(const struct lyd_node *dnode1,
+ const struct lyd_node *dnode2)
+{
+ const char *ifname1 = yang_dnode_get_string(dnode1, "name");
+ const char *ifname2 = yang_dnode_get_string(dnode2, "name");
+
+ return if_cmp_name_func(ifname1, ifname2);
+}
+
void if_vty_config_start(struct vty *vty, struct interface *ifp)
{
vty_frame(vty, "!\n");
@@ -1760,6 +1769,7 @@ const struct frr_yang_module_info frr_interface_info = {
.destroy = lib_interface_destroy,
.cli_show = cli_show_interface,
.cli_show_end = cli_show_interface_end,
+ .cli_cmp = cli_cmp_interface,
.get_next = lib_interface_get_next,
.get_keys = lib_interface_get_keys,
.lookup_entry = lib_interface_lookup_entry,
@@ -1842,6 +1852,7 @@ const struct frr_yang_module_info frr_interface_cli_info = {
.cbs = {
.cli_show = cli_show_interface,
.cli_show_end = cli_show_interface_end,
+ .cli_cmp = cli_cmp_interface,
},
},
{
diff --git a/ripd/rip_cli.c b/ripd/rip_cli.c
index 29db1b232d..2e967698ea 100644
--- a/ripd/rip_cli.c
+++ b/ripd/rip_cli.c
@@ -83,6 +83,11 @@ void cli_show_router_rip(struct vty *vty, const struct lyd_node *dnode,
vty_out(vty, "\n");
}
+void cli_show_end_router_rip(struct vty *vty, const struct lyd_node *dnode)
+{
+ vty_out(vty, "exit\n");
+}
+
/*
* XPath: /frr-ripd:ripd/instance/allow-ecmp
*/
@@ -1332,6 +1337,7 @@ const struct frr_yang_module_info frr_ripd_cli_info = {
{
.xpath = "/frr-ripd:ripd/instance",
.cbs.cli_show = cli_show_router_rip,
+ .cbs.cli_show_end = cli_show_end_router_rip,
},
{
.xpath = "/frr-ripd:ripd/instance/allow-ecmp",
diff --git a/ripd/rip_nb.h b/ripd/rip_nb.h
index d07273af80..ee592daf81 100644
--- a/ripd/rip_nb.h
+++ b/ripd/rip_nb.h
@@ -173,6 +173,7 @@ void ripd_instance_timers_apply_finish(struct nb_cb_apply_finish_args *args);
/* Optional 'cli_show' callbacks. */
void cli_show_router_rip(struct vty *vty, const struct lyd_node *dnode,
bool show_defaults);
+void cli_show_end_router_rip(struct vty *vty, const struct lyd_node *dnode);
void cli_show_rip_allow_ecmp(struct vty *vty, const struct lyd_node *dnode,
bool show_defaults);
void cli_show_rip_default_information_originate(struct vty *vty,
diff --git a/ripngd/ripng_cli.c b/ripngd/ripng_cli.c
index a4a0f5a2cb..ed460a239e 100644
--- a/ripngd/ripng_cli.c
+++ b/ripngd/ripng_cli.c
@@ -83,6 +83,11 @@ void cli_show_router_ripng(struct vty *vty, const struct lyd_node *dnode,
vty_out(vty, "\n");
}
+void cli_show_end_router_ripng(struct vty *vty, const struct lyd_node *dnode)
+{
+ vty_out(vty, "exit\n");
+}
+
/*
* XPath: /frr-ripngd:ripngd/instance/allow-ecmp
*/
@@ -701,6 +706,7 @@ const struct frr_yang_module_info frr_ripngd_cli_info = {
{
.xpath = "/frr-ripngd:ripngd/instance",
.cbs.cli_show = cli_show_router_ripng,
+ .cbs.cli_show_end = cli_show_end_router_ripng,
},
{
.xpath = "/frr-ripngd:ripngd/instance/allow-ecmp",
diff --git a/ripngd/ripng_nb.h b/ripngd/ripng_nb.h
index a6ac1fba07..790a50f628 100644
--- a/ripngd/ripng_nb.h
+++ b/ripngd/ripng_nb.h
@@ -107,6 +107,7 @@ void ripngd_instance_timers_apply_finish(struct nb_cb_apply_finish_args *args);
/* Optional 'cli_show' callbacks. */
void cli_show_router_ripng(struct vty *vty, const struct lyd_node *dnode,
bool show_defaults);
+void cli_show_end_router_ripng(struct vty *vty, const struct lyd_node *dnode);
void cli_show_ripng_allow_ecmp(struct vty *vty, const struct lyd_node *dnode,
bool show_defaults);
void cli_show_ripng_default_information_originate(struct vty *vty,