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

@ -1134,81 +1134,99 @@ 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;
return CMD_SUCCESS; return CMD_SUCCESS;
} }
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;
return CMD_SUCCESS; return CMD_SUCCESS;
} }
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; vty->node = BGP_IPV4_NODE;
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;
return CMD_SUCCESS; return CMD_SUCCESS;
} }
DEFUNSH (VTYSH_BGPD, DEFUNSH (VTYSH_BGPD,
address_family_ipv6, address_family_ipv4_multicast,
address_family_ipv6_cmd, address_family_ipv4_multicast_cmd,
"address-family ipv6 [<unicast|multicast|vpn|encap>]", "address-family ipv4 multicast",
"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; vty->node = BGP_IPV4M_NODE;
return CMD_SUCCESS;
}
if (argv_find (argv, argc, "multicast", &idx)) DEFUNSH (VTYSH_BGPD,
vty->node = BGP_IPV6M_NODE; 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;
}
else if (argv_find (argv, argc, "encap", &idx)) DEFUNSH (VTYSH_BGPD,
vty->node = BGP_ENCAPV6_NODE; address_family_ipv6,
address_family_ipv6_cmd,
"address-family ipv6 [unicast]",
"Enter Address Family command mode\n"
"Address Family\n"
"Address Family modifier\n")
{
vty->node = BGP_IPV6_NODE;
return CMD_SUCCESS;
}
else if (argv_find (argv, argc, "vpn", &idx)) DEFUNSH (VTYSH_BGPD,
vty->node = BGP_VPNV6_NODE; address_family_ipv6_multicast,
address_family_ipv6_multicast_cmd,
else "address-family ipv6 multicast",
vty->node = BGP_IPV6_NODE; "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);