vtysh: respect --disable-daemon configure flags

Don't install nodes for daemons that are disabled by configure flags.

Signed-off-by: Igor Ryzhov <iryzhov@nfware.com>
This commit is contained in:
Igor Ryzhov 2020-09-29 13:12:55 +03:00
parent 5d57464642
commit 0eb5751da9
2 changed files with 146 additions and 0 deletions

View file

@ -1561,10 +1561,70 @@ dnl --------------------
dnl Daemon disable check
dnl --------------------
AS_IF([test "$enable_bgpd" != "no"], [
AC_DEFINE([HAVE_BGPD], [1], [bgpd])
])
AS_IF([test "$enable_ripd" != "no"], [
AC_DEFINE([HAVE_RIPD], [1], [ripd])
])
AS_IF([test "$enable_ripngd" != "no"], [
AC_DEFINE([HAVE_RIPNGD], [1], [ripngd])
])
AS_IF([test "$enable_ospfd" != "no"], [
AC_DEFINE([HAVE_OSPFD], [1], [ospfd])
])
AS_IF([test "$enable_ospf6d" != "no"], [
AC_DEFINE([HAVE_OSPF6D], [1], [ospf6d])
])
AS_IF([test "$enable_ldpd" != "no"], [
AC_DEFINE([HAVE_LDPD], [1], [ldpd])
])
AS_IF([test "$enable_nhrpd" != "no"], [
AC_DEFINE([HAVE_NHRPD], [1], [nhrpd])
])
AS_IF([test "$enable_eigrpd" != "no"], [
AC_DEFINE([HAVE_EIGRPD], [1], [eigrpd])
])
AS_IF([test "$enable_babeld" != "no"], [
AC_DEFINE([HAVE_BABELD], [1], [babeld])
])
AS_IF([test "$enable_isisd" != "no"], [
AC_DEFINE([HAVE_ISISD], [1], [isisd])
])
AS_IF([test "$enable_pimd" != "no"], [
AC_DEFINE([HAVE_PIMD], [1], [pimd])
])
AS_IF([test "$enable_pbrd" != "no"], [
AC_DEFINE([HAVE_PBRD], [1], [pbrd])
])
AS_IF([test "$enable_sharpd" = "yes"], [
AC_DEFINE([HAVE_SHARPD], [1], [sharpd])
])
AS_IF([test "$enable_staticd" != "no"], [
AC_DEFINE([HAVE_STATICD], [1], [staticd])
])
AS_IF([test "$enable_fabricd" != "no"], [
AC_DEFINE([HAVE_FABRICD], [1], [fabricd])
])
AS_IF([test "$enable_vrrpd" != "no"], [
AC_DEFINE([HAVE_VRRPD], [1], [vrrpd])
])
if test "$enable_bfdd" = "no"; then
AC_DEFINE([HAVE_BFDD], [0], [bfdd])
BFDD=""

View file

