mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-06-17 16:33:08 +00:00
bgpd, lib, vtysh: hook up bgp VPNv6 CLI node
Signed-off-by: Lou Berger <lberger@labn.net> Signed-off-by: David Lamparter <equinox@opensourcerouting.org> (cherry picked from commit 13c378d96a57017f5995b2e0df46cfc31123f0e8) Conflicts: bgpd/bgp_vty.c bgpd/bgpd.c vtysh/vtysh_config.c
This commit is contained in:
parent
945c8fe985
commit
8ecd326693
118
bgpd/bgp_vty.c
118
bgpd/bgp_vty.c
@ -62,7 +62,9 @@ listen_range_exists (struct bgp *bgp, struct prefix *range, int exact);
|
||||
afi_t
|
||||
bgp_node_afi (struct vty *vty)
|
||||
{
|
||||
if (vty->node == BGP_IPV6_NODE || vty->node == BGP_IPV6M_NODE)
|
||||
if (vty->node == BGP_IPV6_NODE ||
|
||||
vty->node == BGP_IPV6M_NODE ||
|
||||
vty->node == BGP_VPNV6_NODE)
|
||||
return AFI_IP6;
|
||||
return AFI_IP;
|
||||
}
|
||||
@ -74,6 +76,8 @@ bgp_node_safi (struct vty *vty)
|
||||
{
|
||||
if (vty->node == BGP_VPNV4_NODE)
|
||||
return SAFI_MPLS_VPN;
|
||||
if (vty->node == BGP_VPNV6_NODE)
|
||||
return SAFI_MPLS_VPN;
|
||||
if (vty->node == BGP_IPV4M_NODE || vty->node == BGP_IPV6M_NODE)
|
||||
return SAFI_MULTICAST;
|
||||
return SAFI_UNICAST;
|
||||
@ -5864,6 +5868,23 @@ ALIAS (address_family_vpnv4,
|
||||
"Address family\n"
|
||||
"Address Family Modifier\n")
|
||||
|
||||
DEFUN (address_family_vpnv6,
|
||||
address_family_vpnv6_cmd,
|
||||
"address-family vpnv6",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address family\n")
|
||||
{
|
||||
vty->node = BGP_VPNV6_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
ALIAS (address_family_vpnv6,
|
||||
address_family_vpnv6_unicast_cmd,
|
||||
"address-family vpnv6 unicast",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address family\n"
|
||||
"Address Family Modifier\n")
|
||||
|
||||
DEFUN (exit_address_family,
|
||||
exit_address_family_cmd,
|
||||
"exit-address-family",
|
||||
@ -5873,7 +5894,8 @@ DEFUN (exit_address_family,
|
||||
|| vty->node == BGP_IPV4M_NODE
|
||||
|| vty->node == BGP_VPNV4_NODE
|
||||
|| vty->node == BGP_IPV6_NODE
|
||||
|| vty->node == BGP_IPV6M_NODE)
|
||||
|| vty->node == BGP_IPV6M_NODE
|
||||
|| vty->node == BGP_VPNV6_NODE)
|
||||
vty->node = BGP_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
@ -13905,6 +13927,13 @@ static struct cmd_node bgp_vpnv4_node =
|
||||
1
|
||||
};
|
||||
|
||||
static struct cmd_node bgp_vpnv6_node =
|
||||
{
|
||||
BGP_VPNV6_NODE,
|
||||
"%s(config-router-af-vpnv6)# ",
|
||||
1
|
||||
};
|
||||
|
||||
static void community_list_vty (void);
|
||||
|
||||
void
|
||||
@ -13917,6 +13946,7 @@ bgp_vty_init (void)
|
||||
install_node (&bgp_ipv6_unicast_node, NULL);
|
||||
install_node (&bgp_ipv6_multicast_node, NULL);
|
||||
install_node (&bgp_vpnv4_node, NULL);
|
||||
install_node (&bgp_vpnv6_node, NULL);
|
||||
|
||||
/* Install default VTY commands to new nodes. */
|
||||
install_default (BGP_NODE);
|
||||
@ -13925,6 +13955,7 @@ bgp_vty_init (void)
|
||||
install_default (BGP_IPV6_NODE);
|
||||
install_default (BGP_IPV6M_NODE);
|
||||
install_default (BGP_VPNV4_NODE);
|
||||
install_default (BGP_VPNV6_NODE);
|
||||
|
||||
/* "bgp multiple-instance" commands. */
|
||||
install_element (CONFIG_NODE, &bgp_multiple_instance_cmd);
|
||||
@ -14170,6 +14201,7 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6_NODE, &neighbor_activate_cmd);
|
||||
install_element (BGP_IPV6M_NODE, &neighbor_activate_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_activate_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_activate_cmd);
|
||||
|
||||
/* "no neighbor activate" commands. */
|
||||
install_element (BGP_NODE, &no_neighbor_activate_cmd);
|
||||
@ -14178,6 +14210,7 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6_NODE, &no_neighbor_activate_cmd);
|
||||
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);
|
||||
|
||||
/* "neighbor peer-group" set commands.
|
||||
* Long term we should only accept this command under BGP_NODE and not all of
|
||||
@ -14191,6 +14224,7 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6_NODE, &neighbor_set_peer_group_cmd);
|
||||
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);
|
||||
|
||||
/* "no neighbor peer-group unset" commands. */
|
||||
install_element (BGP_NODE, &no_neighbor_set_peer_group_cmd);
|
||||
@ -14199,6 +14233,7 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6_NODE, &no_neighbor_set_peer_group_cmd);
|
||||
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);
|
||||
|
||||
/* "neighbor softreconfiguration inbound" commands.*/
|
||||
install_element (BGP_NODE, &neighbor_soft_reconfiguration_cmd);
|
||||
@ -14213,6 +14248,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_soft_reconfiguration_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_soft_reconfiguration_cmd);
|
||||
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);
|
||||
|
||||
/* "neighbor attribute-unchanged" commands. */
|
||||
install_element (BGP_NODE, &neighbor_attr_unchanged_cmd);
|
||||
@ -14347,6 +14384,29 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged8_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged9_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_attr_unchanged10_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_attr_unchanged_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_attr_unchanged1_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_attr_unchanged2_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_attr_unchanged3_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_attr_unchanged4_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_attr_unchanged5_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_attr_unchanged6_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_attr_unchanged7_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_attr_unchanged8_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_attr_unchanged9_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_attr_unchanged10_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_attr_unchanged_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_attr_unchanged1_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_attr_unchanged2_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_attr_unchanged3_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_attr_unchanged4_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_attr_unchanged5_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_attr_unchanged6_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_attr_unchanged7_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_attr_unchanged8_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_attr_unchanged9_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_attr_unchanged10_cmd);
|
||||
|
||||
|
||||
/* "nexthop-local unchanged" commands */
|
||||
install_element (BGP_IPV6_NODE, &neighbor_nexthop_local_unchanged_cmd);
|
||||
@ -14365,6 +14425,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_nexthop_self_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_nexthop_self_cmd);
|
||||
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);
|
||||
|
||||
/* "neighbor next-hop-self force" commands. */
|
||||
install_element (BGP_NODE, &neighbor_nexthop_self_force_cmd);
|
||||
@ -14379,6 +14441,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_nexthop_self_force_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_nexthop_self_force_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_nexthop_self_force_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_nexthop_self_force_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_nexthop_self_force_cmd);
|
||||
|
||||
/* "neighbor as-override" commands. */
|
||||
install_element (BGP_NODE, &neighbor_as_override_cmd);
|
||||
@ -14393,6 +14457,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_as_override_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_as_override_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_as_override_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_as_override_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_as_override_cmd);
|
||||
|
||||
/* "neighbor remove-private-AS" commands. */
|
||||
install_element (BGP_NODE, &neighbor_remove_private_as_cmd);
|
||||
@ -14443,6 +14509,14 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_remove_private_as_replace_as_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_remove_private_as_all_replace_as_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_remove_private_as_all_replace_as_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_remove_private_as_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_remove_private_as_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_remove_private_as_all_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_remove_private_as_all_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_remove_private_as_replace_as_cmd);
|
||||
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);
|
||||
|
||||
/* "neighbor send-community" commands.*/
|
||||
install_element (BGP_NODE, &neighbor_send_community_cmd);
|
||||
@ -14469,6 +14543,10 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_send_community_type_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_send_community_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_send_community_type_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_send_community_cmd);
|
||||
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);
|
||||
|
||||
/* "neighbor route-reflector" commands.*/
|
||||
install_element (BGP_NODE, &neighbor_route_reflector_client_cmd);
|
||||
@ -14483,6 +14561,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_route_reflector_client_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_route_reflector_client_cmd);
|
||||
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);
|
||||
|
||||
/* "neighbor route-server" commands.*/
|
||||
install_element (BGP_NODE, &neighbor_route_server_client_cmd);
|
||||
@ -14497,6 +14577,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_route_server_client_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_route_server_client_cmd);
|
||||
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);
|
||||
|
||||
/* "neighbor addpath-tx-all-paths" commands.*/
|
||||
install_element (BGP_NODE, &neighbor_addpath_tx_all_paths_cmd);
|
||||
@ -14511,6 +14593,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_addpath_tx_all_paths_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_addpath_tx_all_paths_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_addpath_tx_all_paths_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_addpath_tx_all_paths_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_addpath_tx_all_paths_cmd);
|
||||
|
||||
/* "neighbor addpath-tx-bestpath-per-AS" commands.*/
|
||||
install_element (BGP_NODE, &neighbor_addpath_tx_bestpath_per_as_cmd);
|
||||
@ -14525,6 +14609,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_addpath_tx_bestpath_per_as_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_addpath_tx_bestpath_per_as_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_addpath_tx_bestpath_per_as_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_addpath_tx_bestpath_per_as_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_addpath_tx_bestpath_per_as_cmd);
|
||||
|
||||
/* "neighbor passive" commands. */
|
||||
install_element (BGP_NODE, &neighbor_passive_cmd);
|
||||
@ -14652,6 +14738,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_distribute_list_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_distribute_list_cmd);
|
||||
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);
|
||||
|
||||
/* "neighbor prefix-list" commands. */
|
||||
install_element (BGP_NODE, &neighbor_prefix_list_cmd);
|
||||
@ -14666,6 +14754,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_prefix_list_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_prefix_list_cmd);
|
||||
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);
|
||||
|
||||
/* "neighbor filter-list" commands. */
|
||||
install_element (BGP_NODE, &neighbor_filter_list_cmd);
|
||||
@ -14680,6 +14770,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_filter_list_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_filter_list_cmd);
|
||||
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);
|
||||
|
||||
/* "neighbor route-map" commands. */
|
||||
install_element (BGP_NODE, &neighbor_route_map_cmd);
|
||||
@ -14694,6 +14786,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_route_map_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_route_map_cmd);
|
||||
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);
|
||||
|
||||
/* "neighbor unsuppress-map" commands. */
|
||||
install_element (BGP_NODE, &neighbor_unsuppress_map_cmd);
|
||||
@ -14708,6 +14802,8 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6M_NODE, &no_neighbor_unsuppress_map_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_unsuppress_map_cmd);
|
||||
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);
|
||||
|
||||
/* "neighbor maximum-prefix" commands. */
|
||||
install_element (BGP_NODE, &neighbor_maximum_prefix_cmd);
|
||||
@ -14788,6 +14884,19 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_maximum_prefix_threshold_warning_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_maximum_prefix_restart_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_maximum_prefix_threshold_restart_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_maximum_prefix_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_maximum_prefix_threshold_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_maximum_prefix_warning_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_maximum_prefix_threshold_warning_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_maximum_prefix_restart_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_maximum_prefix_threshold_restart_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_maximum_prefix_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_maximum_prefix_val_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_maximum_prefix_threshold_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_maximum_prefix_warning_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_maximum_prefix_threshold_warning_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_maximum_prefix_restart_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &no_neighbor_maximum_prefix_threshold_restart_cmd);
|
||||
|
||||
/* "neighbor allowas-in" */
|
||||
install_element (BGP_NODE, &neighbor_allowas_in_cmd);
|
||||
@ -14814,6 +14923,10 @@ bgp_vty_init (void)
|
||||
install_element (BGP_VPNV4_NODE, &neighbor_allowas_in_arg_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_allowas_in_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &no_neighbor_allowas_in_val_cmd);
|
||||
install_element (BGP_VPNV6_NODE, &neighbor_allowas_in_cmd);
|
||||
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);
|
||||
|
||||
/* address-family commands. */
|
||||
install_element (BGP_NODE, &address_family_ipv4_cmd);
|
||||
@ -14831,6 +14944,7 @@ bgp_vty_init (void)
|
||||
install_element (BGP_IPV6_NODE, &exit_address_family_cmd);
|
||||
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);
|
||||
|
||||
/* "clear ip bgp commands" */
|
||||
install_element (ENABLE_NODE, &clear_ip_bgp_all_cmd);
|
||||
|
@ -6904,6 +6904,8 @@ bgp_config_write_family_header (struct vty *vty, afi_t afi, safi_t safi,
|
||||
vty_out (vty, "ipv6 unicast");
|
||||
else if (safi == SAFI_MULTICAST)
|
||||
vty_out (vty, "ipv6 multicast");
|
||||
else if (safi == SAFI_MPLS_VPN)
|
||||
vty_out (vty, "vpnv6");
|
||||
}
|
||||
|
||||
vty_out (vty, "%s", VTY_NEWLINE);
|
||||
@ -7191,6 +7193,9 @@ bgp_config_write (struct vty *vty)
|
||||
/* IPv6 multicast configuration. */
|
||||
write += bgp_config_write_family (vty, bgp, AFI_IP6, SAFI_MULTICAST);
|
||||
|
||||
/* IPv6 VPN configuration. */
|
||||
write += bgp_config_write_family (vty, bgp, AFI_IP6, SAFI_MPLS_VPN);
|
||||
|
||||
write++;
|
||||
}
|
||||
return write;
|
||||
|
@ -2576,6 +2576,7 @@ node_parent ( enum node_type node )
|
||||
switch (node)
|
||||
{
|
||||
case BGP_VPNV4_NODE:
|
||||
case BGP_VPNV6_NODE:
|
||||
case BGP_IPV4_NODE:
|
||||
case BGP_IPV4M_NODE:
|
||||
case BGP_IPV6_NODE:
|
||||
@ -2961,9 +2962,10 @@ DEFUN (config_exit,
|
||||
case VTY_NODE:
|
||||
vty->node = CONFIG_NODE;
|
||||
break;
|
||||
case BGP_VPNV4_NODE:
|
||||
case BGP_IPV4_NODE:
|
||||
case BGP_IPV4M_NODE:
|
||||
case BGP_VPNV4_NODE:
|
||||
case BGP_VPNV6_NODE:
|
||||
case BGP_IPV6_NODE:
|
||||
case BGP_IPV6M_NODE:
|
||||
vty->node = BGP_NODE;
|
||||
@ -3004,6 +3006,7 @@ DEFUN (config_end,
|
||||
case RIPNG_NODE:
|
||||
case BGP_NODE:
|
||||
case BGP_VPNV4_NODE:
|
||||
case BGP_VPNV6_NODE:
|
||||
case BGP_IPV4_NODE:
|
||||
case BGP_IPV4M_NODE:
|
||||
case BGP_IPV6_NODE:
|
||||
|
@ -82,6 +82,7 @@ enum node_type
|
||||
RIPNG_NODE, /* RIPng protocol mode node. */
|
||||
BGP_NODE, /* BGP protocol mode which includes BGP4+ */
|
||||
BGP_VPNV4_NODE, /* BGP MPLS-VPN PE exchange. */
|
||||
BGP_VPNV6_NODE, /* BGP MPLS-VPN PE exchange. */
|
||||
BGP_IPV4_NODE, /* BGP IPv4 unicast address family. */
|
||||
BGP_IPV4M_NODE, /* BGP IPv4 multicast address family. */
|
||||
BGP_IPV6_NODE, /* BGP IPv6 address family */
|
||||
|
@ -703,6 +703,7 @@ vty_end_config (struct vty *vty)
|
||||
case RIPNG_NODE:
|
||||
case BGP_NODE:
|
||||
case BGP_VPNV4_NODE:
|
||||
case BGP_VPNV6_NODE:
|
||||
case BGP_IPV4_NODE:
|
||||
case BGP_IPV4M_NODE:
|
||||
case BGP_IPV6_NODE:
|
||||
|
@ -383,7 +383,8 @@ vtysh_execute_func (const char *line, int pager)
|
||||
* to move into node in the vtysh where it succeeded. */
|
||||
if (ret == CMD_SUCCESS || ret == CMD_SUCCESS_DAEMON || ret == CMD_WARNING)
|
||||
{
|
||||
if ((saved_node == BGP_VPNV4_NODE || saved_node == BGP_IPV4_NODE
|
||||
if ((saved_node == BGP_VPNV4_NODE || saved_node == BGP_VPNV6_NODE
|
||||
|| saved_node == BGP_IPV4_NODE
|
||||
|| saved_node == BGP_IPV6_NODE || saved_node == BGP_IPV4M_NODE
|
||||
|| saved_node == BGP_IPV6M_NODE)
|
||||
&& (tried == 1))
|
||||
@ -941,6 +942,12 @@ static struct cmd_node bgp_vpnv4_node =
|
||||
"%s(config-router-af)# "
|
||||
};
|
||||
|
||||
static struct cmd_node bgp_vpnv6_node =
|
||||
{
|
||||
BGP_VPNV6_NODE,
|
||||
"%s(config-router-af)# "
|
||||
};
|
||||
|
||||
static struct cmd_node bgp_ipv4_node =
|
||||
{
|
||||
BGP_IPV4_NODE,
|
||||
@ -1076,6 +1083,29 @@ DEFUNSH (VTYSH_BGPD,
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUNSH (VTYSH_BGPD,
|
||||
address_family_vpnv6,
|
||||
address_family_vpnv6_cmd,
|
||||
"address-family vpnv6",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address family\n")
|
||||
{
|
||||
vty->node = BGP_VPNV6_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUNSH (VTYSH_BGPD,
|
||||
address_family_vpnv6_unicast,
|
||||
address_family_vpnv6_unicast_cmd,
|
||||
"address-family vpnv6 unicast",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address family\n"
|
||||
"Address Family Modifier\n")
|
||||
{
|
||||
vty->node = BGP_VPNV6_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUNSH (VTYSH_BGPD,
|
||||
address_family_ipv4_unicast,
|
||||
address_family_ipv4_unicast_cmd,
|
||||
@ -1309,6 +1339,7 @@ vtysh_exit (struct vty *vty)
|
||||
vty->node = CONFIG_NODE;
|
||||
break;
|
||||
case BGP_VPNV4_NODE:
|
||||
case BGP_VPNV6_NODE:
|
||||
case BGP_IPV4_NODE:
|
||||
case BGP_IPV4M_NODE:
|
||||
case BGP_IPV6_NODE:
|
||||
@ -1347,6 +1378,7 @@ DEFUNSH (VTYSH_BGPD,
|
||||
if (vty->node == BGP_IPV4_NODE
|
||||
|| vty->node == BGP_IPV4M_NODE
|
||||
|| vty->node == BGP_VPNV4_NODE
|
||||
|| vty->node == BGP_VPNV6_NODE
|
||||
|| vty->node == BGP_IPV6_NODE
|
||||
|| vty->node == BGP_IPV6M_NODE)
|
||||
vty->node = BGP_NODE;
|
||||
@ -2750,6 +2782,7 @@ vtysh_init_vty (void)
|
||||
install_node (&rmap_node, NULL);
|
||||
install_node (&zebra_node, NULL);
|
||||
install_node (&bgp_vpnv4_node, NULL);
|
||||
install_node (&bgp_vpnv6_node, NULL);
|
||||
install_node (&bgp_ipv4_node, NULL);
|
||||
install_node (&bgp_ipv4m_node, NULL);
|
||||
/* #ifdef HAVE_IPV6 */
|
||||
@ -2776,6 +2809,7 @@ vtysh_init_vty (void)
|
||||
vtysh_install_default (RMAP_NODE);
|
||||
vtysh_install_default (ZEBRA_NODE);
|
||||
vtysh_install_default (BGP_VPNV4_NODE);
|
||||
vtysh_install_default (BGP_VPNV6_NODE);
|
||||
vtysh_install_default (BGP_IPV4_NODE);
|
||||
vtysh_install_default (BGP_IPV4M_NODE);
|
||||
vtysh_install_default (BGP_IPV6_NODE);
|
||||
@ -2811,6 +2845,8 @@ vtysh_init_vty (void)
|
||||
install_element (BGP_NODE, &vtysh_quit_bgpd_cmd);
|
||||
install_element (BGP_VPNV4_NODE, &vtysh_exit_bgpd_cmd);
|
||||
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_IPV4_NODE, &vtysh_exit_bgpd_cmd);
|
||||
install_element (BGP_IPV4_NODE, &vtysh_quit_bgpd_cmd);
|
||||
install_element (BGP_IPV4M_NODE, &vtysh_exit_bgpd_cmd);
|
||||
@ -2841,6 +2877,7 @@ vtysh_init_vty (void)
|
||||
install_element (BGP_IPV4_NODE, &vtysh_end_all_cmd);
|
||||
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_IPV6_NODE, &vtysh_end_all_cmd);
|
||||
install_element (BGP_IPV6M_NODE, &vtysh_end_all_cmd);
|
||||
install_element (ISIS_NODE, &vtysh_end_all_cmd);
|
||||
@ -2874,6 +2911,8 @@ vtysh_init_vty (void)
|
||||
install_element (CONFIG_NODE, &router_bgp_view_cmd);
|
||||
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_ipv4_unicast_cmd);
|
||||
install_element (BGP_NODE, &address_family_ipv4_multicast_cmd);
|
||||
#ifdef HAVE_IPV6
|
||||
@ -2882,6 +2921,7 @@ vtysh_init_vty (void)
|
||||
install_element (BGP_NODE, &address_family_ipv6_multicast_cmd);
|
||||
#endif
|
||||
install_element (BGP_VPNV4_NODE, &exit_address_family_cmd);
|
||||
install_element (BGP_VPNV6_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