Merge pull request #413 from dwalton76/address-family-argv-argc-stable-30

Problem with DEFUNSH in vtysh, issue #358
This commit is contained in:
Renato Westphal 2017-04-27 09:21:20 -03:00 committed by GitHub
commit 59341c1b5e

View File

@ -1136,9 +1136,10 @@ DEFUNSH (VTYSH_BGPD,
DEFUNSH (VTYSH_BGPD, DEFUNSH (VTYSH_BGPD,
address_family_encapv4, address_family_encapv4,
address_family_encapv4_cmd, address_family_encapv4_cmd,
"address-family <encap|encapv4>", "address-family [ipv4] <encap|encapv4>",
"Enter Address Family command mode\n" "Enter Address Family command mode\n"
"Address Family\n" "Address Family\n"
"Address Family\n"
"Address Family\n") "Address Family\n")
{ {
vty->node = BGP_ENCAP_NODE; vty->node = BGP_ENCAP_NODE;
@ -1148,8 +1149,9 @@ DEFUNSH (VTYSH_BGPD,
DEFUNSH (VTYSH_BGPD, DEFUNSH (VTYSH_BGPD,
address_family_encapv6, address_family_encapv6,
address_family_encapv6_cmd, address_family_encapv6_cmd,
"address-family encapv6", "address-family [ipv6] encapv6",
"Enter Address Family command mode\n" "Enter Address Family command mode\n"
"Address Family\n"
"Address Family\n") "Address Family\n")
{ {
vty->node = BGP_ENCAPV6_NODE; vty->node = BGP_ENCAPV6_NODE;
@ -1157,58 +1159,74 @@ DEFUNSH (VTYSH_BGPD,
} }
DEFUNSH (VTYSH_BGPD, DEFUNSH (VTYSH_BGPD,
address_family_ipv4_unicast, address_family_ipv4,
address_family_ipv4_unicast_cmd, address_family_ipv4_cmd,
"address-family ipv4 [<unicast|multicast|vpn|encap>]", "address-family ipv4 [unicast]",
"Enter Address Family command mode\n" "Enter Address Family command mode\n"
"Address Family\n" "Address Family\n"
"Address Family Modifier\n"
"Address Family Modifier\n"
"Address Family Modifier\n"
"Address Family Modifier\n") "Address Family Modifier\n")
{ {
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; vty->node = BGP_IPV4_NODE;
return CMD_SUCCESS;
}
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_ipv4_vpn,
address_family_ipv4_vpn_cmd,
"address-family ipv4 vpn",
"Enter Address Family command mode\n"
"Address Family\n"
"Address Family modifier\n")
{
vty->node = BGP_VPNV4_NODE;
return CMD_SUCCESS; return CMD_SUCCESS;
} }
DEFUNSH (VTYSH_BGPD, DEFUNSH (VTYSH_BGPD,
address_family_ipv6, address_family_ipv6,
address_family_ipv6_cmd, address_family_ipv6_cmd,
"address-family ipv6 [<unicast|multicast|vpn|encap>]", "address-family ipv6 [unicast]",
"Enter Address Family command mode\n" "Enter Address Family command mode\n"
"Address Family\n" "Address Family\n"
"Address Family Modifier\n" "Address Family modifier\n")
"Address Family Modifier\n"
"Address Family Modifier\n"
"Address Family Modifier\n")
{ {
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; vty->node = BGP_IPV6_NODE;
return CMD_SUCCESS;
}
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;
}
DEFUNSH (VTYSH_BGPD,
address_family_ipv6_vpn,
address_family_ipv6_vpn_cmd,
"address-family ipv6 vpn",
"Enter Address Family command mode\n"
"Address Family\n"
"Address Family modifier\n")
{
vty->node = BGP_VPNV6_NODE;
return CMD_SUCCESS; return CMD_SUCCESS;
} }
@ -3335,8 +3353,12 @@ vtysh_init_vty (void)
install_element (BGP_NODE, &vnc_nve_group_cmd); install_element (BGP_NODE, &vnc_nve_group_cmd);
install_element (BGP_NODE, &vnc_l2_group_cmd); install_element (BGP_NODE, &vnc_l2_group_cmd);
#endif #endif
install_element (BGP_NODE, &address_family_ipv4_unicast_cmd); install_element (BGP_NODE, &address_family_ipv4_cmd);
install_element (BGP_NODE, &address_family_ipv4_multicast_cmd);
install_element (BGP_NODE, &address_family_ipv4_vpn_cmd);
install_element (BGP_NODE, &address_family_ipv6_cmd); install_element (BGP_NODE, &address_family_ipv6_cmd);
install_element (BGP_NODE, &address_family_ipv6_multicast_cmd);
install_element (BGP_NODE, &address_family_ipv6_vpn_cmd);
install_element (BGP_NODE, &address_family_evpn_cmd); install_element (BGP_NODE, &address_family_evpn_cmd);
install_element (BGP_VPNV4_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_VPNV6_NODE, &exit_address_family_cmd);