Merge pull request #5543 from Jafaral/routerid

zebra: add 'show router-id'
This commit is contained in:
Donatas Abraitis 2019-12-19 11:26:18 +02:00 committed by GitHub
commit 25c4cecfcd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 50 additions and 0 deletions

View File

@ -916,3 +916,22 @@ zebra Terminal Mode Commands
Display nexthop groups created by zebra.
Router-id
=========
Many routing protocols require a router-id to be configured. To have a
consistent router-id across all daemons, the following commands are available
to configure and display the router-id:
.. index:: [no] router-id A.B.C.D [vrf NAME]
.. clicmd:: [no] router-id A.B.C.D [vrf NAME]
Configure the router-id of this router.
.. index:: show router-id [vrf NAME]
.. clicmd:: show router-id [vrf NAME]
Display the user configured router-id.

View File

@ -253,6 +253,36 @@ DEFUN (no_router_id,
return CMD_SUCCESS;
}
DEFUN (show_router_id,
show_router_id_cmd,
"show router-id [vrf NAME]",
SHOW_STR
"Show the configured router-id\n"
VRF_CMD_HELP_STR)
{
int idx_name = 3;
vrf_id_t vrf_id = VRF_DEFAULT;
struct zebra_vrf *zvrf;
if (argc > 2)
VRF_GET_ID(vrf_id, argv[idx_name]->arg, false);
zvrf = vrf_info_get(vrf_id);
if ((zvrf != NULL) && (zvrf->rid_user_assigned.u.prefix4.s_addr)) {
vty_out(vty, "zebra:\n");
if (vrf_id == VRF_DEFAULT)
vty_out(vty, " router-id %s vrf default\n",
inet_ntoa(zvrf->rid_user_assigned.u.prefix4));
else
vty_out(vty, " router-id %s vrf %s\n",
inet_ntoa(zvrf->rid_user_assigned.u.prefix4),
argv[idx_name]->arg);
}
return CMD_SUCCESS;
}
static int router_id_cmp(void *a, void *b)
{
@ -267,6 +297,7 @@ void router_id_cmd_init(void)
{
install_element(CONFIG_NODE, &router_id_cmd);
install_element(CONFIG_NODE, &no_router_id_cmd);
install_element(VIEW_NODE, &show_router_id_cmd);
}
void router_id_init(struct zebra_vrf *zvrf)