mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-03 08:56:13 +00:00
bgpd, lib, vtysh: hook up bgp ENCAP CLI node
Signed-off-by: Lou Berger <lberger@labn.net> Signed-off-by: David Lamparter <equinox@opensourcerouting.org> (cherry picked from commit a3fda886cdd48b6d8c421ebb1401142fa9ee93b0) Conflicts: bgpd/bgp_vty.c bgpd/bgpd.c vtysh/vtysh_config.c
This commit is contained in:
parent
587ff0fd88
commit
8b1fb8be22
@ -943,9 +943,8 @@ DEFUN (show_bgp_ipv6_encap_rd_neighbor_advertised_routes,
|
||||
void
|
||||
bgp_encap_init (void)
|
||||
{
|
||||
//install_element (BGP_ENCAP_NODE, &encap_network_cmd);
|
||||
//install_element (BGP_ENCAP_NODE, &no_encap_network_cmd);
|
||||
|
||||
install_element (BGP_ENCAP_NODE, &encap_network_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_encap_network_cmd);
|
||||
|
||||
install_element (VIEW_NODE, &show_bgp_ipv4_encap_cmd);
|
||||
install_element (VIEW_NODE, &show_bgp_ipv4_encap_rd_cmd);
|
||||
|
245
bgpd/bgp_vty.c
245
bgpd/bgp_vty.c
@ -64,7 +64,8 @@ bgp_node_afi (struct vty *vty)
|
||||
{
|
||||
if (vty->node == BGP_IPV6_NODE ||
|
||||
vty->node == BGP_IPV6M_NODE ||
|
||||
vty->node == BGP_VPNV6_NODE)
|
||||
vty->node == BGP_VPNV6_NODE ||
|
||||
vty->node == BGP_ENCAPV6_NODE)
|
||||
return AFI_IP6;
|
||||
return AFI_IP;
|
||||
}
|
||||
@ -76,11 +77,51 @@ bgp_node_safi (struct vty *vty)
|
||||
{
|
||||
if (vty->node == BGP_VPNV4_NODE || vty->node == BGP_VPNV6_NODE)
|
||||
return SAFI_MPLS_VPN;
|
||||
if (vty->node == BGP_ENCAP_NODE || vty->node == BGP_ENCAPV6_NODE)
|
||||
return SAFI_ENCAP;
|
||||
if (vty->node == BGP_IPV4M_NODE || vty->node == BGP_IPV6M_NODE)
|
||||
return SAFI_MULTICAST;
|
||||
return SAFI_UNICAST;
|
||||
}
|
||||
|
||||
int
|
||||
bgp_parse_afi(const char *str, afi_t *afi)
|
||||
{
|
||||
if (!strcmp(str, "ipv4")) {
|
||||
*afi = AFI_IP;
|
||||
return 0;
|
||||
}
|
||||
#ifdef HAVE_IPV6
|
||||
if (!strcmp(str, "ipv6")) {
|
||||
*afi = AFI_IP6;
|
||||
return 0;
|
||||
}
|
||||
#endif /* HAVE_IPV6 */
|
||||
return -1;
|
||||
}
|
||||
|
||||
int
|
||||
bgp_parse_safi(const char *str, safi_t *safi)
|
||||
{
|
||||
if (!strcmp(str, "encap")) {
|
||||
*safi = SAFI_ENCAP;
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(str, "multicast")) {
|
||||
*safi = SAFI_MULTICAST;
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(str, "unicast")) {
|
||||
*safi = SAFI_UNICAST;
|
||||
return 0;
|
||||
}
|
||||
if (!strcmp(str, "vpn")) {
|
||||
*safi = SAFI_MPLS_VPN;
|
||||
return 0;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int
|
||||
peer_address_self_check (struct bgp *bgp, union sockunion *su)
|
||||
{
|
||||
@ -5883,6 +5924,32 @@ ALIAS (address_family_vpnv6,
|
||||
"Address family\n"
|
||||
"Address Family Modifier\n")
|
||||
|
||||
DEFUN (address_family_encap,
|
||||
address_family_encap_cmd,
|
||||
"address-family encap",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address family\n")
|
||||
{
|
||||
vty->node = BGP_ENCAP_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (address_family_encap,
|
||||
address_family_encapv4_cmd,
|
||||
"address-family encapv4",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address family\n")
|
||||
|
||||
DEFUN (address_family_encapv6,
|
||||
address_family_encapv6_cmd,
|
||||
"address-family encapv6",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address family\n")
|
||||
{
|
||||
vty->node = BGP_ENCAPV6_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (exit_address_family,
|
||||
exit_address_family_cmd,
|
||||
"exit-address-family",
|
||||
@ -5893,7 +5960,9 @@ DEFUN (exit_address_family,
|
||||
|| vty->node == BGP_VPNV4_NODE
|
||||
|| vty->node == BGP_IPV6_NODE
|
||||
|| vty->node == BGP_IPV6M_NODE
|
||||
|| vty->node == BGP_VPNV6_NODE)
|
||||
|| vty->node == BGP_VPNV6_NODE
|
||||
|| vty->node == BGP_ENCAP_NODE
|
||||
|| vty->node == BGP_ENCAPV6_NODE)
|
||||
vty->node = BGP_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
@ -10688,12 +10757,16 @@ afi_safi_print (afi_t afi, safi_t safi)
|
||||
return "IPv4 Multicast";
|
||||
else if (afi == AFI_IP && safi == SAFI_MPLS_VPN)
|
||||
return "VPN-IPv4 Unicast";
|
||||
else if (afi == AFI_IP && safi == SAFI_ENCAP)
|
||||
return "ENCAP-IPv4 Unicast";
|
||||
else if (afi == AFI_IP6 && safi == SAFI_UNICAST)
|
||||
return "IPv6 Unicast";
|
||||
else if (afi == AFI_IP6 && safi == SAFI_MULTICAST)
|
||||
return "IPv6 Multicast";
|
||||
else if (afi == AFI_IP6 && safi == SAFI_MPLS_VPN)
|
||||
return "VPN-IPv6 Unicast";
|
||||
else if (afi == AFI_IP6 && safi == SAFI_ENCAP)
|
||||
return "ENCAP-IPv6 Unicast";
|
||||
else
|
||||
return "Unknown";
|
||||
}
|
||||
@ -11477,7 +11550,11 @@ bgp_show_peer (struct vty *vty, struct peer *p, u_char use_json, json_object *js
|
||||
|| p->afc_recv[AFI_IP6][SAFI_MULTICAST]
|
||||
|| p->afc_adv[AFI_IP6][SAFI_MPLS_VPN]
|
||||
|| p->afc_recv[AFI_IP6][SAFI_MPLS_VPN]
|
||||
|| p->afc_adv[AFI_IP6][SAFI_ENCAP]
|
||||
|| p->afc_recv[AFI_IP6][SAFI_ENCAP]
|
||||
#endif /* HAVE_IPV6 */
|
||||
|| p->afc_adv[AFI_IP][SAFI_ENCAP]
|
||||
|| p->afc_recv[AFI_IP][SAFI_ENCAP]
|
||||
|| p->afc_adv[AFI_IP][SAFI_MPLS_VPN]
|
||||
|| p->afc_recv[AFI_IP][SAFI_MPLS_VPN])
|
||||
{
|
||||
@ -14138,6 +14215,20 @@ static struct cmd_node bgp_vpnv6_node =
|
||||
1
|
||||
};
|
||||
|
||||
static struct cmd_node bgp_encap_node =
|
||||
{
|
||||
BGP_ENCAP_NODE,
|
||||
"%s(config-router-af-encap)# ",
|
||||
1
|
||||
};
|
||||
|
||||
static struct cmd_node bgp_encapv6_node =
|
||||
{
|
||||
BGP_ENCAPV6_NODE,
|
||||
"%s(config-router-af-encapv6)# ",
|
||||
1
|
||||
};
|
||||
|
||||
static void community_list_vty (void);
|
||||
|
||||
void
|
||||
@ -14151,6 +14242,8 @@ bgp_vty_init (void)
|
||||
install_node (&bgp_ipv6_multicast_node, NULL);
|
||||
install_node (&bgp_vpnv4_node, NULL);
|
||||
install_node (&bgp_vpnv6_node, NULL);
|
||||
install_node (&bgp_encap_node, NULL);
|
||||
install_node (&bgp_encapv6_node, NULL);
|
||||
|
||||
/* Install default VTY commands to new nodes. */
|
||||
install_default (BGP_NODE);
|
||||
@ -14160,6 +14253,8 @@ bgp_vty_init (void)
|
||||
install_default (BGP_IPV6M_NODE);
|
||||
install_default (BGP_VPNV4_NODE);
|
||||
install_default (BGP_VPNV6_NODE);
|
||||
install_default (BGP_ENCAP_NODE);
|
||||
install_default (BGP_ENCAPV6_NODE);
|
||||
|
||||
/* "bgp multiple-instance" commands. */
|
||||
install_element (CONFIG_NODE, &bgp_multiple_instance_cmd);
|
||||
@ -14406,6 +14501,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &neighbor_activate_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_activate_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_activate_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_activate_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_activate_cmd);
|
||||
|
||||
/* "no neighbor activate" commands. */
|
||||
install_element (BGP_NODE, &no_neighbor_activate_cmd);
|
||||
@ -14415,6 +14512,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_activate_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_activate_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_activate_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_activate_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_activate_cmd);
|
||||
|
||||
/* "neighbor peer-group" set commands.
|
||||
* Long term we should only accept this command under BGP_NODE and not all of
|
||||
@ -14429,6 +14528,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &neighbor_set_peer_group_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_set_peer_group_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_set_peer_group_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_set_peer_group_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_set_peer_group_cmd);
|
||||
|
||||
/* "no neighbor peer-group unset" commands. */
|
||||
install_element (BGP_NODE, &no_neighbor_set_peer_group_cmd);
|
||||
@ -14438,6 +14539,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_set_peer_group_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_set_peer_group_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_set_peer_group_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_set_peer_group_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_set_peer_group_cmd);
|
||||
|
||||
/* "neighbor softreconfiguration inbound" commands.*/
|
||||
install_element (BGP_NODE, &neighbor_soft_reconfiguration_cmd);
|
||||
@ -14454,6 +14557,10 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_soft_reconfiguration_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_soft_reconfiguration_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_soft_reconfiguration_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_soft_reconfiguration_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_soft_reconfiguration_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_soft_reconfiguration_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_soft_reconfiguration_cmd);
|
||||
|
||||
/* "neighbor attribute-unchanged" commands. */
|
||||
install_element (BGP_NODE, &neighbor_attr_unchanged_cmd);
|
||||
@ -14611,6 +14718,51 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_attr_unchanged9_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_attr_unchanged10_cmd);
|
||||
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_attr_unchanged_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_attr_unchanged1_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_attr_unchanged2_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_attr_unchanged3_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_attr_unchanged4_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_attr_unchanged5_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_attr_unchanged6_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_attr_unchanged7_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_attr_unchanged8_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_attr_unchanged9_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_attr_unchanged10_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_attr_unchanged_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_attr_unchanged1_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_attr_unchanged2_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_attr_unchanged3_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_attr_unchanged4_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_attr_unchanged5_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_attr_unchanged6_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_attr_unchanged7_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_attr_unchanged8_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_attr_unchanged9_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_attr_unchanged10_cmd);
|
||||
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_attr_unchanged_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_attr_unchanged1_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_attr_unchanged2_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_attr_unchanged3_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_attr_unchanged4_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_attr_unchanged5_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_attr_unchanged6_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_attr_unchanged7_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_attr_unchanged8_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_attr_unchanged9_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_attr_unchanged10_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_attr_unchanged_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_attr_unchanged1_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_attr_unchanged2_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_attr_unchanged3_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_attr_unchanged4_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_attr_unchanged5_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_attr_unchanged6_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_attr_unchanged7_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_attr_unchanged8_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_attr_unchanged9_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_attr_unchanged10_cmd);
|
||||
|
||||
/* "nexthop-local unchanged" commands */
|
||||
install_element (BGP_IPV6_NODE, &neighbor_nexthop_local_unchanged_cmd);
|
||||
@ -14631,6 +14783,10 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_nexthop_self_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_nexthop_self_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_nexthop_self_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_nexthop_self_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_nexthop_self_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_nexthop_self_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_nexthop_self_cmd);
|
||||
|
||||
/* "neighbor next-hop-self force" commands. */
|
||||
install_element (BGP_NODE, &neighbor_nexthop_self_force_cmd);
|
||||
@ -14721,6 +14877,10 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_remove_private_as_replace_as_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_remove_private_as_all_replace_as_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_remove_private_as_all_replace_as_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_remove_private_as_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_remove_private_as_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_remove_private_as_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_remove_private_as_cmd);
|
||||
|
||||
/* "neighbor send-community" commands.*/
|
||||
install_element (BGP_NODE, &neighbor_send_community_cmd);
|
||||
@ -14751,6 +14911,14 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_send_community_type_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_send_community_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_send_community_type_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_send_community_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_send_community_type_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_send_community_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_send_community_type_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_send_community_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_send_community_type_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_send_community_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_send_community_type_cmd);
|
||||
|
||||
/* "neighbor route-reflector" commands.*/
|
||||
install_element (BGP_NODE, &neighbor_route_reflector_client_cmd);
|
||||
@ -14767,6 +14935,10 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_route_reflector_client_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_route_reflector_client_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_route_reflector_client_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_route_reflector_client_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_route_reflector_client_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_route_reflector_client_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_route_reflector_client_cmd);
|
||||
|
||||
/* "neighbor route-server" commands.*/
|
||||
install_element (BGP_NODE, &neighbor_route_server_client_cmd);
|
||||
@ -14783,6 +14955,10 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_route_server_client_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_route_server_client_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_route_server_client_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_route_server_client_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_route_server_client_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_route_server_client_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_route_server_client_cmd);
|
||||
|
||||
/* "neighbor addpath-tx-all-paths" commands.*/
|
||||
install_element (BGP_NODE, &neighbor_addpath_tx_all_paths_cmd);
|
||||
@ -14944,6 +15120,10 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_distribute_list_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_distribute_list_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_distribute_list_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_distribute_list_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_distribute_list_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_distribute_list_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_distribute_list_cmd);
|
||||
|
||||
/* "neighbor prefix-list" commands. */
|
||||
install_element (BGP_NODE, &neighbor_prefix_list_cmd);
|
||||
@ -14960,6 +15140,10 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_prefix_list_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_prefix_list_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_prefix_list_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_prefix_list_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_prefix_list_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_prefix_list_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_prefix_list_cmd);
|
||||
|
||||
/* "neighbor filter-list" commands. */
|
||||
install_element (BGP_NODE, &neighbor_filter_list_cmd);
|
||||
@ -14976,6 +15160,10 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_filter_list_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_filter_list_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_filter_list_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_filter_list_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_filter_list_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_filter_list_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_filter_list_cmd);
|
||||
|
||||
/* "neighbor route-map" commands. */
|
||||
install_element (BGP_NODE, &neighbor_route_map_cmd);
|
||||
@ -14992,6 +15180,10 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_route_map_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_route_map_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_route_map_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_route_map_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_route_map_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_route_map_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_route_map_cmd);
|
||||
|
||||
/* "neighbor unsuppress-map" commands. */
|
||||
install_element (BGP_NODE, &neighbor_unsuppress_map_cmd);
|
||||
@ -15008,6 +15200,10 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_unsuppress_map_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_unsuppress_map_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_unsuppress_map_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_unsuppress_map_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_unsuppress_map_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_unsuppress_map_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_unsuppress_map_cmd);
|
||||
|
||||
/* "neighbor maximum-prefix" commands. */
|
||||
install_element (BGP_NODE, &neighbor_maximum_prefix_cmd);
|
||||
@ -15102,6 +15298,34 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_maximum_prefix_restart_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_maximum_prefix_threshold_restart_cmd);
|
||||
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_maximum_prefix_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_maximum_prefix_threshold_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_maximum_prefix_warning_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_maximum_prefix_threshold_warning_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_maximum_prefix_restart_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_maximum_prefix_threshold_restart_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_maximum_prefix_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_maximum_prefix_val_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_maximum_prefix_threshold_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_maximum_prefix_warning_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_maximum_prefix_threshold_warning_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_maximum_prefix_restart_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_maximum_prefix_threshold_restart_cmd);
|
||||
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_maximum_prefix_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_maximum_prefix_threshold_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_maximum_prefix_warning_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_maximum_prefix_threshold_warning_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_maximum_prefix_restart_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_maximum_prefix_threshold_restart_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_maximum_prefix_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_maximum_prefix_val_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_maximum_prefix_threshold_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_maximum_prefix_warning_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_maximum_prefix_threshold_warning_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_maximum_prefix_restart_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_maximum_prefix_threshold_restart_cmd);
|
||||
|
||||
/* "neighbor allowas-in" */
|
||||
install_element (BGP_NODE, &neighbor_allowas_in_cmd);
|
||||
install_element (BGP_NODE, &neighbor_allowas_in_arg_cmd);
|
||||
@ -15131,6 +15355,12 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_allowas_in_arg_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_allowas_in_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_allowas_in_val_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_allowas_in_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &neighbor_allowas_in_arg_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &no_neighbor_allowas_in_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_allowas_in_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &neighbor_allowas_in_arg_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_allowas_in_cmd);
|
||||
|
||||
/* address-family commands. */
|
||||
install_element (BGP_NODE, &address_family_ipv4_cmd);
|
||||
@ -15142,6 +15372,15 @@ bgp_vty_init (void)
|
||||
install_element (BGP_NODE, &address_family_vpnv4_cmd);
|
||||
install_element (BGP_NODE, &address_family_vpnv4_unicast_cmd);
|
||||
|
||||
install_element (BGP_NODE, &address_family_vpnv6_cmd);
|
||||
install_element (BGP_NODE, &address_family_vpnv6_unicast_cmd);
|
||||
|
||||
install_element (BGP_NODE, &address_family_encap_cmd);
|
||||
install_element (BGP_NODE, &address_family_encapv4_cmd);
|
||||
#ifdef HAVE_IPV6
|
||||
install_element (BGP_NODE, &address_family_encapv6_cmd);
|
||||
#endif
|
||||
|
||||
/* "exit-address-family" command. */
|
||||
install_element (BGP_IPV4_NODE, &exit_address_family_cmd);
|
||||
install_element (BGP_IPV4M_NODE, &exit_address_family_cmd);
|
||||
@ -15149,6 +15388,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &exit_address_family_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &exit_address_family_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &exit_address_family_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &exit_address_family_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &exit_address_family_cmd);
|
||||
|
||||
/* "clear ip bgp commands" */
|
||||
install_element (ENABLE_NODE, &clear_ip_bgp_all_cmd);
|
||||
|
@ -40,4 +40,10 @@ extern int bgp_vty_return (struct vty *vty, int ret);
|
||||
extern struct peer *
|
||||
peer_and_group_lookup_vty (struct vty *vty, const char *peer_str);
|
||||
|
||||
extern int
|
||||
bgp_parse_afi(const char *str, afi_t *afi);
|
||||
|
||||
extern int
|
||||
bgp_parse_safi(const char *str, safi_t *safi);
|
||||
|
||||
#endif /* _QUAGGA_BGP_VTY_H */
|
||||
|
14
bgpd/bgpd.c
14
bgpd/bgpd.c
@ -6903,7 +6903,9 @@ bgp_config_write_family_header (struct vty *vty, afi_t afi, safi_t safi,
|
||||
else if (safi == SAFI_MULTICAST)
|
||||
vty_out (vty, "ipv4 multicast");
|
||||
else if (safi == SAFI_MPLS_VPN)
|
||||
vty_out (vty, "vpnv4 unicast");
|
||||
vty_out (vty, "vpnv4");
|
||||
else if (safi == SAFI_ENCAP)
|
||||
vty_out (vty, "encap");
|
||||
}
|
||||
else if (afi == AFI_IP6)
|
||||
{
|
||||
@ -6913,6 +6915,8 @@ bgp_config_write_family_header (struct vty *vty, afi_t afi, safi_t safi,
|
||||
vty_out (vty, "ipv6 multicast");
|
||||
else if (safi == SAFI_MPLS_VPN)
|
||||
vty_out (vty, "vpnv6");
|
||||
else if (safi == SAFI_ENCAP)
|
||||
vty_out (vty, "encapv6");
|
||||
}
|
||||
|
||||
vty_out (vty, "%s", VTY_NEWLINE);
|
||||
@ -7194,6 +7198,9 @@ bgp_config_write (struct vty *vty)
|
||||
/* IPv4 VPN configuration. */
|
||||
write += bgp_config_write_family (vty, bgp, AFI_IP, SAFI_MPLS_VPN);
|
||||
|
||||
/* ENCAPv4 configuration. */
|
||||
write += bgp_config_write_family (vty, bgp, AFI_IP, SAFI_ENCAP);
|
||||
|
||||
/* IPv6 unicast configuration. */
|
||||
write += bgp_config_write_family (vty, bgp, AFI_IP6, SAFI_UNICAST);
|
||||
|
||||
@ -7203,6 +7210,11 @@ bgp_config_write (struct vty *vty)
|
||||
/* IPv6 VPN configuration. */
|
||||
write += bgp_config_write_family (vty, bgp, AFI_IP6, SAFI_MPLS_VPN);
|
||||
|
||||
/* ENCAPv6 configuration. */
|
||||
write += bgp_config_write_family (vty, bgp, AFI_IP6, SAFI_ENCAP);
|
||||
|
||||
vty_out (vty, " exit%s", VTY_NEWLINE);
|
||||
|
||||
write++;
|
||||
}
|
||||
return write;
|
||||
|
@ -2594,6 +2594,8 @@ node_parent ( enum node_type node )
|
||||
{
|
||||
case BGP_VPNV4_NODE:
|
||||
case BGP_VPNV6_NODE:
|
||||
case BGP_ENCAP_NODE:
|
||||
case BGP_ENCAPV6_NODE:
|
||||
case BGP_IPV4_NODE:
|
||||
case BGP_IPV4M_NODE:
|
||||
case BGP_IPV6_NODE:
|
||||
@ -2983,6 +2985,8 @@ DEFUN (config_exit,
|
||||
case BGP_IPV4M_NODE:
|
||||
case BGP_VPNV4_NODE:
|
||||
case BGP_VPNV6_NODE:
|
||||
case BGP_ENCAP_NODE:
|
||||
case BGP_ENCAPV6_NODE:
|
||||
case BGP_IPV6_NODE:
|
||||
case BGP_IPV6M_NODE:
|
||||
vty->node = BGP_NODE;
|
||||
@ -3022,6 +3026,8 @@ DEFUN (config_end,
|
||||
case RIP_NODE:
|
||||
case RIPNG_NODE:
|
||||
case BGP_NODE:
|
||||
case BGP_ENCAP_NODE:
|
||||
case BGP_ENCAPV6_NODE:
|
||||
case BGP_VPNV4_NODE:
|
||||
case BGP_VPNV6_NODE:
|
||||
case BGP_IPV4_NODE:
|
||||
|
@ -87,6 +87,8 @@ enum node_type
|
||||
BGP_IPV4M_NODE, /* BGP IPv4 multicast address family. */
|
||||
BGP_IPV6_NODE, /* BGP IPv6 address family */
|
||||
BGP_IPV6M_NODE, /* BGP IPv6 multicast address family. */
|
||||
BGP_ENCAP_NODE, /* BGP ENCAP SAFI */
|
||||
BGP_ENCAPV6_NODE, /* BGP ENCAP SAFI */
|
||||
OSPF_NODE, /* OSPF protocol mode */
|
||||
OSPF6_NODE, /* OSPF protocol for IPv6 mode */
|
||||
ISIS_NODE, /* ISIS protocol mode */
|
||||
|
@ -741,6 +741,8 @@ vty_end_config (struct vty *vty)
|
||||
case BGP_NODE:
|
||||
case BGP_VPNV4_NODE:
|
||||
case BGP_VPNV6_NODE:
|
||||
case BGP_ENCAP_NODE:
|
||||
case BGP_ENCAPV6_NODE:
|
||||
case BGP_IPV4_NODE:
|
||||
case BGP_IPV4M_NODE:
|
||||
case BGP_IPV6_NODE:
|
||||
|
@ -55,6 +55,9 @@ $ignore{'"address-family ipv6 (unicast|multicast)"'} = "ignore";
|
||||
$ignore{'"address-family vpnv4"'} = "ignore";
|
||||
$ignore{'"address-family vpnv4 unicast"'} = "ignore";
|
||||
$ignore{'"address-family ipv4 vrf NAME"'} = "ignore";
|
||||
$ignore{'"address-family encap"'} = "ignore";
|
||||
$ignore{'"address-family encapv4"'} = "ignore";
|
||||
$ignore{'"address-family encapv6"'} = "ignore";
|
||||
$ignore{'"exit-address-family"'} = "ignore";
|
||||
$ignore{'"key chain WORD"'} = "ignore";
|
||||
$ignore{'"key <0-2147483647>"'} = "ignore";
|
||||
|
@ -362,6 +362,7 @@ vtysh_execute_func (const char *line, int pager)
|
||||
if (ret == CMD_SUCCESS || ret == CMD_SUCCESS_DAEMON || ret == CMD_WARNING)
|
||||
{
|
||||
if ((saved_node == BGP_VPNV4_NODE || saved_node == BGP_VPNV6_NODE
|
||||
|| saved_node == BGP_ENCAP_NODE || saved_node == BGP_ENCAPV6_NODE
|
||||
|| saved_node == BGP_IPV4_NODE
|
||||
|| saved_node == BGP_IPV6_NODE || saved_node == BGP_IPV4M_NODE
|
||||
|| saved_node == BGP_IPV6M_NODE)
|
||||
@ -926,6 +927,18 @@ static struct cmd_node bgp_vpnv6_node =
|
||||
"%s(config-router-af)# "
|
||||
};
|
||||
|
||||
static struct cmd_node bgp_encap_node =
|
||||
{
|
||||
BGP_ENCAP_NODE,
|
||||
"%s(config-router-af)# "
|
||||
};
|
||||
|
||||
static struct cmd_node bgp_encapv6_node =
|
||||
{
|
||||
BGP_ENCAPV6_NODE,
|
||||
"%s(config-router-af)# "
|
||||
};
|
||||
|
||||
static struct cmd_node bgp_ipv4_node =
|
||||
{
|
||||
BGP_IPV4_NODE,
|
||||
@ -1084,6 +1097,39 @@ DEFUNSH (VTYSH_BGPD,
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUNSH (VTYSH_BGPD,
|
||||
address_family_encap,
|
||||
address_family_encap_cmd,
|
||||
"address-family encap",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address family\n")
|
||||
{
|
||||
vty->node = BGP_ENCAP_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUNSH (VTYSH_BGPD,
|
||||
address_family_encapv4,
|
||||
address_family_encapv4_cmd,
|
||||
"address-family encapv4",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address family\n")
|
||||
{
|
||||
vty->node = BGP_ENCAP_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUNSH (VTYSH_BGPD,
|
||||
address_family_encapv6,
|
||||
address_family_encapv6_cmd,
|
||||
"address-family encapv6",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address family\n")
|
||||
{
|
||||
vty->node = BGP_ENCAPV6_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUNSH (VTYSH_BGPD,
|
||||
address_family_ipv4_unicast,
|
||||
address_family_ipv4_unicast_cmd,
|
||||
@ -1318,6 +1364,8 @@ vtysh_exit (struct vty *vty)
|
||||
break;
|
||||
case BGP_VPNV4_NODE:
|
||||
case BGP_VPNV6_NODE:
|
||||
case BGP_ENCAP_NODE:
|
||||
case BGP_ENCAPV6_NODE:
|
||||
case BGP_IPV4_NODE:
|
||||
case BGP_IPV4M_NODE:
|
||||
case BGP_IPV6_NODE:
|
||||
@ -1357,6 +1405,8 @@ DEFUNSH (VTYSH_BGPD,
|
||||
|| vty->node == BGP_IPV4M_NODE
|
||||
|| vty->node == BGP_VPNV4_NODE
|
||||
|| vty->node == BGP_VPNV6_NODE
|
||||
|| vty->node == BGP_ENCAP_NODE
|
||||
|| vty->node == BGP_ENCAPV6_NODE
|
||||
|| vty->node == BGP_IPV6_NODE
|
||||
|| vty->node == BGP_IPV6M_NODE)
|
||||
vty->node = BGP_NODE;
|
||||
@ -2758,6 +2808,8 @@ vtysh_init_vty (void)
|
||||
install_node (&zebra_node, NULL);
|
||||
install_node (&bgp_vpnv4_node, NULL);
|
||||
install_node (&bgp_vpnv6_node, NULL);
|
||||
install_node (&bgp_encap_node, NULL);
|
||||
install_node (&bgp_encapv6_node, NULL);
|
||||
install_node (&bgp_ipv4_node, NULL);
|
||||
install_node (&bgp_ipv4m_node, NULL);
|
||||
/* #ifdef HAVE_IPV6 */
|
||||
@ -2785,6 +2837,8 @@ vtysh_init_vty (void)
|
||||
vtysh_install_default (ZEBRA_NODE);
|
||||
vtysh_install_default (BGP_VPNV4_NODE);
|
||||
vtysh_install_default (BGP_VPNV6_NODE);
|
||||
vtysh_install_default (BGP_ENCAP_NODE);
|
||||
vtysh_install_default (BGP_ENCAPV6_NODE);
|
||||
vtysh_install_default (BGP_IPV4_NODE);
|
||||
vtysh_install_default (BGP_IPV4M_NODE);
|
||||
vtysh_install_default (BGP_IPV6_NODE);
|
||||
@ -2822,6 +2876,10 @@ vtysh_init_vty (void)
|
||||
install_element (BGP_VPNV4_NODE, &vtysh_quit_bgpd_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &vtysh_exit_bgpd_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &vtysh_quit_bgpd_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &vtysh_exit_bgpd_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &vtysh_quit_bgpd_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &vtysh_exit_bgpd_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &vtysh_quit_bgpd_cmd);
|
||||
install_element (BGP_IPV4_NODE, &vtysh_exit_bgpd_cmd);
|
||||
install_element (BGP_IPV4_NODE, &vtysh_quit_bgpd_cmd);
|
||||
install_element (BGP_IPV4M_NODE, &vtysh_exit_bgpd_cmd);
|
||||
@ -2853,6 +2911,8 @@ vtysh_init_vty (void)
|
||||
install_element (BGP_IPV4M_NODE, &vtysh_end_all_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &vtysh_end_all_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &vtysh_end_all_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &vtysh_end_all_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &vtysh_end_all_cmd);
|
||||
install_element (BGP_IPV6_NODE, &vtysh_end_all_cmd);
|
||||
install_element (BGP_IPV6M_NODE, &vtysh_end_all_cmd);
|
||||
install_element (ISIS_NODE, &vtysh_end_all_cmd);
|
||||
@ -2888,6 +2948,8 @@ vtysh_init_vty (void)
|
||||
install_element (BGP_NODE, &address_family_vpnv4_unicast_cmd);
|
||||
install_element (BGP_NODE, &address_family_vpnv6_cmd);
|
||||
install_element (BGP_NODE, &address_family_vpnv6_unicast_cmd);
|
||||
install_element (BGP_NODE, &address_family_encap_cmd);
|
||||
install_element (BGP_NODE, &address_family_encapv6_cmd);
|
||||
install_element (BGP_NODE, &address_family_ipv4_unicast_cmd);
|
||||
install_element (BGP_NODE, &address_family_ipv4_multicast_cmd);
|
||||
#ifdef HAVE_IPV6
|
||||
@ -2897,6 +2959,8 @@ vtysh_init_vty (void)
|
||||
#endif
|
||||
install_element (BGP_VPNV4_NODE, &exit_address_family_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &exit_address_family_cmd);
|
||||
install_element (BGP_ENCAP_NODE, &exit_address_family_cmd);
|
||||
install_element (BGP_ENCAPV6_NODE, &exit_address_family_cmd);
|
||||
install_element (BGP_IPV4_NODE, &exit_address_family_cmd);
|
||||
install_element (BGP_IPV4M_NODE, &exit_address_family_cmd);
|
||||
install_element (BGP_IPV6_NODE, &exit_address_family_cmd);
|
||||
|
Loading…
Reference in New Issue
Block a user