summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorIgor Ryzhov <iryzhov@nfware.com>2022-01-24 00:07:20 +0300
committerIgor Ryzhov <iryzhov@nfware.com>2022-01-24 14:44:05 +0300
commit788a036fdb57d733371b180d1d295ce6ca72bf5d (patch)
treeda6694b6b0d78fd1b679ba02a7808f0fe01f964f /lib
parent9e84443acac051c31e504d8da657c2776332edf5 (diff)
*: do not print vrf name for interface config when using vrf-lite
VRF name should not be printed in the config since 574445ec. The update was done for NB config output but I missed it for regular vty output. Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/if.c16
-rw-r--r--lib/if.h2
2 files changed, 18 insertions, 0 deletions
diff --git a/lib/if.c b/lib/if.c
index 99fa83719a..158303a387 100644
--- a/lib/if.c
+++ b/lib/if.c
@@ -1285,6 +1285,22 @@ static void cli_show_interface_end(struct vty *vty,
vty_out(vty, "exit\n");
}
+void if_vty_config_start(struct vty *vty, struct interface *ifp)
+{
+ vty_frame(vty, "!\n");
+ vty_frame(vty, "interface %s", ifp->name);
+
+ if (vrf_is_backend_netns() && strcmp(ifp->vrf->name, VRF_DEFAULT_NAME))
+ vty_frame(vty, " vrf %s", ifp->vrf->name);
+
+ vty_frame(vty, "\n");
+}
+
+void if_vty_config_end(struct vty *vty)
+{
+ vty_endframe(vty, "exit\n!\n");
+}
+
/*
* XPath: /frr-interface:lib/interface/description
*/
diff --git a/lib/if.h b/lib/if.h
index c8f4d9ab9d..53cd019464 100644
--- a/lib/if.h
+++ b/lib/if.h
@@ -592,6 +592,8 @@ void if_link_params_free(struct interface *);
/* Northbound. */
struct vty;
+extern void if_vty_config_start(struct vty *vty, struct interface *ifp);
+extern void if_vty_config_end(struct vty *vty);
extern void if_cmd_init(int (*config_write)(struct vty *));
extern void if_cmd_init_default(void);
extern void if_zapi_callbacks(int (*create)(struct interface *ifp),