@ -1173,12 +1173,14 @@ static char **new_completion(const char *text, int start, int end)
}
/* Vty node structures. */
#ifdef HAVE_BGPD
static struct cmd_node bgp_node = {
.name = "bgp",
.node = BGP_NODE,
.parent_node = CONFIG_NODE,
.prompt = "%s(config-router)# ",
};
#endif /* HAVE_BGPD */
static struct cmd_node rip_node = {
.name = "rip",
@ -1187,19 +1189,23 @@ static struct cmd_node rip_node = {
.prompt = "%s(config-router)# ",
};
#ifdef HAVE_ISISD
static struct cmd_node isis_node = {
.name = "isis",
.node = ISIS_NODE,
.parent_node = CONFIG_NODE,
.prompt = "%s(config-router)# ",
};
#endif /* HAVE_ISISD */
#ifdef HAVE_FABRICD
static struct cmd_node openfabric_node = {
.name = "openfabric",
.node = OPENFABRIC_NODE,
.parent_node = CONFIG_NODE,
.prompt = "%s(config-router)# ",
};
#endif /* HAVE_FABRICD */
static struct cmd_node interface_node = {
.name = "interface",
@ -1236,12 +1242,14 @@ static struct cmd_node rmap_node = {
.prompt = "%s(config-route-map)# ",
};
#ifdef HAVE_PBRD
static struct cmd_node pbr_map_node = {
.name = "pbr-map",
.node = PBRMAP_NODE,
.parent_node = CONFIG_NODE,
.prompt = "%s(config-pbr-map)# ",
};
#endif /* HAVE_PBRD */
static struct cmd_node zebra_node = {
.name = "zebra",
@ -1250,6 +1258,7 @@ static struct cmd_node zebra_node = {
.prompt = "%s(config-router)# ",
};
#ifdef HAVE_BGPD
static struct cmd_node bgp_vpnv4_node = {
.name = "bgp vpnv4",
.node = BGP_VPNV4_NODE,
@ -1334,6 +1343,7 @@ static struct cmd_node bgp_ipv6l_node = {
.prompt = "%s(config-router-af)# ",
};
#ifdef ENABLE_BGP_VNC
static struct cmd_node bgp_vnc_defaults_node = {
.name = "bgp vnc defaults",
.node = BGP_VNC_DEFAULTS_NODE,
@ -1361,6 +1371,7 @@ static struct cmd_node bgp_vnc_l2_group_node = {
.parent_node = BGP_NODE,
.prompt = "%s(config-router-vnc-l2-group)# ",
};
#endif /* ENABLE_BGP_VNC */
static struct cmd_node bmp_node = {
.name = "bmp",
@ -1368,27 +1379,34 @@ static struct cmd_node bmp_node = {
.parent_node = BGP_NODE,
.prompt = "%s(config-bgp-bmp)# "
};
#endif /* HAVE_BGPD */
#ifdef HAVE_OSPFD
static struct cmd_node ospf_node = {
.name = "ospf",
.node = OSPF_NODE,
.parent_node = CONFIG_NODE,
.prompt = "%s(config-router)# ",
};
#endif /* HAVE_OSPFD */
#ifdef HAVE_EIGRPD
static struct cmd_node eigrp_node = {
.name = "eigrp",
.node = EIGRP_NODE,
.parent_node = CONFIG_NODE,
.prompt = "%s(config-router)# ",
};
#endif /* HAVE_EIGRPD */
#ifdef HAVE_BABELD
static struct cmd_node babel_node = {
.name = "babel",
.node = BABEL_NODE,
.parent_node = CONFIG_NODE,
.prompt = "%s(config-router)# ",
};
#endif /* HAVE_BABELD */
static struct cmd_node ripng_node = {
.name = "ripng",
@ -1397,13 +1415,16 @@ static struct cmd_node ripng_node = {
.prompt = "%s(config-router)# ",
};
#ifdef HAVE_OSPF6D
static struct cmd_node ospf6_node = {
.name = "ospf6",
.node = OSPF6_NODE,
.parent_node = CONFIG_NODE,
.prompt = "%s(config-ospf6)# ",
};
#endif /* HAVE_OSPF6D */
#ifdef HAVE_LDPD
static struct cmd_node ldp_node = {
.name = "ldp",
.node = LDP_NODE,
@ -1452,6 +1473,7 @@ static struct cmd_node ldp_pseudowire_node = {
.parent_node = LDP_L2VPN_NODE,
.prompt = "%s(config-l2vpn-pw)# ",
};
#endif /* HAVE_LDPD */
static struct cmd_node keychain_node = {
.name = "keychain",
@ -1474,12 +1496,14 @@ struct cmd_node link_params_node = {
.prompt = "%s(config-link-params)# ",
};
#ifdef HAVE_BGPD
static struct cmd_node rpki_node = {
.name = "rpki",
.node = RPKI_NODE,
.parent_node = CONFIG_NODE,
.prompt = "%s(config-rpki)# ",
};
#endif /* HAVE_BGPD */
#if HAVE_BFDD > 0
static struct cmd_node bfd_node = {
@ -1528,6 +1552,7 @@ DEFUNSH(VTYSH_REALLYALL, vtysh_end_all, vtysh_end_all_cmd, "end",
return vtysh_end();
}
#ifdef HAVE_BGPD
DEFUNSH(VTYSH_BGPD, router_bgp, router_bgp_cmd,
"router bgp [(1-4294967295) [<view|vrf> WORD]]",
ROUTER_STR BGP_STR AS_STR
@ -1748,6 +1773,7 @@ DEFUNSH(VTYSH_BGPD, vnc_l2_group, vnc_l2_group_cmd, "vnc l2-group NAME",
return CMD_SUCCESS;
}
#endif
#endif /* HAVE_BGPD */
DEFUNSH(VTYSH_KEYS, key_chain, key_chain_cmd, "key chain WORD",
"Authentication key management\n"
@ -1766,20 +1792,25 @@ DEFUNSH(VTYSH_KEYS, key, key_cmd, "key (0-2147483647)",
return CMD_SUCCESS;
}
#ifdef HAVE_RIPD
DEFUNSH(VTYSH_RIPD, router_rip, router_rip_cmd, "router rip [vrf NAME]",
ROUTER_STR "RIP\n" VRF_CMD_HELP_STR)
{
vty->node = RIP_NODE;
return CMD_SUCCESS;
}
#endif /* HAVE_RIPD */
#ifdef HAVE_RIPNGD
DEFUNSH(VTYSH_RIPNGD, router_ripng, router_ripng_cmd, "router ripng [vrf NAME]",
ROUTER_STR "RIPng\n" VRF_CMD_HELP_STR)
{
vty->node = RIPNG_NODE;
return CMD_SUCCESS;
}
#endif /* HAVE_RIPNGD */
#ifdef HAVE_OSPFD
DEFUNSH(VTYSH_OSPFD, router_ospf, router_ospf_cmd,
"router ospf [(1-65535)] [vrf NAME]",
"Enable a routing process\n"
@ -1790,7 +1821,9 @@ DEFUNSH(VTYSH_OSPFD, router_ospf, router_ospf_cmd,
vty->node = OSPF_NODE;
return CMD_SUCCESS;
}
#endif /* HAVE_OSPFD */
#ifdef HAVE_EIGRPD
DEFUNSH(VTYSH_EIGRPD, router_eigrp, router_eigrp_cmd, "router eigrp (1-65535) [vrf NAME]",
"Enable a routing process\n"
"Start EIGRP configuration\n"
@ -1800,7 +1833,9 @@ DEFUNSH(VTYSH_EIGRPD, router_eigrp, router_eigrp_cmd, "router eigrp (1-65535) [v
vty->node = EIGRP_NODE;
return CMD_SUCCESS;
}
#endif /* HAVE_EIGRPD */
#ifdef HAVE_BABELD
DEFUNSH(VTYSH_BABELD, router_babel, router_babel_cmd, "router babel",
"Enable a routing process\n"
"Make Babel instance command\n")
@ -1808,13 +1843,16 @@ DEFUNSH(VTYSH_BABELD, router_babel, router_babel_cmd, "router babel",
vty->node = BABEL_NODE;
return CMD_SUCCESS;
}
#endif /* HAVE_BABELD */
#ifdef HAVE_OSPF6D
DEFUNSH(VTYSH_OSPF6D, router_ospf6, router_ospf6_cmd, "router ospf6",
ROUTER_STR OSPF6_STR)
{
vty->node = OSPF6_NODE;
return CMD_SUCCESS;
}
#endif
#if defined(HAVE_LDPD)
DEFUNSH(VTYSH_LDPD, ldp_mpls_ldp, ldp_mpls_ldp_cmd, "mpls ldp",
@ -1892,6 +1930,7 @@ DEFUNSH(VTYSH_LDPD, ldp_member_pseudowire_ifname,
}
#endif
#ifdef HAVE_ISISD
DEFUNSH(VTYSH_ISISD, router_isis, router_isis_cmd,
"router isis WORD [vrf NAME]",
ROUTER_STR
@ -1901,7 +1940,9 @@ DEFUNSH(VTYSH_ISISD, router_isis, router_isis_cmd,
vty->node = ISIS_NODE;
return CMD_SUCCESS;
}
#endif /* HAVE_ISISD */
#ifdef HAVE_FABRICD
DEFUNSH(VTYSH_FABRICD, router_openfabric, router_openfabric_cmd, "router openfabric WORD",
ROUTER_STR
"OpenFabric routing protocol\n"
@ -1910,6 +1951,7 @@ DEFUNSH(VTYSH_FABRICD, router_openfabric, router_openfabric_cmd, "router openfab
vty->node = OPENFABRIC_NODE;
return CMD_SUCCESS;
}
#endif /* HAVE_FABRICD */
DEFUNSH(VTYSH_RMAP, vtysh_route_map, vtysh_route_map_cmd,
"route-map WORD <deny|permit> (1-65535)",
@ -1923,6 +1965,7 @@ DEFUNSH(VTYSH_RMAP, vtysh_route_map, vtysh_route_map_cmd,
return CMD_SUCCESS;
}
#ifdef HAVE_PBRD
DEFUNSH(VTYSH_PBRD, vtysh_pbr_map, vtysh_pbr_map_cmd,
"pbr-map PBRMAP seq (1-700)",
"Create pbr-map or enter pbr-map command mode\n"
@ -1940,6 +1983,7 @@ DEFSH(VTYSH_PBRD, vtysh_no_pbr_map_cmd, "no pbr-map PBRMAP [seq (1-700)]",
"The name of the PBR MAP\n"
"Sequence to delete from existing pbr-map entry\n"
"Sequence number\n")
#endif /* HAVE_PBRD */
#if HAVE_BFDD > 0
DEFUNSH(VTYSH_BFDD, bfd_enter, bfd_enter_cmd, "bfd", "Configure BFD peers\n")
@ -2039,6 +2083,7 @@ DEFUNSH(VTYSH_ALL, vtysh_quit_all, vtysh_quit_all_cmd, "quit",
return vtysh_exit_all(self, vty, argc, argv);
}
#ifdef HAVE_BGPD
DEFUNSH(VTYSH_BGPD, exit_address_family, exit_address_family_cmd,
"exit-address-family", "Exit from Address Family configuration mode\n")
{
@ -2104,6 +2149,7 @@ DEFUNSH(VTYSH_BGPD, exit_vrf_policy, exit_vrf_policy_cmd, "exit-vrf-policy",
vty->node = BGP_NODE;
return CMD_SUCCESS;
}
#endif /* HAVE_BGPD */
DEFUNSH(VTYSH_VRF, exit_vrf_config, exit_vrf_config_cmd, "exit-vrf",
"Exit from VRF configuration mode\n")
@ -2113,6 +2159,7 @@ DEFUNSH(VTYSH_VRF, exit_vrf_config, exit_vrf_config_cmd, "exit-vrf",
return CMD_SUCCESS;
}
#ifdef HAVE_RIPD
DEFUNSH(VTYSH_RIPD, vtysh_exit_ripd, vtysh_exit_ripd_cmd, "exit",
"Exit current mode and down to previous mode\n")
{
@ -2124,7 +2171,9 @@ DEFUNSH(VTYSH_RIPD, vtysh_quit_ripd, vtysh_quit_ripd_cmd, "quit",
{
return vtysh_exit_ripd(self, vty, argc, argv);
}
#endif /* HAVE_RIPD */
#ifdef HAVE_RIPNGD
DEFUNSH(VTYSH_RIPNGD, vtysh_exit_ripngd, vtysh_exit_ripngd_cmd, "exit",
"Exit current mode and down to previous mode\n")
{
@ -2136,6 +2185,7 @@ DEFUNSH(VTYSH_RIPNGD, vtysh_quit_ripngd, vtysh_quit_ripngd_cmd, "quit",
{
return vtysh_exit_ripngd(self, vty, argc, argv);
}
#endif /* HAVE_RIPNGD */
DEFUNSH(VTYSH_RMAP, vtysh_exit_rmap, vtysh_exit_rmap_cmd, "exit",
"Exit current mode and down to previous mode\n")
@ -2149,6 +2199,7 @@ DEFUNSH(VTYSH_RMAP, vtysh_quit_rmap, vtysh_quit_rmap_cmd, "quit",
return vtysh_exit_rmap(self, vty, argc, argv);
}
#ifdef HAVE_PBRD
DEFUNSH(VTYSH_PBRD, vtysh_exit_pbr_map, vtysh_exit_pbr_map_cmd, "exit",
"Exit current mode and down to previous mode\n")
{
@ -2160,7 +2211,9 @@ DEFUNSH(VTYSH_PBRD, vtysh_quit_pbr_map, vtysh_quit_pbr_map_cmd, "quit",
{
return vtysh_exit_rmap(self, vty, argc, argv);
}
#endif /* HAVE_PBRD */
#ifdef HAVE_BGPD
DEFUNSH(VTYSH_BGPD, vtysh_exit_bgpd, vtysh_exit_bgpd_cmd, "exit",
"Exit current mode and down to previous mode\n")
{
@ -2172,7 +2225,9 @@ DEFUNSH(VTYSH_BGPD, vtysh_quit_bgpd, vtysh_quit_bgpd_cmd, "quit",
{
return vtysh_exit_bgpd(self, vty, argc, argv);
}
#endif /* HAVE_BGPD */
#ifdef HAVE_OSPFD
DEFUNSH(VTYSH_OSPFD, vtysh_exit_ospfd, vtysh_exit_ospfd_cmd, "exit",
"Exit current mode and down to previous mode\n")
{
@ -2184,7 +2239,9 @@ DEFUNSH(VTYSH_OSPFD, vtysh_quit_ospfd, vtysh_quit_ospfd_cmd, "quit",
{
return vtysh_exit_ospfd(self, vty, argc, argv);
}
#endif /* HAVE_OSPFD */
#ifdef HAVE_EIGRPD
DEFUNSH(VTYSH_EIGRPD, vtysh_exit_eigrpd, vtysh_exit_eigrpd_cmd, "exit",
"Exit current mode and down to previous mode\n")
{
@ -2196,7 +2253,9 @@ DEFUNSH(VTYSH_EIGRPD, vtysh_quit_eigrpd, vtysh_quit_eigrpd_cmd, "quit",
{
return vtysh_exit(vty);
}
#endif /* HAVE_EIGRPD */
#ifdef HAVE_BABELD
DEFUNSH(VTYSH_BABELD, vtysh_exit_babeld, vtysh_exit_babeld_cmd, "exit",
"Exit current mode and down to previous mode\n")
{
@ -2208,7 +2267,9 @@ DEFUNSH(VTYSH_BABELD, vtysh_quit_babeld, vtysh_quit_babeld_cmd, "quit",
{
return vtysh_exit(vty);
}
#endif /* HAVE_BABELD */
#ifdef HAVE_OSPF6D
DEFUNSH(VTYSH_OSPF6D, vtysh_exit_ospf6d, vtysh_exit_ospf6d_cmd, "exit",
"Exit current mode and down to previous mode\n")
{
@ -2220,6 +2281,7 @@ DEFUNSH(VTYSH_OSPF6D, vtysh_quit_ospf6d, vtysh_quit_ospf6d_cmd, "quit",
{
return vtysh_exit_ospf6d(self, vty, argc, argv);
}
#endif /* HAVE_OSPF6D */
#if defined(HAVE_LDPD)
DEFUNSH(VTYSH_LDPD, vtysh_exit_ldpd, vtysh_exit_ldpd_cmd, "exit",
@ -2232,6 +2294,7 @@ ALIAS(vtysh_exit_ldpd, vtysh_quit_ldpd_cmd, "quit",
"Exit current mode and down to previous mode\n")
#endif
#ifdef HAVE_ISISD
DEFUNSH(VTYSH_ISISD, vtysh_exit_isisd, vtysh_exit_isisd_cmd, "exit",
"Exit current mode and down to previous mode\n")
{
@ -2243,6 +2306,7 @@ DEFUNSH(VTYSH_ISISD, vtysh_quit_isisd, vtysh_quit_isisd_cmd, "quit",
{
return vtysh_exit_isisd(self, vty, argc, argv);
}
#endif /* HAVE_ISISD */
#if HAVE_BFDD > 0
DEFUNSH(VTYSH_BFDD, vtysh_exit_bfdd, vtysh_exit_bfdd_cmd, "exit",
@ -2255,6 +2319,7 @@ ALIAS(vtysh_exit_bfdd, vtysh_quit_bfdd_cmd, "quit",
"Exit current mode and down to previous mode\n")
#endif
#ifdef HAVE_FABRICD
DEFUNSH(VTYSH_FABRICD, vtysh_exit_fabricd, vtysh_exit_fabricd_cmd, "exit",
"Exit current mode and down to previous mode\n")
{
@ -2266,6 +2331,7 @@ DEFUNSH(VTYSH_FABRICD, vtysh_quit_fabricd, vtysh_quit_fabricd_cmd, "quit",
{
return vtysh_exit_fabricd(self, vty, argc, argv);
}
#endif /* HAVE_FABRICD */
DEFUNSH(VTYSH_KEYS, vtysh_exit_keys, vtysh_exit_keys_cmd, "exit",
"Exit current mode and down to previous mode\n")
@ -3784,6 +3850,7 @@ void vtysh_init_vty(void)
cmd_variable_handler_register(vtysh_var_handler);
/* bgpd */
#ifdef HAVE_BGPD
install_node(&bgp_node);
install_element(CONFIG_NODE, &router_bgp_cmd);
install_element(BGP_NODE, &vtysh_exit_bgpd_cmd);
@ -3924,34 +3991,43 @@ void vtysh_init_vty(void)
install_element(BMP_NODE, &bmp_exit_cmd);
install_element(BMP_NODE, &bmp_quit_cmd);
install_element(BMP_NODE, &vtysh_end_all_cmd);
#endif /* HAVE_BGPD */
/* ripd */
install_node(&rip_node);
#ifdef HAVE_RIPD
install_element(CONFIG_NODE, &router_rip_cmd);
install_element(RIP_NODE, &vtysh_exit_ripd_cmd);
install_element(RIP_NODE, &vtysh_quit_ripd_cmd);
install_element(RIP_NODE, &vtysh_end_all_cmd);
#endif /* HAVE_RIPD */
/* ripngd */
install_node(&ripng_node);
#ifdef HAVE_RIPNGD
install_element(CONFIG_NODE, &router_ripng_cmd);
install_element(RIPNG_NODE, &vtysh_exit_ripngd_cmd);
install_element(RIPNG_NODE, &vtysh_quit_ripngd_cmd);
install_element(RIPNG_NODE, &vtysh_end_all_cmd);
#endif /* HAVE_RIPNGD */
/* ospfd */
#ifdef HAVE_OSPFD
install_node(&ospf_node);
install_element(CONFIG_NODE, &router_ospf_cmd);
install_element(OSPF_NODE, &vtysh_exit_ospfd_cmd);
install_element(OSPF_NODE, &vtysh_quit_ospfd_cmd);
install_element(OSPF_NODE, &vtysh_end_all_cmd);
#endif /* HAVE_OSPFD */
/* ospf6d */
#ifdef HAVE_OSPF6D
install_node(&ospf6_node);
install_element(CONFIG_NODE, &router_ospf6_cmd);
install_element(OSPF6_NODE, &vtysh_exit_ospf6d_cmd);
install_element(OSPF6_NODE, &vtysh_quit_ospf6d_cmd);
install_element(OSPF6_NODE, &vtysh_end_all_cmd);
#endif /* HAVE_OSPF6D */
/* ldpd */
#if defined(HAVE_LDPD)
@ -4001,40 +4077,50 @@ void vtysh_init_vty(void)
#endif
/* eigrpd */
#ifdef HAVE_EIGRPD
install_node(&eigrp_node);
install_element(CONFIG_NODE, &router_eigrp_cmd);
install_element(EIGRP_NODE, &vtysh_exit_eigrpd_cmd);
install_element(EIGRP_NODE, &vtysh_quit_eigrpd_cmd);
install_element(EIGRP_NODE, &vtysh_end_all_cmd);
#endif /* HAVE_EIGRPD */
/* babeld */
#ifdef HAVE_BABELD
install_node(&babel_node);
install_element(CONFIG_NODE, &router_babel_cmd);
install_element(BABEL_NODE, &vtysh_exit_babeld_cmd);
install_element(BABEL_NODE, &vtysh_quit_babeld_cmd);
install_element(BABEL_NODE, &vtysh_end_all_cmd);
#endif /* HAVE_BABELD */
/* isisd */
#ifdef HAVE_ISISD
install_node(&isis_node);
install_element(CONFIG_NODE, &router_isis_cmd);
install_element(ISIS_NODE, &vtysh_exit_isisd_cmd);
install_element(ISIS_NODE, &vtysh_quit_isisd_cmd);
install_element(ISIS_NODE, &vtysh_end_all_cmd);
#endif /* HAVE_ISISD */
/* fabricd */
#ifdef HAVE_FABRICD
install_node(&openfabric_node);
install_element(CONFIG_NODE, &router_openfabric_cmd);
install_element(OPENFABRIC_NODE, &vtysh_exit_fabricd_cmd);
install_element(OPENFABRIC_NODE, &vtysh_quit_fabricd_cmd);
install_element(OPENFABRIC_NODE, &vtysh_end_all_cmd);
#endif /* HAVE_FABRICD */
/* pbrd */
#ifdef HAVE_PBRD
install_node(&pbr_map_node);
install_element(CONFIG_NODE, &vtysh_pbr_map_cmd);
install_element(CONFIG_NODE, &vtysh_no_pbr_map_cmd);
install_element(PBRMAP_NODE, &vtysh_exit_pbr_map_cmd);
install_element(PBRMAP_NODE, &vtysh_quit_pbr_map_cmd);
install_element(PBRMAP_NODE, &vtysh_end_all_cmd);
#endif /* HAVE_PBRD */
/* bfdd */
#if HAVE_BFDD > 0