mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-04-30 14:36:00 +00:00
lib: Add more information to show version
Add to lib/command.c the ability to remember the release/version/system information and to allow `show version` to dump some of it. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
parent
cd44428d62
commit
46b48b3302
@ -106,6 +106,21 @@ const char *cmd_domainname_get(void)
|
|||||||
return host.domainname;
|
return host.domainname;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *cmd_system_get(void)
|
||||||
|
{
|
||||||
|
return host.system;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *cmd_release_get(void)
|
||||||
|
{
|
||||||
|
return host.release;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *cmd_version_get(void)
|
||||||
|
{
|
||||||
|
return host.version;
|
||||||
|
}
|
||||||
|
|
||||||
static int root_on_exit(struct vty *vty);
|
static int root_on_exit(struct vty *vty);
|
||||||
|
|
||||||
/* Standard command node structures. */
|
/* Standard command node structures. */
|
||||||
@ -1398,8 +1413,9 @@ DEFUN (show_version,
|
|||||||
SHOW_STR
|
SHOW_STR
|
||||||
"Displays zebra version\n")
|
"Displays zebra version\n")
|
||||||
{
|
{
|
||||||
vty_out(vty, "%s %s (%s).\n", FRR_FULL_NAME, FRR_VERSION,
|
vty_out(vty, "%s %s (%s) on %s(%s).\n", FRR_FULL_NAME, FRR_VERSION,
|
||||||
cmd_hostname_get() ? cmd_hostname_get() : "");
|
cmd_hostname_get() ? cmd_hostname_get() : "", cmd_system_get(),
|
||||||
|
cmd_release_get());
|
||||||
vty_out(vty, "%s%s\n", FRR_COPYRIGHT, GIT_INFO);
|
vty_out(vty, "%s%s\n", FRR_COPYRIGHT, GIT_INFO);
|
||||||
#ifdef ENABLE_VERSION_BUILD_CONFIG
|
#ifdef ENABLE_VERSION_BUILD_CONFIG
|
||||||
vty_out(vty, "configured with:\n %s\n", FRR_CONFIG_ARGS);
|
vty_out(vty, "configured with:\n %s\n", FRR_CONFIG_ARGS);
|
||||||
@ -2445,6 +2461,10 @@ void cmd_init(int terminal)
|
|||||||
|
|
||||||
/* Default host value settings. */
|
/* Default host value settings. */
|
||||||
host.name = XSTRDUP(MTYPE_HOST, names.nodename);
|
host.name = XSTRDUP(MTYPE_HOST, names.nodename);
|
||||||
|
host.system = XSTRDUP(MTYPE_HOST, names.sysname);
|
||||||
|
host.release = XSTRDUP(MTYPE_HOST, names.release);
|
||||||
|
host.version = XSTRDUP(MTYPE_HOST, names.version);
|
||||||
|
|
||||||
#ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME
|
#ifdef HAVE_STRUCT_UTSNAME_DOMAINNAME
|
||||||
if ((strcmp(names.domainname, "(none)") == 0))
|
if ((strcmp(names.domainname, "(none)") == 0))
|
||||||
host.domainname = NULL;
|
host.domainname = NULL;
|
||||||
@ -2563,6 +2583,9 @@ void cmd_terminate(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
XFREE(MTYPE_HOST, host.name);
|
XFREE(MTYPE_HOST, host.name);
|
||||||
|
XFREE(MTYPE_HOST, host.system);
|
||||||
|
XFREE(MTYPE_HOST, host.release);
|
||||||
|
XFREE(MTYPE_HOST, host.version);
|
||||||
XFREE(MTYPE_HOST, host.domainname);
|
XFREE(MTYPE_HOST, host.domainname);
|
||||||
XFREE(MTYPE_HOST, host.password);
|
XFREE(MTYPE_HOST, host.password);
|
||||||
XFREE(MTYPE_HOST, host.password_encrypt);
|
XFREE(MTYPE_HOST, host.password_encrypt);
|
||||||
|
@ -55,6 +55,13 @@ struct host {
|
|||||||
/* Domainname of this router */
|
/* Domainname of this router */
|
||||||
char *domainname;
|
char *domainname;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Some extra system data that is useful
|
||||||
|
*/
|
||||||
|
char *system;
|
||||||
|
char *release;
|
||||||
|
char *version;
|
||||||
|
|
||||||
/* Password for vty interface. */
|
/* Password for vty interface. */
|
||||||
char *password;
|
char *password;
|
||||||
char *password_encrypt;
|
char *password_encrypt;
|
||||||
@ -600,6 +607,9 @@ extern int cmd_domainname_set(const char *domainname);
|
|||||||
extern int cmd_hostname_set(const char *hostname);
|
extern int cmd_hostname_set(const char *hostname);
|
||||||
extern const char *cmd_hostname_get(void);
|
extern const char *cmd_hostname_get(void);
|
||||||
extern const char *cmd_domainname_get(void);
|
extern const char *cmd_domainname_get(void);
|
||||||
|
extern const char *cmd_system_get(void);
|
||||||
|
extern const char *cmd_release_get(void);
|
||||||
|
extern const char *cmd_version_get(void);
|
||||||
|
|
||||||
/* NOT safe for general use; call this only if DEV_BUILD! */
|
/* NOT safe for general use; call this only if DEV_BUILD! */
|
||||||
extern void grammar_sandbox_init(void);
|
extern void grammar_sandbox_init(void);
|
||||||
|
Loading…
Reference in New Issue
Block a user