mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-03 06:32:33 +00:00
bgpd, vtysh: Allow bgp and vtysh to work together again
Harmony is restored to the world as bgp and vtysh can now, again, stay in sync with each other. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
db4f708628
commit
c7f1274bad
118
bgpd/bgp_vty.c
118
bgpd/bgp_vty.c
@ -5509,80 +5509,68 @@ DEFUN (no_neighbor_addpath_tx_bestpath_per_as,
|
||||
PEER_FLAG_ADDPATH_TX_BESTPATH_PER_AS);
|
||||
}
|
||||
|
||||
|
||||
/* Address Family configuration. */
|
||||
DEFUN (address_family_ipv4,
|
||||
address_family_ipv4_cmd,
|
||||
"address-family ipv4",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address Family\n")
|
||||
{
|
||||
vty->node = BGP_IPV4_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (address_family_ipv4_safi,
|
||||
address_family_ipv4_safi_cmd,
|
||||
"address-family ipv4 "BGP_SAFI_CMD_STR,
|
||||
"address-family ipv4 [<unicast|multicast|vpn|encap>]",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address Family\n"
|
||||
BGP_SAFI_HELP_STR)
|
||||
{
|
||||
int idx_safi = 2;
|
||||
switch (bgp_vty_safi_from_arg(argv[idx_safi]->arg))
|
||||
if (argc == idx_safi)
|
||||
{
|
||||
case SAFI_MULTICAST:
|
||||
vty->node = BGP_IPV4M_NODE;
|
||||
break;
|
||||
case SAFI_ENCAP:
|
||||
vty->node = BGP_ENCAP_NODE;
|
||||
break;
|
||||
case SAFI_MPLS_VPN:
|
||||
vty->node = BGP_VPNV4_NODE;
|
||||
break;
|
||||
case SAFI_UNICAST:
|
||||
default:
|
||||
vty->node = BGP_IPV4_NODE;
|
||||
break;
|
||||
switch (bgp_vty_safi_from_arg(argv[idx_safi]->arg))
|
||||
{
|
||||
case SAFI_MULTICAST:
|
||||
vty->node = BGP_IPV4M_NODE;
|
||||
break;
|
||||
case SAFI_ENCAP:
|
||||
vty->node = BGP_ENCAP_NODE;
|
||||
break;
|
||||
case SAFI_MPLS_VPN:
|
||||
vty->node = BGP_VPNV4_NODE;
|
||||
break;
|
||||
case SAFI_UNICAST:
|
||||
default:
|
||||
vty->node = BGP_IPV4_NODE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
vty->node = BGP_IPV4_NODE;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (address_family_ipv6,
|
||||
address_family_ipv6_cmd,
|
||||
"address-family ipv6",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address Family\n")
|
||||
{
|
||||
vty->node = BGP_IPV6_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (address_family_ipv6_safi,
|
||||
address_family_ipv6_safi_cmd,
|
||||
"address-family ipv6 "BGP_SAFI_CMD_STR,
|
||||
"address-family ipv6 [<unicast|multicast|vpn|encap>]",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address Family\n"
|
||||
BGP_SAFI_HELP_STR)
|
||||
{
|
||||
int idx_safi = 2;
|
||||
switch (bgp_vty_safi_from_arg(argv[idx_safi]->arg))
|
||||
if (argc == idx_safi)
|
||||
{
|
||||
case SAFI_MULTICAST:
|
||||
vty->node = BGP_IPV6M_NODE;
|
||||
break;
|
||||
case SAFI_ENCAP:
|
||||
vty->node = BGP_ENCAPV6_NODE;
|
||||
break;
|
||||
case SAFI_MPLS_VPN:
|
||||
vty->node = BGP_VPNV6_NODE;
|
||||
break;
|
||||
case SAFI_UNICAST:
|
||||
default:
|
||||
vty->node = BGP_IPV6_NODE;
|
||||
break;
|
||||
switch (bgp_vty_safi_from_arg(argv[idx_safi]->arg))
|
||||
{
|
||||
case SAFI_MULTICAST:
|
||||
vty->node = BGP_IPV6M_NODE;
|
||||
break;
|
||||
case SAFI_ENCAP:
|
||||
vty->node = BGP_ENCAPV6_NODE;
|
||||
break;
|
||||
case SAFI_MPLS_VPN:
|
||||
vty->node = BGP_VPNV6_NODE;
|
||||
break;
|
||||
case SAFI_UNICAST:
|
||||
default:
|
||||
vty->node = BGP_IPV6_NODE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
vty->node = BGP_IPV6_NODE;
|
||||
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
@ -5609,28 +5597,6 @@ DEFUN (address_family_vpnv6,
|
||||
vty->node = BGP_VPNV6_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (address_family_ipv4_vpn,
|
||||
address_family_ipv4_vpn_cmd,
|
||||
"address-family ipv4 vpn",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address Family\n"
|
||||
"Subsequent Address Family modifier\n")
|
||||
{
|
||||
vty->node = BGP_VPNV4_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUN (address_family_ipv6_vpn,
|
||||
address_family_ipv6_vpn_cmd,
|
||||
"address-family ipv6 vpn",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address Family\n"
|
||||
"Subsequent Address Family modifier\n")
|
||||
{
|
||||
vty->node = BGP_VPNV6_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
#endif /* KEEP_OLD_VPN_COMMANDS */
|
||||
|
||||
DEFUN (address_family_encap,
|
||||
@ -10772,15 +10738,11 @@ bgp_vty_init (void)
|
||||
install_element (BGP_ENCAPV6_NODE, &no_neighbor_allowas_in_cmd);
|
||||
|
||||
/* address-family commands. */
|
||||
install_element (BGP_NODE, &address_family_ipv4_cmd);
|
||||
install_element (BGP_NODE, &address_family_ipv4_safi_cmd);
|
||||
install_element (BGP_NODE, &address_family_ipv6_cmd);
|
||||
install_element (BGP_NODE, &address_family_ipv6_safi_cmd);
|
||||
#ifdef KEEP_OLD_VPN_COMMANDS
|
||||
install_element (BGP_NODE, &address_family_vpnv4_cmd);
|
||||
install_element (BGP_NODE, &address_family_vpnv6_cmd);
|
||||
install_element (BGP_NODE, &address_family_ipv4_vpn_cmd);
|
||||
install_element (BGP_NODE, &address_family_ipv6_vpn_cmd);
|
||||
#endif /* KEEP_OLD_VPN_COMMANDS */
|
||||
|
||||
install_element (BGP_NODE, &address_family_encap_cmd);
|
||||
|
@ -54,18 +54,14 @@ $ignore{'"router bgp [(1-4294967295) [<view|vrf> WORD]]"'} = "ignore";
|
||||
$ignore{'"router isis WORD"'} = "ignore";
|
||||
$ignore{'"router zebra"'} = "ignore";
|
||||
$ignore{'"address-family ipv4"'} = "ignore";
|
||||
$ignore{'"address-family ipv4 <unicast|multicast>"'} = "ignore";
|
||||
$ignore{'"address-family ipv4 [<unicast|multicast|vpn|encap>]"'} = "ignore";
|
||||
$ignore{'"address-family ipv6"'} = "ignore";
|
||||
$ignore{'"address-family ipv6 <unicast|multicast>"'} = "ignore";
|
||||
$ignore{'"address-family ipv4 vpn"'} = "ignore";
|
||||
$ignore{'"address-family ipv6 [<unicast|multicast|vpn|encap>]"'} = "ignore";
|
||||
$ignore{'"address-family vpnv4"'} = "ignore";
|
||||
$ignore{'"address-family vpnv4 unicast"'} = "ignore";
|
||||
$ignore{'"address-family ipv4 vrf NAME"'} = "ignore";
|
||||
$ignore{'"address-family <encap|encapv4>"'} = "ignore";
|
||||
$ignore{'"address-family encapv6"'} = "ignore";
|
||||
$ignore{'"address-family ipv4 encap"'} = "ignore";
|
||||
$ignore{'"address-family ipv6 encap"'} = "ignore";
|
||||
$ignore{'"address-family ipv6 vpn"'} = "ignore";
|
||||
$ignore{'"address-family vpnv6"'} = "ignore";
|
||||
$ignore{'"address-family vpnv6 unicast"'} = "ignore";
|
||||
$ignore{'"exit-address-family"'} = "ignore";
|
||||
|
@ -1149,48 +1149,56 @@ DEFUNSH (VTYSH_BGPD,
|
||||
DEFUNSH (VTYSH_BGPD,
|
||||
address_family_ipv4_unicast,
|
||||
address_family_ipv4_unicast_cmd,
|
||||
"address-family ipv4 unicast",
|
||||
"address-family ipv4 [<unicast|multicast|vpn|encap>]",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address Family\n"
|
||||
"Address Family Modifier\n")
|
||||
"Address Family Modifier\n"
|
||||
"Address Family Modifier\n"
|
||||
"Address Family Modifier\n"
|
||||
"Address Family Modifier\n")
|
||||
{
|
||||
vty->node = BGP_IPV4_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
int idx = 0;
|
||||
|
||||
if (argv_find (argv, argc, "multicast", &idx))
|
||||
vty->node = BGP_IPV4M_NODE;
|
||||
|
||||
else if (argv_find (argv, argc, "encap", &idx))
|
||||
vty->node = BGP_ENCAP_NODE;
|
||||
|
||||
else if (argv_find (argv, argc, "vpn", &idx))
|
||||
vty->node = BGP_VPNV4_NODE;
|
||||
|
||||
else
|
||||
vty->node = BGP_IPV4_NODE;
|
||||
|
||||
DEFUNSH (VTYSH_BGPD,
|
||||
address_family_ipv4_multicast,
|
||||
address_family_ipv4_multicast_cmd,
|
||||
"address-family ipv4 multicast",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address Family\n"
|
||||
"Address Family Modifier\n")
|
||||
{
|
||||
vty->node = BGP_IPV4M_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
DEFUNSH (VTYSH_BGPD,
|
||||
address_family_ipv6,
|
||||
address_family_ipv6_cmd,
|
||||
"address-family ipv6 [unicast]",
|
||||
"address-family ipv6 [<unicast|multicast|vpn|encap>]",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address Family\n"
|
||||
"Address Family Modifier\n")
|
||||
"Address Family Modifier\n"
|
||||
"Address Family Modifier\n"
|
||||
"Address Family Modifier\n"
|
||||
"Address Family Modifier\n")
|
||||
{
|
||||
vty->node = BGP_IPV6_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
int idx = 0;
|
||||
|
||||
if (argv_find (argv, argc, "multicast", &idx))
|
||||
vty->node = BGP_IPV6M_NODE;
|
||||
|
||||
else if (argv_find (argv, argc, "encap", &idx))
|
||||
vty->node = BGP_ENCAPV6_NODE;
|
||||
|
||||
else if (argv_find (argv, argc, "vpn", &idx))
|
||||
vty->node = BGP_VPNV6_NODE;
|
||||
|
||||
else
|
||||
vty->node = BGP_IPV6_NODE;
|
||||
|
||||
DEFUNSH (VTYSH_BGPD,
|
||||
address_family_ipv6_multicast,
|
||||
address_family_ipv6_multicast_cmd,
|
||||
"address-family ipv6 multicast",
|
||||
"Enter Address Family command mode\n"
|
||||
"Address Family\n"
|
||||
"Address Family Modifier\n")
|
||||
{
|
||||
vty->node = BGP_IPV6M_NODE;
|
||||
return CMD_SUCCESS;
|
||||
}
|
||||
|
||||
@ -3282,9 +3290,7 @@ vtysh_init_vty (void)
|
||||
install_element (BGP_NODE, &vnc_l2_group_cmd);
|
||||
#endif
|
||||
install_element (BGP_NODE, &address_family_ipv4_unicast_cmd);
|
||||
install_element (BGP_NODE, &address_family_ipv4_multicast_cmd);
|
||||
install_element (BGP_NODE, &address_family_ipv6_cmd);
|
||||
install_element (BGP_NODE, &address_family_ipv6_multicast_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);
|
||||
|
Loading…
Reference in New Issue
Block a user