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;
}
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,
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);
$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";
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;
}
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);