diff options
Diffstat (limited to 'bgpd')
-rw-r--r-- | bgpd/bgp_route.c | 3842 | ||||
-rw-r--r-- | bgpd/bgp_vty.c | 832 |
2 files changed, 2237 insertions, 2437 deletions
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index c28de7be..0ea7ced8 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -7054,90 +7054,91 @@ DEFUN (show_bgp_ipv6_vpn_rd_route, return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MPLS_VPN, &prd, 0); } -DEFUN (show_ip_bgp_ipv4_prefix, - show_ip_bgp_ipv4_prefix_cmd, - "show ip bgp ipv4 (unicast|multicast) A.B.C.D/M", +DEFUN (show_bgp_ipv4_encap_route, + show_bgp_ipv4_encap_route_cmd, + "show bgp ipv4 encap A.B.C.D", SHOW_STR - IP_STR BGP_STR - "Address family\n" - "Address Family modifier\n" - "Address Family modifier\n" - "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") + IP_STR + "Display ENCAP NLRI specific information\n" + "Network in the BGP routing table to display\n") { - if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MULTICAST, NULL, 1); - - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_UNICAST, NULL, 1); + return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_ENCAP, NULL, 0); } -ALIAS (show_ip_bgp_ipv4_prefix, - show_bgp_ipv4_safi_prefix_cmd, - "show bgp ipv4 (unicast|multicast) A.B.C.D/M", - SHOW_STR - BGP_STR - "Address family\n" - "Address Family modifier\n" - "Address Family modifier\n" - "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") - -DEFUN (show_ip_bgp_vpnv4_all_prefix, - show_ip_bgp_vpnv4_all_prefix_cmd, - "show ip bgp vpnv4 all A.B.C.D/M", +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_encap_route, + show_bgp_ipv6_encap_route_cmd, + "show bgp ipv6 encap X:X::X:X", SHOW_STR - IP_STR BGP_STR - "Display VPNv4 NLRI specific information\n" - "Display information about all VPNv4 NLRIs\n" - "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") + IP6_STR + "Display ENCAP NLRI specific information\n" + "Network in the BGP routing table to display\n") { - return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_MPLS_VPN, NULL, 1); + return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_ENCAP, NULL, 0); } +#endif -DEFUN (show_ip_bgp_vpnv4_rd_prefix, - show_ip_bgp_vpnv4_rd_prefix_cmd, - "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn A.B.C.D/M", +DEFUN (show_bgp_ipv4_safi_rd_route, + show_bgp_ipv4_safi_rd_route_cmd, + "show bgp ipv4 (encap|vpn) rd ASN:nn_or_IP-address:nn A.B.C.D", SHOW_STR - IP_STR BGP_STR - "Display VPNv4 NLRI specific information\n" + "Address Family\n" + "Address Family Modifier\n" + "Address Family Modifier\n" "Display information for a route distinguisher\n" - "VPN Route Distinguisher\n" - "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") + "ENCAP Route Distinguisher\n" + "Network in the BGP routing table to display\n") { int ret; struct prefix_rd prd; + safi_t safi; - ret = str2prefix_rd (argv[0], &prd); + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + ret = str2prefix_rd (argv[1], &prd); if (! ret) { vty_out (vty, "%% Malformed Route Distinguisher%s", VTY_NEWLINE); return CMD_WARNING; } - return bgp_show_route (vty, NULL, argv[1], AFI_IP, SAFI_MPLS_VPN, &prd, 1); + return bgp_show_route (vty, NULL, argv[2], AFI_IP, safi, &prd, 0); } -DEFUN (show_ip_bgp_view, - show_ip_bgp_view_cmd, - "show ip bgp view WORD", +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_rd_route, + show_bgp_ipv6_safi_rd_route_cmd, + "show bgp ipv6 (encap|vpn) rd ASN:nn_or_IP-address:nn X:X::X:X", SHOW_STR - IP_STR BGP_STR - "BGP view\n" - "View name\n") + "Address Family\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Display information for a route distinguisher\n" + "ENCAP Route Distinguisher\n" + "Network in the BGP routing table to display\n") { - struct bgp *bgp; - - /* BGP structure lookup. */ - bgp = bgp_lookup_by_name (argv[0]); - if (bgp == NULL) - { - vty_out (vty, "Can't find BGP view %s%s", argv[0], VTY_NEWLINE); - return CMD_WARNING; - } + int ret; + struct prefix_rd prd; + safi_t safi; - return bgp_show (vty, bgp, AFI_IP, SAFI_UNICAST, bgp_show_type_normal, NULL); + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + ret = str2prefix_rd (argv[1], &prd); + if (! ret) + { + vty_out (vty, "%% Malformed Route Distinguisher%s", VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_route (vty, NULL, argv[2], AFI_IP6, SAFI_ENCAP, &prd, 0); } +#endif DEFUN (show_bgp_ipv4_prefix, show_bgp_ipv4_prefix_cmd, @@ -7192,28 +7193,227 @@ DEFUN (show_bgp_ipv6_vpn_prefix, } #endif -ALIAS (show_bgp_route, - show_bgp_ipv6_route_cmd, - "show bgp ipv6 X:X::X:X", +DEFUN (show_bgp_ipv4_encap_prefix, + show_bgp_ipv4_encap_prefix_cmd, + "show bgp ipv4 encap A.B.C.D/M", SHOW_STR BGP_STR - "Address family\n" + IP_STR + "Display ENCAP NLRI specific information\n" + "Display information about ENCAP NLRIs\n" + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") +{ + return bgp_show_route (vty, NULL, argv[0], AFI_IP, SAFI_ENCAP, NULL, 1); +} + +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_encap_prefix, + show_bgp_ipv6_encap_prefix_cmd, + "show bgp ipv6 encap X:X::X:X/M", + SHOW_STR + BGP_STR + IP_STR + "Display ENCAP NLRI specific information\n" + "Display information about ENCAP NLRIs\n" + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") +{ + return bgp_show_route (vty, NULL, argv[0], AFI_IP6, SAFI_ENCAP, NULL, 1); +} +#endif + +DEFUN (show_bgp_ipv4_safi_rd_prefix, + show_bgp_ipv4_safi_rd_prefix_cmd, + "show bgp ipv4 (encap|vpn) rd ASN:nn_or_IP-address:nn A.B.C.D/M", + SHOW_STR + BGP_STR + "Address Family\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Display information for a route distinguisher\n" + "ENCAP Route Distinguisher\n" + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") +{ + int ret; + struct prefix_rd prd; + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + ret = str2prefix_rd (argv[1], &prd); + if (! ret) + { + vty_out (vty, "%% Malformed Route Distinguisher%s", VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_route (vty, NULL, argv[2], AFI_IP, safi, &prd, 1); +} + +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_rd_prefix, + show_bgp_ipv6_safi_rd_prefix_cmd, + "show bgp ipv6 (encap|vpn) rd ASN:nn_or_IP-address:nn X:X::X:X/M", + SHOW_STR + BGP_STR + "Address Family\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Display information for a route distinguisher\n" + "ENCAP Route Distinguisher\n" + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") +{ + int ret; + struct prefix_rd prd; + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + ret = str2prefix_rd (argv[1], &prd); + if (! ret) + { + vty_out (vty, "%% Malformed Route Distinguisher%s", VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_route (vty, NULL, argv[2], AFI_IP6, safi, &prd, 1); +} +#endif + +DEFUN (show_bgp_afi_safi_view, + show_bgp_afi_safi_view_cmd, + "show bgp view WORD (ipv4|ipv6) (encap|mulicast|unicast|vpn)", + SHOW_STR + BGP_STR + "BGP view\n" + "BGP view name\n" + "Address Family\n" + "Address Family\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + ) +{ + struct bgp *bgp; + safi_t safi; + afi_t afi; + + if (bgp_parse_afi(argv[1], &afi)) { + vty_out (vty, "Error: Bad AFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + if (bgp_parse_safi(argv[2], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[1], VTY_NEWLINE); + return CMD_WARNING; + } + + /* BGP structure lookup. */ + bgp = bgp_lookup_by_name (argv[0]); + if (bgp == NULL) + { + vty_out (vty, "Can't find BGP view %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + return bgp_show (vty, bgp, afi, safi, bgp_show_type_normal, NULL); +} + +DEFUN (show_bgp_view_afi_safi_route, + show_bgp_view_afi_safi_route_cmd, + "show bgp view WORD (ipv4|ipv6) (encap|multicast|unicast|vpn) A.B.C.D", + SHOW_STR + BGP_STR + "BGP view\n" + "View name\n" + "Address Family\n" + "Address Family\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" "Network in the BGP routing table to display\n") +{ + safi_t safi; + afi_t afi; -DEFUN (show_bgp_ipv6_safi_route, - show_bgp_ipv6_safi_route_cmd, - "show bgp ipv6 (unicast|multicast) X:X::X:X", + if (bgp_parse_afi(argv[1], &afi)) { + vty_out (vty, "Error: Bad AFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + if (bgp_parse_safi(argv[2], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[1], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_route (vty, argv[0], argv[3], afi, safi, NULL, 0); +} + +DEFUN (show_bgp_view_afi_safi_prefix, + show_bgp_view_afi_safi_prefix_cmd, + "show bgp view WORD (ipv4|ipv6) (encap|multicast|unicast|vpn) A.B.C.D/M", + SHOW_STR + BGP_STR + "BGP view\n" + "View name\n" + "Address Family\n" + "Address Family\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") +{ + safi_t safi; + afi_t afi; + + if (bgp_parse_afi(argv[1], &afi)) { + vty_out (vty, "Error: Bad AFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + if (bgp_parse_safi(argv[2], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[1], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_route (vty, argv[0], argv[3], afi, safi, NULL, 1); +} + +/* new001 */ +DEFUN (show_bgp_afi, + show_bgp_afi_cmd, + "show bgp (ipv4|ipv6)", + SHOW_STR + BGP_STR + "Address family\n" + "Address family\n") +{ + afi_t afi; + + if (bgp_parse_afi(argv[0], &afi)) { + vty_out (vty, "Error: Bad AFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show (vty, NULL, afi, SAFI_UNICAST, bgp_show_type_normal, + NULL); +} + +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi, + show_bgp_ipv6_safi_cmd, + "show bgp ipv6 (unicast|multicast)", SHOW_STR BGP_STR "Address family\n" "Address Family modifier\n" - "Address Family modifier\n" - "Network in the BGP routing table to display\n") + "Address Family modifier\n") { if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 0); + return bgp_show (vty, NULL, AFI_IP6, SAFI_MULTICAST, bgp_show_type_normal, + NULL); - return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 0); + return bgp_show (vty, NULL, AFI_IP6, SAFI_UNICAST, bgp_show_type_normal, NULL); } DEFUN (show_bgp_ipv6_route, @@ -7366,78 +7566,133 @@ bgp_show_regexp (struct vty *vty, int argc, const char **argv, afi_t afi, return rc; } -DEFUN (show_ip_bgp_regexp, - show_ip_bgp_regexp_cmd, - "show ip bgp regexp .LINE", +DEFUN (show_bgp_ipv4_safi_flap_regexp, + show_bgp_ipv4_safi_flap_regexp_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) flap-statistics regexp .LINE", SHOW_STR - IP_STR BGP_STR + IP_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Display flap statistics of routes\n" "Display routes matching the AS path regular expression\n" "A regular-expression to match the BGP AS paths\n") { - return bgp_show_regexp (vty, argc, argv, AFI_IP, SAFI_UNICAST, - bgp_show_type_regexp); + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[1], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_regexp (vty, argc-1, argv+1, AFI_IP, safi, + bgp_show_type_flap_regexp); } -DEFUN (show_ip_bgp_flap_regexp, - show_ip_bgp_flap_regexp_cmd, - "show ip bgp flap-statistics regexp .LINE", +ALIAS (show_bgp_ipv4_safi_flap_regexp, + show_bgp_ipv4_safi_damp_flap_regexp_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) dampening flap-statistics regexp .LINE", SHOW_STR + BGP_STR IP_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Display detailed information about dampening\n" + "Display flap statistics of routes\n" + "Display routes matching the AS path regular expression\n" + "A regular-expression to match the BGP AS paths\n") + +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_flap_regexp, + show_bgp_ipv6_safi_flap_regexp_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) flap-statistics regexp .LINE", + SHOW_STR BGP_STR + IPV6_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" "Display flap statistics of routes\n" "Display routes matching the AS path regular expression\n" "A regular-expression to match the BGP AS paths\n") { - return bgp_show_regexp (vty, argc, argv, AFI_IP, SAFI_UNICAST, - bgp_show_type_flap_regexp); + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[1], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_regexp (vty, argc-1, argv+1, AFI_IP6, safi, + bgp_show_type_flap_regexp); } -ALIAS (show_ip_bgp_flap_regexp, - show_ip_bgp_damp_flap_regexp_cmd, - "show ip bgp dampening flap-statistics regexp .LINE", +ALIAS (show_bgp_ipv6_safi_flap_regexp, + show_bgp_ipv6_safi_damp_flap_regexp_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) dampening flap-statistics regexp .LINE", SHOW_STR - IP_STR BGP_STR + IPV6_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" "Display detailed information about dampening\n" "Display flap statistics of routes\n" "Display routes matching the AS path regular expression\n" "A regular-expression to match the BGP AS paths\n") +#endif -DEFUN (show_ip_bgp_ipv4_regexp, - show_ip_bgp_ipv4_regexp_cmd, - "show ip bgp ipv4 (unicast|multicast) regexp .LINE", +DEFUN (show_bgp_ipv4_safi_regexp, + show_bgp_ipv4_safi_regexp_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) regexp .LINE", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display routes matching the AS path regular expression\n" "A regular-expression to match the BGP AS paths\n") { - if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_regexp (vty, argc, argv, AFI_IP, SAFI_MULTICAST, - bgp_show_type_regexp); + safi_t safi; + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } - return bgp_show_regexp (vty, argc, argv, AFI_IP, SAFI_UNICAST, + return bgp_show_regexp (vty, argc-1, argv+1, AFI_IP, safi, bgp_show_type_regexp); } - #ifdef HAVE_IPV6 -DEFUN (show_bgp_regexp, - show_bgp_regexp_cmd, - "show bgp regexp .LINE", +DEFUN (show_bgp_ipv6_safi_regexp, + show_bgp_ipv6_safi_regexp_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) regexp .LINE", SHOW_STR BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display routes matching the AS path regular expression\n" "A regular-expression to match the BGP AS paths\n") { - return bgp_show_regexp (vty, argc, argv, AFI_IP6, SAFI_UNICAST, + safi_t safi; + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + return bgp_show_regexp (vty, argc-1, argv+1, AFI_IP6, safi, bgp_show_type_regexp); } -ALIAS (show_bgp_regexp, +DEFUN (show_bgp_ipv6_regexp, show_bgp_ipv6_regexp_cmd, "show bgp ipv6 regexp .LINE", SHOW_STR @@ -7445,34 +7700,11 @@ ALIAS (show_bgp_regexp, "Address family\n" "Display routes matching the AS path regular expression\n" "A regular-expression to match the BGP AS paths\n") - -/* old command */ -DEFUN (show_ipv6_bgp_regexp, - show_ipv6_bgp_regexp_cmd, - "show ipv6 bgp regexp .LINE", - SHOW_STR - IP_STR - BGP_STR - "Display routes matching the AS path regular expression\n" - "A regular-expression to match the BGP AS paths\n") { return bgp_show_regexp (vty, argc, argv, AFI_IP6, SAFI_UNICAST, bgp_show_type_regexp); } -/* old command */ -DEFUN (show_ipv6_mbgp_regexp, - show_ipv6_mbgp_regexp_cmd, - "show ipv6 mbgp regexp .LINE", - SHOW_STR - IP_STR - BGP_STR - "Display routes matching the AS path regular expression\n" - "A regular-expression to match the MBGP AS paths\n") -{ - return bgp_show_regexp (vty, argc, argv, AFI_IP6, SAFI_MULTICAST, - bgp_show_type_regexp); -} #endif /* HAVE_IPV6 */ static int @@ -7505,65 +7737,128 @@ DEFUN (show_bgp_ipv4_prefix_list, bgp_show_type_prefix_list); } -DEFUN (show_ip_bgp_flap_prefix_list, - show_ip_bgp_flap_prefix_list_cmd, - "show ip bgp flap-statistics prefix-list WORD", +DEFUN (show_bgp_ipv4_safi_flap_prefix_list, + show_bgp_ipv4_safi_flap_prefix_list_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) flap-statistics prefix-list WORD", SHOW_STR - IP_STR BGP_STR + IP_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" "Display flap statistics of routes\n" "Display routes conforming to the prefix-list\n" "IP prefix-list name\n") { - return bgp_show_prefix_list (vty, argv[0], AFI_IP, SAFI_UNICAST, + safi_t safi; + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_prefix_list (vty, argv[1], AFI_IP, safi, bgp_show_type_flap_prefix_list); } -ALIAS (show_ip_bgp_flap_prefix_list, - show_ip_bgp_damp_flap_prefix_list_cmd, - "show ip bgp dampening flap-statistics prefix-list WORD", +ALIAS (show_bgp_ipv4_safi_flap_prefix_list, + show_bgp_ipv4_safi_damp_flap_prefix_list_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) dampening flap-statistics prefix-list WORD", SHOW_STR + BGP_STR IP_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Display detailed information about dampening\n" + "Display flap statistics of routes\n" + "Display routes conforming to the prefix-list\n" + "IP prefix-list name\n") + +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_flap_prefix_list, + show_bgp_ipv6_safi_flap_prefix_list_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) flap-statistics prefix-list WORD", + SHOW_STR + BGP_STR + IPV6_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Display flap statistics of routes\n" + "Display routes conforming to the prefix-list\n" + "IP prefix-list name\n") +{ + safi_t safi; + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_prefix_list (vty, argv[1], AFI_IP6, safi, + bgp_show_type_flap_prefix_list); +} +ALIAS (show_bgp_ipv6_safi_flap_prefix_list, + show_bgp_ipv6_safi_damp_flap_prefix_list_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) dampening flap-statistics prefix-list WORD", + SHOW_STR BGP_STR + IPV6_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" "Display detailed information about dampening\n" "Display flap statistics of routes\n" "Display routes conforming to the prefix-list\n" "IP prefix-list name\n") +#endif -DEFUN (show_ip_bgp_ipv4_prefix_list, - show_ip_bgp_ipv4_prefix_list_cmd, - "show ip bgp ipv4 (unicast|multicast) prefix-list WORD", +DEFUN (show_bgp_ipv4_safi_prefix_list, + show_bgp_ipv4_safi_prefix_list_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) prefix-list WORD", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display routes conforming to the prefix-list\n" "IP prefix-list name\n") { - if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_prefix_list (vty, argv[1], AFI_IP, SAFI_MULTICAST, - bgp_show_type_prefix_list); - - return bgp_show_prefix_list (vty, argv[1], AFI_IP, SAFI_UNICAST, + safi_t safi; + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_prefix_list (vty, argv[1], AFI_IP, safi, bgp_show_type_prefix_list); } - #ifdef HAVE_IPV6 -DEFUN (show_bgp_prefix_list, - show_bgp_prefix_list_cmd, - "show bgp prefix-list WORD", +DEFUN (show_bgp_ipv6_safi_prefix_list, + show_bgp_ipv6_safi_prefix_list_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) prefix-list WORD", SHOW_STR BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display routes conforming to the prefix-list\n" - "IPv6 prefix-list name\n") + "IP prefix-list name\n") { - return bgp_show_prefix_list (vty, argv[0], AFI_IP6, SAFI_UNICAST, + safi_t safi; + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_prefix_list (vty, argv[1], AFI_IP6, safi, bgp_show_type_prefix_list); } -ALIAS (show_bgp_prefix_list, +DEFUN (show_bgp_prefix_list, show_bgp_ipv6_prefix_list_cmd, "show bgp ipv6 prefix-list WORD", SHOW_STR @@ -7571,34 +7866,11 @@ ALIAS (show_bgp_prefix_list, "Address family\n" "Display routes conforming to the prefix-list\n" "IPv6 prefix-list name\n") - -/* old command */ -DEFUN (show_ipv6_bgp_prefix_list, - show_ipv6_bgp_prefix_list_cmd, - "show ipv6 bgp prefix-list WORD", - SHOW_STR - IPV6_STR - BGP_STR - "Display routes matching the prefix-list\n" - "IPv6 prefix-list name\n") { return bgp_show_prefix_list (vty, argv[0], AFI_IP6, SAFI_UNICAST, bgp_show_type_prefix_list); } -/* old command */ -DEFUN (show_ipv6_mbgp_prefix_list, - show_ipv6_mbgp_prefix_list_cmd, - "show ipv6 mbgp prefix-list WORD", - SHOW_STR - IPV6_STR - MBGP_STR - "Display routes matching the prefix-list\n" - "IPv6 prefix-list name\n") -{ - return bgp_show_prefix_list (vty, argv[0], AFI_IP6, SAFI_MULTICAST, - bgp_show_type_prefix_list); -} #endif /* HAVE_IPV6 */ static int @@ -7617,12 +7889,12 @@ bgp_show_filter_list (struct vty *vty, const char *filter, afi_t afi, return bgp_show (vty, NULL, afi, safi, type, as_list); } -DEFUN (show_ip_bgp_filter_list, - show_ip_bgp_filter_list_cmd, - "show ip bgp filter-list WORD", +DEFUN (show_bgp_ipv4_filter_list, + show_bgp_ipv4_filter_list_cmd, + "show bgp ipv4 filter-list WORD", SHOW_STR - IP_STR BGP_STR + IP_STR "Display routes conforming to the filter-list\n" "Regular expression access list name\n") { @@ -7630,100 +7902,142 @@ DEFUN (show_ip_bgp_filter_list, bgp_show_type_filter_list); } -DEFUN (show_ip_bgp_flap_filter_list, - show_ip_bgp_flap_filter_list_cmd, - "show ip bgp flap-statistics filter-list WORD", +DEFUN (show_bgp_ipv4_safi_flap_filter_list, + show_bgp_ipv4_safi_flap_filter_list_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) flap-statistics filter-list WORD", SHOW_STR - IP_STR BGP_STR + IP_STR + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display flap statistics of routes\n" "Display routes conforming to the filter-list\n" "Regular expression access list name\n") { - return bgp_show_filter_list (vty, argv[0], AFI_IP, SAFI_UNICAST, + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_filter_list (vty, argv[1], AFI_IP, safi, bgp_show_type_flap_filter_list); } -ALIAS (show_ip_bgp_flap_filter_list, - show_ip_bgp_damp_flap_filter_list_cmd, - "show ip bgp dampening flap-statistics filter-list WORD", +ALIAS (show_bgp_ipv4_safi_flap_filter_list, + show_bgp_ipv4_safi_damp_flap_filter_list_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) dampening flap-statistics filter-list WORD", SHOW_STR - IP_STR BGP_STR + IP_STR + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display detailed information about dampening\n" "Display flap statistics of routes\n" "Display routes conforming to the filter-list\n" "Regular expression access list name\n") -DEFUN (show_ip_bgp_ipv4_filter_list, - show_ip_bgp_ipv4_filter_list_cmd, - "show ip bgp ipv4 (unicast|multicast) filter-list WORD", +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_flap_filter_list, + show_bgp_ipv6_safi_flap_filter_list_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) flap-statistics filter-list WORD", SHOW_STR - IP_STR BGP_STR - "Address family\n" + IPV6_STR + "Address Family modifier\n" "Address Family modifier\n" "Address Family modifier\n" + "Address Family modifier\n" + "Display flap statistics of routes\n" "Display routes conforming to the filter-list\n" "Regular expression access list name\n") { - if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_filter_list (vty, argv[1], AFI_IP, SAFI_MULTICAST, - bgp_show_type_filter_list); - - return bgp_show_filter_list (vty, argv[1], AFI_IP, SAFI_UNICAST, - bgp_show_type_filter_list); -} + safi_t safi; -#ifdef HAVE_IPV6 -DEFUN (show_bgp_filter_list, - show_bgp_filter_list_cmd, - "show bgp filter-list WORD", + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_filter_list (vty, argv[1], AFI_IP6, safi, + bgp_show_type_flap_filter_list); +} +ALIAS (show_bgp_ipv6_safi_flap_filter_list, + show_bgp_ipv6_safi_damp_flap_filter_list_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) dampening flap-statistics filter-list WORD", SHOW_STR BGP_STR + IPV6_STR + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Display detailed information about dampening\n" + "Display flap statistics of routes\n" "Display routes conforming to the filter-list\n" "Regular expression access list name\n") -{ - return bgp_show_filter_list (vty, argv[0], AFI_IP6, SAFI_UNICAST, - bgp_show_type_filter_list); -} +#endif -ALIAS (show_bgp_filter_list, - show_bgp_ipv6_filter_list_cmd, - "show bgp ipv6 filter-list WORD", +DEFUN (show_bgp_ipv4_safi_filter_list, + show_bgp_ipv4_safi_filter_list_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) filter-list WORD", SHOW_STR BGP_STR - "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display routes conforming to the filter-list\n" "Regular expression access list name\n") +{ + safi_t safi; -/* old command */ -DEFUN (show_ipv6_bgp_filter_list, - show_ipv6_bgp_filter_list_cmd, - "show ipv6 bgp filter-list WORD", + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_filter_list (vty, argv[1], AFI_IP, safi, + bgp_show_type_filter_list); +} +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_filter_list, + show_bgp_ipv6_safi_filter_list_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) filter-list WORD", SHOW_STR - IPV6_STR BGP_STR + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display routes conforming to the filter-list\n" "Regular expression access list name\n") { - return bgp_show_filter_list (vty, argv[0], AFI_IP6, SAFI_UNICAST, - bgp_show_type_filter_list); + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_filter_list (vty, argv[1], AFI_IP6, safi, + bgp_show_type_filter_list); } -/* old command */ -DEFUN (show_ipv6_mbgp_filter_list, - show_ipv6_mbgp_filter_list_cmd, - "show ipv6 mbgp filter-list WORD", +DEFUN (show_bgp_filter_list, + show_bgp_ipv6_filter_list_cmd, + "show bgp ipv6 filter-list WORD", SHOW_STR - IPV6_STR - MBGP_STR + BGP_STR + "Address family\n" "Display routes conforming to the filter-list\n" "Regular expression access list name\n") { - return bgp_show_filter_list (vty, argv[0], AFI_IP6, SAFI_MULTICAST, + return bgp_show_filter_list (vty, argv[0], AFI_IP6, SAFI_UNICAST, bgp_show_type_filter_list); } + #endif /* HAVE_IPV6 */ DEFUN (show_ip_bgp_dampening_info, @@ -7755,12 +8069,12 @@ bgp_show_route_map (struct vty *vty, const char *rmap_str, afi_t afi, return bgp_show (vty, NULL, afi, safi, type, rmap); } -DEFUN (show_ip_bgp_route_map, - show_ip_bgp_route_map_cmd, - "show ip bgp route-map WORD", +DEFUN (show_bgp_ipv4_route_map, + show_bgp_ipv4_route_map_cmd, + "show bgp ipv4 route-map WORD", SHOW_STR - IP_STR BGP_STR + IP_STR "Display routes matching the route-map\n" "A route-map to match on\n") { @@ -7768,64 +8082,127 @@ DEFUN (show_ip_bgp_route_map, bgp_show_type_route_map); } -DEFUN (show_ip_bgp_flap_route_map, - show_ip_bgp_flap_route_map_cmd, - "show ip bgp flap-statistics route-map WORD", +DEFUN (show_bgp_ipv4_safi_flap_route_map, + show_bgp_ipv4_safi_flap_route_map_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) flap-statistics route-map WORD", SHOW_STR - IP_STR BGP_STR + IP_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" "Display flap statistics of routes\n" "Display routes matching the route-map\n" "A route-map to match on\n") { - return bgp_show_route_map (vty, argv[0], AFI_IP, SAFI_UNICAST, + safi_t safi; + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_route_map (vty, argv[1], AFI_IP, safi, bgp_show_type_flap_route_map); } -ALIAS (show_ip_bgp_flap_route_map, - show_ip_bgp_damp_flap_route_map_cmd, - "show ip bgp dampening flap-statistics route-map WORD", +ALIAS (show_bgp_ipv4_safi_flap_route_map, + show_bgp_ipv4_safi_damp_flap_route_map_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) dampening flap-statistics route-map WORD", SHOW_STR + BGP_STR IP_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Display detailed information about dampening\n" + "Display flap statistics of routes\n" + "Display routes matching the route-map\n" + "A route-map to match on\n") +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_flap_route_map, + show_bgp_ipv6_safi_flap_route_map_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) flap-statistics route-map WORD", + SHOW_STR BGP_STR + IPV6_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Display flap statistics of routes\n" + "Display routes matching the route-map\n" + "A route-map to match on\n") +{ + safi_t safi; + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_route_map (vty, argv[1], AFI_IP6, safi, + bgp_show_type_flap_route_map); +} +ALIAS (show_bgp_ipv6_safi_flap_route_map, + show_bgp_ipv6_safi_damp_flap_route_map_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) dampening flap-statistics route-map WORD", + SHOW_STR + BGP_STR + IPV6_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" "Display detailed information about dampening\n" "Display flap statistics of routes\n" "Display routes matching the route-map\n" "A route-map to match on\n") +#endif -DEFUN (show_ip_bgp_ipv4_route_map, - show_ip_bgp_ipv4_route_map_cmd, - "show ip bgp ipv4 (unicast|multicast) route-map WORD", +DEFUN (show_bgp_ipv4_safi_route_map, + show_bgp_ipv4_safi_route_map_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) route-map WORD", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display routes matching the route-map\n" "A route-map to match on\n") { - if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_route_map (vty, argv[1], AFI_IP, SAFI_MULTICAST, - bgp_show_type_route_map); - - return bgp_show_route_map (vty, argv[1], AFI_IP, SAFI_UNICAST, + safi_t safi; + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_route_map (vty, argv[1], AFI_IP, safi, bgp_show_type_route_map); } - -DEFUN (show_bgp_route_map, - show_bgp_route_map_cmd, - "show bgp route-map WORD", +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_route_map, + show_bgp_ipv6_safi_route_map_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) route-map WORD", SHOW_STR BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display routes matching the route-map\n" "A route-map to match on\n") { - return bgp_show_route_map (vty, argv[0], AFI_IP6, SAFI_UNICAST, + safi_t safi; + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_route_map (vty, argv[1], AFI_IP6, safi, bgp_show_type_route_map); } -ALIAS (show_bgp_route_map, +DEFUN (show_bgp_ipv6_route_map, show_bgp_ipv6_route_map_cmd, "show bgp ipv6 route-map WORD", SHOW_STR @@ -7833,47 +8210,64 @@ ALIAS (show_bgp_route_map, "Address family\n" "Display routes matching the route-map\n" "A route-map to match on\n") +{ + return bgp_show_route_map (vty, argv[0], AFI_IP6, SAFI_UNICAST, + bgp_show_type_route_map); +} +#endif -DEFUN (show_ip_bgp_cidr_only, - show_ip_bgp_cidr_only_cmd, - "show ip bgp cidr-only", +DEFUN (show_bgp_ipv4_cidr_only, + show_bgp_ipv4_cidr_only_cmd, + "show bgp ipv4 cidr-only", SHOW_STR - IP_STR BGP_STR + IP_STR "Display only routes with non-natural netmasks\n") { return bgp_show (vty, NULL, AFI_IP, SAFI_UNICAST, bgp_show_type_cidr_only, NULL); } -DEFUN (show_ip_bgp_flap_cidr_only, - show_ip_bgp_flap_cidr_only_cmd, - "show ip bgp flap-statistics cidr-only", +DEFUN (show_bgp_ipv4_safi_flap_cidr_only, + show_bgp_ipv4_safi_flap_cidr_only_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) flap-statistics cidr-only", SHOW_STR - IP_STR BGP_STR + "Address Family\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" "Display flap statistics of routes\n" "Display only routes with non-natural netmasks\n") { - return bgp_show (vty, NULL, AFI_IP, SAFI_UNICAST, - bgp_show_type_flap_cidr_only, NULL); + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show (vty, NULL, AFI_IP, safi, bgp_show_type_flap_cidr_only, NULL); } -ALIAS (show_ip_bgp_flap_cidr_only, - show_ip_bgp_damp_flap_cidr_only_cmd, - "show ip bgp dampening flap-statistics cidr-only", +ALIAS (show_bgp_ipv4_safi_flap_cidr_only, + show_bgp_ipv4_safi_damp_flap_cidr_only_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) dampening flap-statistics cidr-only", SHOW_STR - IP_STR BGP_STR + "Address Family\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" "Display detailed information about dampening\n" "Display flap statistics of routes\n" "Display only routes with non-natural netmasks\n") -DEFUN (show_ip_bgp_ipv4_cidr_only, - show_ip_bgp_ipv4_cidr_only_cmd, - "show ip bgp ipv4 (unicast|multicast) cidr-only", +DEFUN (show_bgp_ipv4_safi_cidr_only, + show_bgp_ipv4_safi_cidr_only_cmd, + "show bgp ipv4 (unicast|multicast) cidr-only", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" @@ -7888,83 +8282,64 @@ DEFUN (show_ip_bgp_ipv4_cidr_only, bgp_show_type_cidr_only, NULL); } -DEFUN (show_ip_bgp_community_all, - show_ip_bgp_community_all_cmd, - "show ip bgp community", - SHOW_STR - IP_STR - BGP_STR - "Display routes matching the communities\n") -{ - return bgp_show (vty, NULL, AFI_IP, SAFI_UNICAST, - bgp_show_type_community_all, NULL); -} - -DEFUN (show_ip_bgp_ipv4_community_all, - show_ip_bgp_ipv4_community_all_cmd, - "show ip bgp ipv4 (unicast|multicast) community", +/* new046 */ +DEFUN (show_bgp_afi_safi_community_all, + show_bgp_afi_safi_community_all_cmd, +#ifdef HAVE_IPV6 + "show bgp (ipv4|ipv6) (encap|multicast|unicast|vpn) community", +#else + "show bgp ipv4 (encap|multicast|unicast|vpn) community", +#endif SHOW_STR - IP_STR BGP_STR "Address family\n" +#ifdef HAVE_IPV6 + "Address family\n" +#endif + "Address Family modifier\n" + "Address Family modifier\n" "Address Family modifier\n" "Address Family modifier\n" "Display routes matching the communities\n") { - if (strncmp (argv[0], "m", 1) == 0) - return bgp_show (vty, NULL, AFI_IP, SAFI_MULTICAST, - bgp_show_type_community_all, NULL); - - return bgp_show (vty, NULL, AFI_IP, SAFI_UNICAST, - bgp_show_type_community_all, NULL); -} + safi_t safi; + afi_t afi; -#ifdef HAVE_IPV6 -DEFUN (show_bgp_community_all, - show_bgp_community_all_cmd, - "show bgp community", - SHOW_STR - BGP_STR - "Display routes matching the communities\n") -{ - return bgp_show (vty, NULL, AFI_IP6, SAFI_UNICAST, - bgp_show_type_community_all, NULL); -} + if (bgp_parse_afi(argv[0], &afi)) { + vty_out (vty, "Error: Bad AFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + if (bgp_parse_safi(argv[1], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[1], VTY_NEWLINE); + return CMD_WARNING; + } -ALIAS (show_bgp_community_all, - show_bgp_ipv6_community_all_cmd, - "show bgp ipv6 community", + return bgp_show (vty, NULL, afi, safi, bgp_show_type_community_all, NULL); +} +DEFUN (show_bgp_afi_community_all, + show_bgp_afi_community_all_cmd, +#ifdef HAVE_IPV6 + "show bgp (ipv4|ipv6) community", +#else + "show bgp ipv4 community", +#endif SHOW_STR BGP_STR "Address family\n" - "Display routes matching the communities\n") - -/* old command */ -DEFUN (show_ipv6_bgp_community_all, - show_ipv6_bgp_community_all_cmd, - "show ipv6 bgp community", - SHOW_STR - IPV6_STR - BGP_STR +#ifdef HAVE_IPV6 + "Address family\n" +#endif "Display routes matching the communities\n") { - return bgp_show (vty, NULL, AFI_IP6, SAFI_UNICAST, - bgp_show_type_community_all, NULL); -} + afi_t afi; + safi_t safi = SAFI_UNICAST; -/* old command */ -DEFUN (show_ipv6_mbgp_community_all, - show_ipv6_mbgp_community_all_cmd, - "show ipv6 mbgp community", - SHOW_STR - IPV6_STR - MBGP_STR - "Display routes matching the communities\n") -{ - return bgp_show (vty, NULL, AFI_IP6, SAFI_MULTICAST, - bgp_show_type_community_all, NULL); + if (bgp_parse_afi(argv[0], &afi)) { + vty_out (vty, "Error: Bad AFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show (vty, NULL, afi, safi, bgp_show_type_community_all, NULL); } -#endif /* HAVE_IPV6 */ static int bgp_show_community (struct vty *vty, const char *view_name, int argc, @@ -8029,12 +8404,12 @@ bgp_show_community (struct vty *vty, const char *view_name, int argc, bgp_show_type_community), com); } -DEFUN (show_ip_bgp_community, - show_ip_bgp_community_cmd, - "show ip bgp community (AA:NN|local-AS|no-advertise|no-export)", +DEFUN (show_bgp_ipv4_community, + show_bgp_ipv4_community_cmd, + "show bgp ipv4 community (AA:NN|local-AS|no-advertise|no-export)", SHOW_STR - IP_STR BGP_STR + IP_STR "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8044,12 +8419,12 @@ DEFUN (show_ip_bgp_community, return bgp_show_community (vty, NULL, argc, argv, 0, AFI_IP, SAFI_UNICAST); } -ALIAS (show_ip_bgp_community, - show_ip_bgp_community2_cmd, - "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", +ALIAS (show_bgp_ipv4_community, + show_bgp_ipv4_community2_cmd, + "show bgp ipv4 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", SHOW_STR - IP_STR BGP_STR + IP_STR "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8060,12 +8435,12 @@ ALIAS (show_ip_bgp_community, "Do not advertise to any peer (well-known community)\n" "Do not export to next AS (well-known community)\n") -ALIAS (show_ip_bgp_community, - show_ip_bgp_community3_cmd, - "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", +ALIAS (show_bgp_ipv4_community, + show_bgp_ipv4_community3_cmd, + "show bgp ipv4 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", SHOW_STR - IP_STR BGP_STR + IP_STR "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8080,12 +8455,12 @@ ALIAS (show_ip_bgp_community, "Do not advertise to any peer (well-known community)\n" "Do not export to next AS (well-known community)\n") -ALIAS (show_ip_bgp_community, - show_ip_bgp_community4_cmd, - "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", +ALIAS (show_bgp_ipv4_community, + show_bgp_ipv4_community4_cmd, + "show bgp ipv4 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", SHOW_STR - IP_STR BGP_STR + IP_STR "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8104,11 +8479,10 @@ ALIAS (show_ip_bgp_community, "Do not advertise to any peer (well-known community)\n" "Do not export to next AS (well-known community)\n") -DEFUN (show_ip_bgp_ipv4_community, - show_ip_bgp_ipv4_community_cmd, - "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export)", +DEFUN (show_bgp_ipv4_safi_community, + show_bgp_ipv4_safi_community_cmd, + "show bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export)", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" @@ -8125,11 +8499,10 @@ DEFUN (show_ip_bgp_ipv4_community, return bgp_show_community (vty, NULL, argc, argv, 0, AFI_IP, SAFI_UNICAST); } -ALIAS (show_ip_bgp_ipv4_community, - show_ip_bgp_ipv4_community2_cmd, - "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", +ALIAS (show_bgp_ipv4_safi_community, + show_bgp_ipv4_safi_community2_cmd, + "show bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" @@ -8144,11 +8517,10 @@ ALIAS (show_ip_bgp_ipv4_community, "Do not advertise to any peer (well-known community)\n" "Do not export to next AS (well-known community)\n") -ALIAS (show_ip_bgp_ipv4_community, - show_ip_bgp_ipv4_community3_cmd, - "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", +ALIAS (show_bgp_ipv4_safi_community, + show_bgp_ipv4_safi_community3_cmd, + "show bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" @@ -8167,11 +8539,10 @@ ALIAS (show_ip_bgp_ipv4_community, "Do not advertise to any peer (well-known community)\n" "Do not export to next AS (well-known community)\n") -ALIAS (show_ip_bgp_ipv4_community, - show_ip_bgp_ipv4_community4_cmd, - "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", +ALIAS (show_bgp_ipv4_safi_community, + show_bgp_ipv4_safi_community4_cmd, + "show bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" @@ -8196,13 +8567,19 @@ ALIAS (show_ip_bgp_ipv4_community, DEFUN (show_bgp_view_afi_safi_community_all, show_bgp_view_afi_safi_community_all_cmd, +#ifdef HAVE_IPV6 "show bgp view WORD (ipv4|ipv6) (unicast|multicast) community", +#else + "show bgp view WORD ipv4 (unicast|multicast) community", +#endif SHOW_STR BGP_STR "BGP view\n" "View name\n" "Address family\n" +#ifdef HAVE_IPV6 "Address family\n" +#endif "Address Family modifier\n" "Address Family modifier\n" "Display routes matching the communities\n") @@ -8219,20 +8596,31 @@ DEFUN (show_bgp_view_afi_safi_community_all, return CMD_WARNING; } +#ifdef HAVE_IPV6 afi = (strncmp (argv[1], "ipv6", 4) == 0) ? AFI_IP6 : AFI_IP; safi = (strncmp (argv[2], "m", 1) == 0) ? SAFI_MULTICAST : SAFI_UNICAST; +#else + afi = AFI_IP; + safi = (strncmp (argv[1], "m", 1) == 0) ? SAFI_MULTICAST : SAFI_UNICAST; +#endif return bgp_show (vty, bgp, afi, safi, bgp_show_type_community_all, NULL); } DEFUN (show_bgp_view_afi_safi_community, show_bgp_view_afi_safi_community_cmd, +#ifdef HAVE_IPV6 "show bgp view WORD (ipv4|ipv6) (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export)", +#else + "show bgp view WORD ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export)", +#endif SHOW_STR BGP_STR "BGP view\n" "View name\n" "Address family\n" +#ifdef HAVE_IPV6 "Address family\n" +#endif "Address family modifier\n" "Address family modifier\n" "Display routes matching the communities\n" @@ -8244,20 +8632,32 @@ DEFUN (show_bgp_view_afi_safi_community, int afi; int safi; +#ifdef HAVE_IPV6 afi = (strncmp (argv[1], "ipv6", 4) == 0) ? AFI_IP6 : AFI_IP; safi = (strncmp (argv[2], "m", 1) == 0) ? SAFI_MULTICAST : SAFI_UNICAST; return bgp_show_community (vty, argv[0], argc-3, &argv[3], 0, afi, safi); +#else + afi = AFI_IP; + safi = (strncmp (argv[1], "m", 1) == 0) ? SAFI_MULTICAST : SAFI_UNICAST; + return bgp_show_community (vty, argv[0], argc-2, &argv[2], 0, afi, safi); +#endif } ALIAS (show_bgp_view_afi_safi_community, show_bgp_view_afi_safi_community2_cmd, +#ifdef HAVE_IPV6 "show bgp view WORD (ipv4|ipv6) (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", +#else + "show bgp view WORD ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", +#endif SHOW_STR BGP_STR "BGP view\n" "View name\n" "Address family\n" +#ifdef HAVE_IPV6 "Address family\n" +#endif "Address family modifier\n" "Address family modifier\n" "Display routes matching the communities\n" @@ -8272,13 +8672,19 @@ ALIAS (show_bgp_view_afi_safi_community, ALIAS (show_bgp_view_afi_safi_community, show_bgp_view_afi_safi_community3_cmd, +#ifdef HAVE_IPV6 "show bgp view WORD (ipv4|ipv6) (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", +#else + "show bgp view WORD ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", +#endif SHOW_STR BGP_STR "BGP view\n" "View name\n" "Address family\n" +#ifdef HAVE_IPV6 "Address family\n" +#endif "Address family modifier\n" "Address family modifier\n" "Display routes matching the communities\n" @@ -8297,13 +8703,19 @@ ALIAS (show_bgp_view_afi_safi_community, ALIAS (show_bgp_view_afi_safi_community, show_bgp_view_afi_safi_community4_cmd, +#ifdef HAVE_IPV6 "show bgp view WORD (ipv4|ipv6) (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", +#else + "show bgp view WORD ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", +#endif SHOW_STR BGP_STR "BGP view\n" "View name\n" "Address family\n" +#ifdef HAVE_IPV6 "Address family\n" +#endif "Address family modifier\n" "Address family modifier\n" "Display routes matching the communities\n" @@ -8324,12 +8736,12 @@ ALIAS (show_bgp_view_afi_safi_community, "Do not advertise to any peer (well-known community)\n" "Do not export to next AS (well-known community)\n") -DEFUN (show_ip_bgp_community_exact, - show_ip_bgp_community_exact_cmd, - "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) exact-match", +DEFUN (show_bgp_ipv4_community_exact, + show_bgp_ipv4_community_exact_cmd, + "show bgp ipv4 community (AA:NN|local-AS|no-advertise|no-export) exact-match", SHOW_STR - IP_STR BGP_STR + IP_STR "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8340,12 +8752,12 @@ DEFUN (show_ip_bgp_community_exact, return bgp_show_community (vty, NULL, argc, argv, 1, AFI_IP, SAFI_UNICAST); } -ALIAS (show_ip_bgp_community_exact, - show_ip_bgp_community2_exact_cmd, - "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", +ALIAS (show_bgp_ipv4_community_exact, + show_bgp_ipv4_community2_exact_cmd, + "show bgp ipv4 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", SHOW_STR - IP_STR BGP_STR + IP_STR "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8357,12 +8769,12 @@ ALIAS (show_ip_bgp_community_exact, "Do not export to next AS (well-known community)\n" "Exact match of the communities") -ALIAS (show_ip_bgp_community_exact, - show_ip_bgp_community3_exact_cmd, - "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", +ALIAS (show_bgp_ipv4_community_exact, + show_bgp_ipv4_community3_exact_cmd, + "show bgp ipv4 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", SHOW_STR - IP_STR BGP_STR + IP_STR "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8378,12 +8790,12 @@ ALIAS (show_ip_bgp_community_exact, "Do not export to next AS (well-known community)\n" "Exact match of the communities") -ALIAS (show_ip_bgp_community_exact, - show_ip_bgp_community4_exact_cmd, - "show ip bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", +ALIAS (show_bgp_ipv4_community_exact, + show_bgp_ipv4_community4_exact_cmd, + "show bgp ipv4 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", SHOW_STR - IP_STR BGP_STR + IP_STR "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8403,11 +8815,10 @@ ALIAS (show_ip_bgp_community_exact, "Do not export to next AS (well-known community)\n" "Exact match of the communities") -DEFUN (show_ip_bgp_ipv4_community_exact, - show_ip_bgp_ipv4_community_exact_cmd, - "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) exact-match", +DEFUN (show_bgp_ipv4_safi_community4_exact, + show_bgp_ipv4_safi_community_exact_cmd, + "show bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) exact-match", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" @@ -8425,11 +8836,10 @@ DEFUN (show_ip_bgp_ipv4_community_exact, return bgp_show_community (vty, NULL, argc, argv, 1, AFI_IP, SAFI_UNICAST); } -ALIAS (show_ip_bgp_ipv4_community_exact, - show_ip_bgp_ipv4_community2_exact_cmd, - "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", +ALIAS (show_bgp_ipv4_safi_community4_exact, + show_bgp_ipv4_safi_community2_exact_cmd, + "show bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" @@ -8445,11 +8855,10 @@ ALIAS (show_ip_bgp_ipv4_community_exact, "Do not export to next AS (well-known community)\n" "Exact match of the communities") -ALIAS (show_ip_bgp_ipv4_community_exact, - show_ip_bgp_ipv4_community3_exact_cmd, - "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", +ALIAS (show_bgp_ipv4_safi_community4_exact, + show_bgp_ipv4_safi_community3_exact_cmd, + "show bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" @@ -8469,11 +8878,10 @@ ALIAS (show_ip_bgp_ipv4_community_exact, "Do not export to next AS (well-known community)\n" "Exact match of the communities") -ALIAS (show_ip_bgp_ipv4_community_exact, - show_ip_bgp_ipv4_community4_exact_cmd, - "show ip bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", +ALIAS (show_bgp_ipv4_safi_community4_exact, + show_bgp_ipv4_safi_community4_exact_cmd, + "show bgp ipv4 (unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" @@ -8497,54 +8905,43 @@ ALIAS (show_ip_bgp_ipv4_community_exact, "Do not export to next AS (well-known community)\n" "Exact match of the communities") -#ifdef HAVE_IPV6 -DEFUN (show_bgp_community, - show_bgp_community_cmd, - "show bgp community (AA:NN|local-AS|no-advertise|no-export)", - SHOW_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n") -{ - return bgp_show_community (vty, NULL, argc, argv, 0, AFI_IP6, SAFI_UNICAST); -} -ALIAS (show_bgp_community, +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_community, show_bgp_ipv6_community_cmd, - "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export)", + "show bgp ipv6 (encap|multicast|unicast|vpn) community (AA:NN|local-AS|no-advertise|no-export)", SHOW_STR BGP_STR "Address family\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" "Do not advertise to any peer (well-known community)\n" "Do not export to next AS (well-known community)\n") +{ + safi_t safi; -ALIAS (show_bgp_community, - show_bgp_community2_cmd, - "show bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", - SHOW_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n") + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_community (vty, NULL, argc-1, argv+1, 0, AFI_IP6, safi); +} -ALIAS (show_bgp_community, +ALIAS (show_bgp_ipv6_community, show_bgp_ipv6_community2_cmd, - "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", + "show bgp ipv6 (encap|multicast|unicast|vpn) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", SHOW_STR BGP_STR "Address family\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8555,31 +8952,16 @@ ALIAS (show_bgp_community, "Do not advertise to any peer (well-known community)\n" "Do not export to next AS (well-known community)\n") -ALIAS (show_bgp_community, - show_bgp_community3_cmd, - "show bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", - SHOW_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n") - -ALIAS (show_bgp_community, +ALIAS (show_bgp_ipv6_community, show_bgp_ipv6_community3_cmd, - "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", + "show bgp ipv6 (encap|multicast|unicast|vpn) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", SHOW_STR BGP_STR "Address family\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8594,35 +8976,16 @@ ALIAS (show_bgp_community, "Do not advertise to any peer (well-known community)\n" "Do not export to next AS (well-known community)\n") -ALIAS (show_bgp_community, - show_bgp_community4_cmd, - "show bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", - SHOW_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n") - -ALIAS (show_bgp_community, +ALIAS (show_bgp_ipv6_community, show_bgp_ipv6_community4_cmd, - "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", + "show bgp ipv6 (encap|multicast|unicast|vpn) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", SHOW_STR BGP_STR "Address family\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8641,135 +9004,44 @@ ALIAS (show_bgp_community, "Do not advertise to any peer (well-known community)\n" "Do not export to next AS (well-known community)\n") -/* old command */ -DEFUN (show_ipv6_bgp_community, - show_ipv6_bgp_community_cmd, - "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export)", - SHOW_STR - IPV6_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n") -{ - return bgp_show_community (vty, NULL, argc, argv, 0, AFI_IP6, SAFI_UNICAST); -} - -/* old command */ -ALIAS (show_ipv6_bgp_community, - show_ipv6_bgp_community2_cmd, - "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", - SHOW_STR - IPV6_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n") - -/* old command */ -ALIAS (show_ipv6_bgp_community, - show_ipv6_bgp_community3_cmd, - "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", - SHOW_STR - IPV6_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n") - -/* old command */ -ALIAS (show_ipv6_bgp_community, - show_ipv6_bgp_community4_cmd, - "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", - SHOW_STR - IPV6_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n") DEFUN (show_bgp_community_exact, - show_bgp_community_exact_cmd, - "show bgp community (AA:NN|local-AS|no-advertise|no-export) exact-match", - SHOW_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "Exact match of the communities") -{ - return bgp_show_community (vty, NULL, argc, argv, 1, AFI_IP6, SAFI_UNICAST); -} - -ALIAS (show_bgp_community_exact, show_bgp_ipv6_community_exact_cmd, - "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) exact-match", + "show bgp ipv6 (encap|multicast|unicast|vpn) community (AA:NN|local-AS|no-advertise|no-export) exact-match", SHOW_STR BGP_STR "Address family\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" "Do not advertise to any peer (well-known community)\n" "Do not export to next AS (well-known community)\n" "Exact match of the communities") +{ + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_community (vty, NULL, argc-1, argv+1, 1, AFI_IP6, safi); +} -ALIAS (show_bgp_community_exact, - show_bgp_community2_exact_cmd, - "show bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", - SHOW_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "Exact match of the communities") ALIAS (show_bgp_community_exact, show_bgp_ipv6_community2_exact_cmd, - "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", + "show bgp ipv6 (encap|multicast|unicast|vpn) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", SHOW_STR BGP_STR "Address family\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8782,31 +9054,15 @@ ALIAS (show_bgp_community_exact, "Exact match of the communities") ALIAS (show_bgp_community_exact, - show_bgp_community3_exact_cmd, - "show bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", - SHOW_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "Exact match of the communities") - -ALIAS (show_bgp_community_exact, show_bgp_ipv6_community3_exact_cmd, - "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", + "show bgp ipv6 (encap|multicast|unicast|vpn) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", SHOW_STR BGP_STR "Address family\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8823,35 +9079,15 @@ ALIAS (show_bgp_community_exact, "Exact match of the communities") ALIAS (show_bgp_community_exact, - show_bgp_community4_exact_cmd, - "show bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", - SHOW_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "Exact match of the communities") - -ALIAS (show_bgp_community_exact, show_bgp_ipv6_community4_exact_cmd, - "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", + "show bgp ipv6 (encap|multicast|unicast|vpn) community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", SHOW_STR BGP_STR "Address family\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" "Display routes matching the communities\n" "community number\n" "Do not send outside local AS (well-known community)\n" @@ -8871,250 +9107,6 @@ ALIAS (show_bgp_community_exact, "Do not export to next AS (well-known community)\n" "Exact match of the communities") -/* old command */ -DEFUN (show_ipv6_bgp_community_exact, - show_ipv6_bgp_community_exact_cmd, - "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) exact-match", - SHOW_STR - IPV6_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "Exact match of the communities") -{ - return bgp_show_community (vty, NULL, argc, argv, 1, AFI_IP6, SAFI_UNICAST); -} - -/* old command */ -ALIAS (show_ipv6_bgp_community_exact, - show_ipv6_bgp_community2_exact_cmd, - "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", - SHOW_STR - IPV6_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "Exact match of the communities") - -/* old command */ -ALIAS (show_ipv6_bgp_community_exact, - show_ipv6_bgp_community3_exact_cmd, - "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", - SHOW_STR - IPV6_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "Exact match of the communities") - -/* old command */ -ALIAS (show_ipv6_bgp_community_exact, - show_ipv6_bgp_community4_exact_cmd, - "show ipv6 bgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", - SHOW_STR - IPV6_STR - BGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "Exact match of the communities") - -/* old command */ -DEFUN (show_ipv6_mbgp_community, - show_ipv6_mbgp_community_cmd, - "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export)", - SHOW_STR - IPV6_STR - MBGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n") -{ - return bgp_show_community (vty, NULL, argc, argv, 0, AFI_IP6, SAFI_MULTICAST); -} - -/* old command */ -ALIAS (show_ipv6_mbgp_community, - show_ipv6_mbgp_community2_cmd, - "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", - SHOW_STR - IPV6_STR - MBGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n") - -/* old command */ -ALIAS (show_ipv6_mbgp_community, - show_ipv6_mbgp_community3_cmd, - "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", - SHOW_STR - IPV6_STR - MBGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n") - -/* old command */ -ALIAS (show_ipv6_mbgp_community, - show_ipv6_mbgp_community4_cmd, - "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export)", - SHOW_STR - IPV6_STR - MBGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n") - -/* old command */ -DEFUN (show_ipv6_mbgp_community_exact, - show_ipv6_mbgp_community_exact_cmd, - "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) exact-match", - SHOW_STR - IPV6_STR - MBGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "Exact match of the communities") -{ - return bgp_show_community (vty, NULL, argc, argv, 1, AFI_IP6, SAFI_MULTICAST); -} - -/* old command */ -ALIAS (show_ipv6_mbgp_community_exact, - show_ipv6_mbgp_community2_exact_cmd, - "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", - SHOW_STR - IPV6_STR - MBGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "Exact match of the communities") - -/* old command */ -ALIAS (show_ipv6_mbgp_community_exact, - show_ipv6_mbgp_community3_exact_cmd, - "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", - SHOW_STR - IPV6_STR - MBGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "Exact match of the communities") - -/* old command */ -ALIAS (show_ipv6_mbgp_community_exact, - show_ipv6_mbgp_community4_exact_cmd, - "show ipv6 mbgp community (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) (AA:NN|local-AS|no-advertise|no-export) exact-match", - SHOW_STR - IPV6_STR - MBGP_STR - "Display routes matching the communities\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "community number\n" - "Do not send outside local AS (well-known community)\n" - "Do not advertise to any peer (well-known community)\n" - "Do not export to next AS (well-known community)\n" - "Exact match of the communities") #endif /* HAVE_IPV6 */ static int @@ -9136,12 +9128,12 @@ bgp_show_community_list (struct vty *vty, const char *com, int exact, bgp_show_type_community_list), list); } -DEFUN (show_ip_bgp_community_list, - show_ip_bgp_community_list_cmd, - "show ip bgp community-list (<1-500>|WORD)", +DEFUN (show_bgp_ipv4_community_list, + show_bgp_ipv4_community_list_cmd, + "show bgp ipv4 community-list (<1-500>|WORD)", SHOW_STR - IP_STR BGP_STR + IP_STR "Display routes matching the community-list\n" "community-list number\n" "community-list name\n") @@ -9149,11 +9141,10 @@ DEFUN (show_ip_bgp_community_list, return bgp_show_community_list (vty, argv[0], 0, AFI_IP, SAFI_UNICAST); } -DEFUN (show_ip_bgp_ipv4_community_list, - show_ip_bgp_ipv4_community_list_cmd, - "show ip bgp ipv4 (unicast|multicast) community-list (<1-500>|WORD)", +DEFUN (show_bgp_ipv4_safi_community_list, + show_bgp_ipv4_safi_community_list_cmd, + "show bgp ipv4 (unicast|multicast) community-list (<1-500>|WORD)", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" @@ -9168,12 +9159,12 @@ DEFUN (show_ip_bgp_ipv4_community_list, return bgp_show_community_list (vty, argv[1], 0, AFI_IP, SAFI_UNICAST); } -DEFUN (show_ip_bgp_community_list_exact, - show_ip_bgp_community_list_exact_cmd, - "show ip bgp community-list (<1-500>|WORD) exact-match", +DEFUN (show_bgp_ipv4_community_list_exact, + show_bgp_ipv4_community_list_exact_cmd, + "show bgp ipv4 community-list (<1-500>|WORD) exact-match", SHOW_STR - IP_STR BGP_STR + IP_STR "Display routes matching the community-list\n" "community-list number\n" "community-list name\n" @@ -9182,11 +9173,10 @@ DEFUN (show_ip_bgp_community_list_exact, return bgp_show_community_list (vty, argv[0], 1, AFI_IP, SAFI_UNICAST); } -DEFUN (show_ip_bgp_ipv4_community_list_exact, - show_ip_bgp_ipv4_community_list_exact_cmd, - "show ip bgp ipv4 (unicast|multicast) community-list (<1-500>|WORD) exact-match", +DEFUN (show_bgp_ipv4_safi_community_list_exact, + show_bgp_ipv4_safi_community_list_exact_cmd, + "show bgp ipv4 (unicast|multicast) community-list (<1-500>|WORD) exact-match", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" @@ -9205,102 +9195,49 @@ DEFUN (show_ip_bgp_ipv4_community_list_exact, #ifdef HAVE_IPV6 DEFUN (show_bgp_community_list, show_bgp_community_list_cmd, - "show bgp community-list (<1-500>|WORD)", - SHOW_STR - BGP_STR - "Display routes matching the community-list\n" - "community-list number\n" - "community-list name\n") -{ - return bgp_show_community_list (vty, argv[0], 0, AFI_IP6, SAFI_UNICAST); -} - -ALIAS (show_bgp_community_list, - show_bgp_ipv6_community_list_cmd, - "show bgp ipv6 community-list (<1-500>|WORD)", + "show bgp ipv6 (encap|multicast|unicast|vpn) community-list (<1-500>|WORD)", SHOW_STR BGP_STR "Address family\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" "Display routes matching the community-list\n" "community-list number\n" "community-list name\n") - -/* old command */ -DEFUN (show_ipv6_bgp_community_list, - show_ipv6_bgp_community_list_cmd, - "show ipv6 bgp community-list WORD", - SHOW_STR - IPV6_STR - BGP_STR - "Display routes matching the community-list\n" - "community-list name\n") { - return bgp_show_community_list (vty, argv[0], 0, AFI_IP6, SAFI_UNICAST); -} + safi_t safi; -/* old command */ -DEFUN (show_ipv6_mbgp_community_list, - show_ipv6_mbgp_community_list_cmd, - "show ipv6 mbgp community-list WORD", - SHOW_STR - IPV6_STR - MBGP_STR - "Display routes matching the community-list\n" - "community-list name\n") -{ - return bgp_show_community_list (vty, argv[0], 0, AFI_IP6, SAFI_MULTICAST); + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_community_list (vty, argv[1], 0, AFI_IP6, safi); } DEFUN (show_bgp_community_list_exact, - show_bgp_community_list_exact_cmd, - "show bgp community-list (<1-500>|WORD) exact-match", - SHOW_STR - BGP_STR - "Display routes matching the community-list\n" - "community-list number\n" - "community-list name\n" - "Exact match of the communities\n") -{ - return bgp_show_community_list (vty, argv[0], 1, AFI_IP6, SAFI_UNICAST); -} - -ALIAS (show_bgp_community_list_exact, show_bgp_ipv6_community_list_exact_cmd, - "show bgp ipv6 community-list (<1-500>|WORD) exact-match", + "show bgp ipv6 (encap|multicast|unicast|vpn) community-list (<1-500>|WORD) exact-match", SHOW_STR BGP_STR "Address family\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" + "Address family modifier\n" "Display routes matching the community-list\n" "community-list number\n" "community-list name\n" "Exact match of the communities\n") - -/* old command */ -DEFUN (show_ipv6_bgp_community_list_exact, - show_ipv6_bgp_community_list_exact_cmd, - "show ipv6 bgp community-list WORD exact-match", - SHOW_STR - IPV6_STR - BGP_STR - "Display routes matching the community-list\n" - "community-list name\n" - "Exact match of the communities\n") { - return bgp_show_community_list (vty, argv[0], 1, AFI_IP6, SAFI_UNICAST); -} + safi_t safi; -/* old command */ -DEFUN (show_ipv6_mbgp_community_list_exact, - show_ipv6_mbgp_community_list_exact_cmd, - "show ipv6 mbgp community-list WORD exact-match", - SHOW_STR - IPV6_STR - MBGP_STR - "Display routes matching the community-list\n" - "community-list name\n" - "Exact match of the communities\n") -{ - return bgp_show_community_list (vty, argv[0], 1, AFI_IP6, SAFI_MULTICAST); + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_community_list (vty, argv[1], 1, AFI_IP6, safi); } #endif /* HAVE_IPV6 */ @@ -9325,12 +9262,12 @@ bgp_show_prefix_longer (struct vty *vty, const char *prefix, afi_t afi, return ret; } -DEFUN (show_ip_bgp_prefix_longer, - show_ip_bgp_prefix_longer_cmd, - "show ip bgp A.B.C.D/M longer-prefixes", +DEFUN (show_bgp_ipv4_prefix_longer, + show_bgp_ipv4_prefix_longer_cmd, + "show bgp ipv4 A.B.C.D/M longer-prefixes", SHOW_STR - IP_STR BGP_STR + IP_STR "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" "Display route and more specific routes\n") { @@ -9338,146 +9275,296 @@ DEFUN (show_ip_bgp_prefix_longer, bgp_show_type_prefix_longer); } -DEFUN (show_ip_bgp_flap_prefix_longer, - show_ip_bgp_flap_prefix_longer_cmd, - "show ip bgp flap-statistics A.B.C.D/M longer-prefixes", +DEFUN (show_bgp_ipv4_safi_flap_prefix_longer, + show_bgp_ipv4_safi_flap_prefix_longer_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) flap-statistics A.B.C.D/M longer-prefixes", SHOW_STR - IP_STR BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display flap statistics of routes\n" "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" "Display route and more specific routes\n") { - return bgp_show_prefix_longer (vty, argv[0], AFI_IP, SAFI_UNICAST, + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_prefix_longer (vty, argv[1], AFI_IP, safi, bgp_show_type_flap_prefix_longer); } -ALIAS (show_ip_bgp_flap_prefix_longer, - show_ip_bgp_damp_flap_prefix_longer_cmd, - "show ip bgp dampening flap-statistics A.B.C.D/M longer-prefixes", +ALIAS (show_bgp_ipv4_safi_flap_prefix_longer, + show_bgp_ipv4_safi_damp_flap_prefix_longer_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) dampening flap-statistics A.B.C.D/M longer-prefixes", SHOW_STR - IP_STR BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display detailed information about dampening\n" "Display flap statistics of routes\n" "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" "Display route and more specific routes\n") -DEFUN (show_ip_bgp_ipv4_prefix_longer, - show_ip_bgp_ipv4_prefix_longer_cmd, - "show ip bgp ipv4 (unicast|multicast) A.B.C.D/M longer-prefixes", +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_flap_prefix_longer, + show_bgp_ipv6_safi_flap_prefix_longer_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) flap-statistics X:X::X:X/M longer-prefixes", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Display flap statistics of routes\n" "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" "Display route and more specific routes\n") { - if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_prefix_longer (vty, argv[1], AFI_IP, SAFI_MULTICAST, + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_prefix_longer (vty, argv[1], AFI_IP6, safi, + bgp_show_type_flap_prefix_longer); +} +ALIAS (show_bgp_ipv6_safi_flap_prefix_longer, + show_bgp_ipv6_safi_damp_flap_prefix_longer_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) dampening flap-statistics X:X::X:X/M longer-prefixes", + SHOW_STR + BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Display detailed information about dampening\n" + "Display flap statistics of routes\n" + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" + "Display route and more specific routes\n") +#endif + +DEFUN (show_bgp_ipv4_safi_prefix_longer, + show_bgp_ipv4_safi_prefix_longer_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) A.B.C.D/M longer-prefixes", + SHOW_STR + BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" + "Display route and more specific routes\n") +{ + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + return bgp_show_prefix_longer (vty, argv[1], AFI_IP, safi, bgp_show_type_prefix_longer); +} - return bgp_show_prefix_longer (vty, argv[1], AFI_IP, SAFI_UNICAST, - bgp_show_type_prefix_longer); +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_prefix_longer, + show_bgp_ipv6_safi_prefix_longer_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) X:X::X:X/M longer-prefixes", + SHOW_STR + BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n" + "Display route and more specific routes\n") +{ + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + return bgp_show_prefix_longer (vty, argv[1], AFI_IP6, safi, + bgp_show_type_prefix_longer); } +#endif -DEFUN (show_ip_bgp_flap_address, - show_ip_bgp_flap_address_cmd, - "show ip bgp flap-statistics A.B.C.D", +DEFUN (show_bgp_ipv4_safi_flap_address, + show_bgp_ipv4_safi_flap_address_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) flap-statistics A.B.C.D", SHOW_STR - IP_STR BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display flap statistics of routes\n" "Network in the BGP routing table to display\n") { - return bgp_show_prefix_longer (vty, argv[0], AFI_IP, SAFI_UNICAST, + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_prefix_longer (vty, argv[1], AFI_IP, safi, bgp_show_type_flap_address); } +ALIAS (show_bgp_ipv4_safi_flap_address, + show_bgp_ipv4_safi_damp_flap_address_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) dampening flap-statistics A.B.C.D", + SHOW_STR + BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Display detailed information about dampening\n" + "Display flap statistics of routes\n" + "Network in the BGP routing table to display\n") +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_flap_address, + show_bgp_ipv6_flap_address_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) flap-statistics A.B.C.D", + SHOW_STR + BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Display flap statistics of routes\n" + "Network in the BGP routing table to display\n") +{ + safi_t safi; -ALIAS (show_ip_bgp_flap_address, - show_ip_bgp_damp_flap_address_cmd, - "show ip bgp dampening flap-statistics A.B.C.D", + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[1], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_prefix_longer (vty, argv[1], AFI_IP, safi, + bgp_show_type_flap_address); +} +ALIAS (show_bgp_ipv6_flap_address, + show_bgp_ipv6_damp_flap_address_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) dampening flap-statistics A.B.C.D", SHOW_STR - IP_STR BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display detailed information about dampening\n" "Display flap statistics of routes\n" "Network in the BGP routing table to display\n") +#endif -DEFUN (show_ip_bgp_flap_prefix, - show_ip_bgp_flap_prefix_cmd, - "show ip bgp flap-statistics A.B.C.D/M", +DEFUN (show_bgp_ipv4_safi_flap_prefix, + show_bgp_ipv4_safi_flap_prefix_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) flap-statistics A.B.C.D/M", SHOW_STR - IP_STR BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display flap statistics of routes\n" "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") { - return bgp_show_prefix_longer (vty, argv[0], AFI_IP, SAFI_UNICAST, + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[1], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_prefix_longer (vty, argv[0], AFI_IP, safi, bgp_show_type_flap_prefix); } -ALIAS (show_ip_bgp_flap_prefix, - show_ip_bgp_damp_flap_prefix_cmd, - "show ip bgp dampening flap-statistics A.B.C.D/M", +ALIAS (show_bgp_ipv4_safi_flap_prefix, + show_bgp_ipv4_safi_damp_flap_prefix_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) dampening flap-statistics A.B.C.D/M", SHOW_STR - IP_STR BGP_STR + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display detailed information about dampening\n" "Display flap statistics of routes\n" "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") #ifdef HAVE_IPV6 -DEFUN (show_bgp_prefix_longer, - show_bgp_prefix_longer_cmd, - "show bgp X:X::X:X/M longer-prefixes", +DEFUN (show_bgp_ipv6_safi_flap_prefix, + show_bgp_ipv6_safi_flap_prefix_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) flap-statistics X:X::X:X/M", SHOW_STR BGP_STR - "IPv6 prefix <network>/<length>\n" - "Display route and more specific routes\n") + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Display flap statistics of routes\n" + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") { - return bgp_show_prefix_longer (vty, argv[0], AFI_IP6, SAFI_UNICAST, - bgp_show_type_prefix_longer); + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[1], VTY_NEWLINE); + return CMD_WARNING; + } + return bgp_show_prefix_longer (vty, argv[0], AFI_IP6, safi, + bgp_show_type_flap_prefix); } -ALIAS (show_bgp_prefix_longer, - show_bgp_ipv6_prefix_longer_cmd, - "show bgp ipv6 X:X::X:X/M longer-prefixes", +ALIAS (show_bgp_ipv6_safi_flap_prefix, + show_bgp_ipv6_safi_damp_flap_prefix_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) dampening flap-statistics X:X::X:X/M", SHOW_STR BGP_STR "Address family\n" - "IPv6 prefix <network>/<length>\n" - "Display route and more specific routes\n") + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Display detailed information about dampening\n" + "Display flap statistics of routes\n" + "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") -/* old command */ -DEFUN (show_ipv6_bgp_prefix_longer, - show_ipv6_bgp_prefix_longer_cmd, - "show ipv6 bgp X:X::X:X/M longer-prefixes", +DEFUN (show_bgp_ipv6_prefix_longer, + show_bgp_ipv6_prefix_longer_cmd, + "show bgp ipv6 X:X::X:X/M longer-prefixes", SHOW_STR - IPV6_STR BGP_STR - "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n" + "Address family\n" + "IPv6 prefix <network>/<length>\n" "Display route and more specific routes\n") { return bgp_show_prefix_longer (vty, argv[0], AFI_IP6, SAFI_UNICAST, bgp_show_type_prefix_longer); } -/* old command */ -DEFUN (show_ipv6_mbgp_prefix_longer, - show_ipv6_mbgp_prefix_longer_cmd, - "show ipv6 mbgp X:X::X:X/M longer-prefixes", - SHOW_STR - IPV6_STR - MBGP_STR - "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n" - "Display route and more specific routes\n") -{ - return bgp_show_prefix_longer (vty, argv[0], AFI_IP6, SAFI_MULTICAST, - bgp_show_type_prefix_longer); -} #endif /* HAVE_IPV6 */ static struct peer * @@ -10024,12 +10111,13 @@ bgp_peer_counts (struct vty *vty, struct peer *peer, afi_t afi, safi_t safi) return CMD_SUCCESS; } -DEFUN (show_ip_bgp_neighbor_prefix_counts, - show_ip_bgp_neighbor_prefix_counts_cmd, - "show ip bgp neighbors (A.B.C.D|X:X::X:X) prefix-counts", +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_neighbor_prefix_counts, + show_bgp_ipv6_neighbor_prefix_counts_cmd, + "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) prefix-counts", SHOW_STR - IP_STR BGP_STR + "Address family\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" @@ -10041,58 +10129,74 @@ DEFUN (show_ip_bgp_neighbor_prefix_counts, if (! peer) return CMD_WARNING; - return bgp_peer_counts (vty, peer, AFI_IP, SAFI_UNICAST); + return bgp_peer_counts (vty, peer, AFI_IP6, SAFI_UNICAST); } +#endif -DEFUN (show_bgp_ipv6_neighbor_prefix_counts, - show_bgp_ipv6_neighbor_prefix_counts_cmd, - "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) prefix-counts", +DEFUN (show_bgp_ipv4_safi_neighbor_prefix_counts, + show_bgp_ipv4_safi_neighbor_prefix_counts_cmd, + "show bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) prefix-counts", SHOW_STR BGP_STR "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" "Display detailed prefix count information\n") { struct peer *peer; + safi_t safi; - peer = peer_lookup_in_view (vty, NULL, argv[0]); - if (! peer) + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + peer = peer_lookup_in_view (vty, NULL, argv[1]); + if (! peer) return CMD_WARNING; - - return bgp_peer_counts (vty, peer, AFI_IP6, SAFI_UNICAST); -} -DEFUN (show_ip_bgp_ipv4_neighbor_prefix_counts, - show_ip_bgp_ipv4_neighbor_prefix_counts_cmd, - "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) prefix-counts", + return bgp_peer_counts (vty, peer, AFI_IP, safi); +} +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_neighbor_prefix_counts, + show_bgp_ipv6_safi_neighbor_prefix_counts_cmd, + "show bgp ipv6 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) prefix-counts", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" "Display detailed prefix count information\n") { struct peer *peer; + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } peer = peer_lookup_in_view (vty, NULL, argv[1]); if (! peer) return CMD_WARNING; - if (strncmp (argv[0], "m", 1) == 0) - return bgp_peer_counts (vty, peer, AFI_IP, SAFI_MULTICAST); - - return bgp_peer_counts (vty, peer, AFI_IP, SAFI_UNICAST); + return bgp_peer_counts (vty, peer, AFI_IP6, safi); } +#endif -DEFUN (show_ip_bgp_vpnv4_neighbor_prefix_counts, - show_ip_bgp_vpnv4_neighbor_prefix_counts_cmd, - "show ip bgp vpnv4 all neighbors (A.B.C.D|X:X::X:X) prefix-counts", +DEFUN (show_ip_bgp_encap_neighbor_prefix_counts, + show_ip_bgp_encap_neighbor_prefix_counts_cmd, + "show ip bgp encap all neighbors (A.B.C.D|X:X::X:X) prefix-counts", SHOW_STR IP_STR BGP_STR @@ -10110,7 +10214,7 @@ DEFUN (show_ip_bgp_vpnv4_neighbor_prefix_counts, if (! peer) return CMD_WARNING; - return bgp_peer_counts (vty, peer, AFI_IP, SAFI_MPLS_VPN); + return bgp_peer_counts (vty, peer, AFI_IP, SAFI_ENCAP); } @@ -10224,50 +10328,39 @@ peer_adj_routes (struct vty *vty, struct peer *peer, afi_t afi, safi_t safi, int return CMD_SUCCESS; } -DEFUN (show_ip_bgp_view_neighbor_advertised_route, - show_ip_bgp_view_neighbor_advertised_route_cmd, - "show ip bgp view WORD neighbors (A.B.C.D|X:X::X:X) advertised-routes", +DEFUN (show_bgp_ipv4_safi_neighbor_advertised_route, + show_bgp_ipv4_safi_neighbor_advertised_route_cmd, + "show bgp ipv4 (multicast|unicast) neighbors (A.B.C.D|X:X::X:X) advertised-routes", SHOW_STR - IP_STR BGP_STR - "BGP view\n" - "View name\n" + "Address Family modifier\n" + "Address Family modifier\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" "Display the routes advertised to a BGP neighbor\n") { struct peer *peer; + safi_t safi; - if (argc == 2) - peer = peer_lookup_in_view (vty, argv[0], argv[1]); - else - peer = peer_lookup_in_view (vty, NULL, argv[0]); - - if (! peer) + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); return CMD_WARNING; - - return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 0); -} + } -ALIAS (show_ip_bgp_view_neighbor_advertised_route, - show_ip_bgp_neighbor_advertised_route_cmd, - "show ip bgp neighbors (A.B.C.D|X:X::X:X) advertised-routes", - SHOW_STR - IP_STR - BGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display the routes advertised to a BGP neighbor\n") + peer = peer_lookup_in_view (vty, NULL, argv[1]); + if (! peer) + return CMD_WARNING; -DEFUN (show_ip_bgp_ipv4_neighbor_advertised_route, - show_ip_bgp_ipv4_neighbor_advertised_route_cmd, - "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) advertised-routes", + return peer_adj_routes (vty, peer, AFI_IP, safi, 0); +} +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_neighbor_advertised_route, + show_bgp_ipv6_safi_neighbor_advertised_route_cmd, + "show bgp ipv6 (multicast|unicast) neighbors (A.B.C.D|X:X::X:X) advertised-routes", SHOW_STR - IP_STR BGP_STR - "Address family\n" + "Address Family modifier\n" "Address Family modifier\n" "Address Family modifier\n" "Detailed information on TCP and BGP neighbor connections\n" @@ -10276,25 +10369,28 @@ DEFUN (show_ip_bgp_ipv4_neighbor_advertised_route, "Display the routes advertised to a BGP neighbor\n") { struct peer *peer; + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } peer = peer_lookup_in_view (vty, NULL, argv[1]); if (! peer) return CMD_WARNING; - if (strncmp (argv[0], "m", 1) == 0) - return peer_adj_routes (vty, peer, AFI_IP, SAFI_MULTICAST, 0); - - return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 0); + return peer_adj_routes (vty, peer, AFI_IP6, safi, 0); } -#ifdef HAVE_IPV6 DEFUN (show_bgp_view_neighbor_advertised_route, - show_bgp_view_neighbor_advertised_route_cmd, - "show bgp view WORD neighbors (A.B.C.D|X:X::X:X) advertised-routes", + show_bgp_view_ipv6_neighbor_advertised_route_cmd, + "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) advertised-routes", SHOW_STR BGP_STR "BGP view\n" "View name\n" + "Address family\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" @@ -10313,26 +10409,14 @@ DEFUN (show_bgp_view_neighbor_advertised_route, return peer_adj_routes (vty, peer, AFI_IP6, SAFI_UNICAST, 0); } -ALIAS (show_bgp_view_neighbor_advertised_route, - show_bgp_view_ipv6_neighbor_advertised_route_cmd, - "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) advertised-routes", - SHOW_STR - BGP_STR - "BGP view\n" - "View name\n" - "Address family\n" - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display the routes advertised to a BGP neighbor\n") - DEFUN (show_bgp_view_neighbor_received_routes, - show_bgp_view_neighbor_received_routes_cmd, - "show bgp view WORD neighbors (A.B.C.D|X:X::X:X) received-routes", + show_bgp_view_ipv6_neighbor_received_routes_cmd, + "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) received-routes", SHOW_STR BGP_STR "BGP view\n" "View name\n" + "Address family\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" @@ -10351,29 +10435,6 @@ DEFUN (show_bgp_view_neighbor_received_routes, return peer_adj_routes (vty, peer, AFI_IP6, SAFI_UNICAST, 1); } -ALIAS (show_bgp_view_neighbor_received_routes, - show_bgp_view_ipv6_neighbor_received_routes_cmd, - "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) received-routes", - SHOW_STR - BGP_STR - "BGP view\n" - "View name\n" - "Address family\n" - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display the received routes from neighbor\n") - -ALIAS (show_bgp_view_neighbor_advertised_route, - show_bgp_neighbor_advertised_route_cmd, - "show bgp neighbors (A.B.C.D|X:X::X:X) advertised-routes", - SHOW_STR - BGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display the routes advertised to a BGP neighbor\n") - ALIAS (show_bgp_view_neighbor_advertised_route, show_bgp_ipv6_neighbor_advertised_route_cmd, "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) advertised-routes", @@ -10385,102 +10446,69 @@ ALIAS (show_bgp_view_neighbor_advertised_route, "Neighbor to display information about\n" "Display the routes advertised to a BGP neighbor\n") -/* old command */ -ALIAS (show_bgp_view_neighbor_advertised_route, - ipv6_bgp_neighbor_advertised_route_cmd, - "show ipv6 bgp neighbors (A.B.C.D|X:X::X:X) advertised-routes", - SHOW_STR - IPV6_STR - BGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display the routes advertised to a BGP neighbor\n") - -/* old command */ -DEFUN (ipv6_mbgp_neighbor_advertised_route, - ipv6_mbgp_neighbor_advertised_route_cmd, - "show ipv6 mbgp neighbors (A.B.C.D|X:X::X:X) advertised-routes", - SHOW_STR - IPV6_STR - MBGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display the routes advertised to a BGP neighbor\n") -{ - struct peer *peer; - - peer = peer_lookup_in_view (vty, NULL, argv[0]); - if (! peer) - return CMD_WARNING; - - return peer_adj_routes (vty, peer, AFI_IP6, SAFI_MULTICAST, 0); -} #endif /* HAVE_IPV6 */ -DEFUN (show_ip_bgp_view_neighbor_received_routes, - show_ip_bgp_view_neighbor_received_routes_cmd, - "show ip bgp view WORD neighbors (A.B.C.D|X:X::X:X) received-routes", + +DEFUN (show_bgp_ipv4_safi_neighbor_received_routes, + show_bgp_ipv4_safi_neighbor_received_routes_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) neighbors (A.B.C.D|X:X::X:X) received-routes", SHOW_STR - IP_STR BGP_STR - "BGP view\n" - "View name\n" + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" "Display the received routes from neighbor\n") { struct peer *peer; + safi_t safi; - if (argc == 2) - peer = peer_lookup_in_view (vty, argv[0], argv[1]); - else - peer = peer_lookup_in_view (vty, NULL, argv[0]); + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + peer = peer_lookup_in_view (vty, NULL, argv[1]); if (! peer) return CMD_WARNING; - - return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 1); + + return peer_adj_routes (vty, peer, AFI_IP, safi, 1); } - -ALIAS (show_ip_bgp_view_neighbor_received_routes, - show_ip_bgp_neighbor_received_routes_cmd, - "show ip bgp neighbors (A.B.C.D|X:X::X:X) received-routes", - SHOW_STR - IP_STR - BGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display the received routes from neighbor\n") - -DEFUN (show_ip_bgp_ipv4_neighbor_received_routes, - show_ip_bgp_ipv4_neighbor_received_routes_cmd, - "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) received-routes", +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_neighbor_received_routes, + show_bgp_ipv6_safi_neighbor_received_routes_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) neighbors (A.B.C.D|X:X::X:X) received-routes", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" "Display the received routes from neighbor\n") { struct peer *peer; + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } peer = peer_lookup_in_view (vty, NULL, argv[1]); if (! peer) return CMD_WARNING; - if (strncmp (argv[0], "m", 1) == 0) - return peer_adj_routes (vty, peer, AFI_IP, SAFI_MULTICAST, 1); - - return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 1); + return peer_adj_routes (vty, peer, AFI_IP6, safi, 1); } +#endif DEFUN (show_bgp_view_afi_safi_neighbor_adv_recd_routes, show_bgp_view_afi_safi_neighbor_adv_recd_routes_cmd, @@ -10516,12 +10544,16 @@ DEFUN (show_bgp_view_afi_safi_neighbor_adv_recd_routes, return peer_adj_routes (vty, peer, afi, safi, in); } -DEFUN (show_ip_bgp_neighbor_received_prefix_filter, - show_ip_bgp_neighbor_received_prefix_filter_cmd, - "show ip bgp neighbors (A.B.C.D|X:X::X:X) received prefix-filter", +DEFUN (show_bgp_ipv4_safi_neighbor_received_prefix_filter, + show_bgp_ipv4_safi_neighbor_received_prefix_filter_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) neighbors (A.B.C.D|X:X::X:X) received prefix-filter", SHOW_STR - IP_STR BGP_STR + IP_STR + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" @@ -10532,11 +10564,17 @@ DEFUN (show_ip_bgp_neighbor_received_prefix_filter, union sockunion su; struct peer *peer; int count, ret; + safi_t safi; - ret = str2sockunion (argv[0], &su); + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + ret = str2sockunion (argv[1], &su); if (ret < 0) { - vty_out (vty, "Malformed address: %s%s", argv[0], VTY_NEWLINE); + vty_out (vty, "Malformed address: %s%s", argv[1], VTY_NEWLINE); return CMD_WARNING; } @@ -10544,24 +10582,24 @@ DEFUN (show_ip_bgp_neighbor_received_prefix_filter, if (! peer) return CMD_WARNING; - sprintf (name, "%s.%d.%d", peer->host, AFI_IP, SAFI_UNICAST); + sprintf (name, "%s.%d.%d", peer->host, AFI_IP, safi); count = prefix_bgp_show_prefix_list (NULL, AFI_IP, name); - if (count) - { - vty_out (vty, "Address family: IPv4 Unicast%s", VTY_NEWLINE); + if (count) { + vty_out (vty, "Address family: IPv4 %s%s", safi2str(safi), VTY_NEWLINE); prefix_bgp_show_prefix_list (vty, AFI_IP, name); - } + } return CMD_SUCCESS; } - -DEFUN (show_ip_bgp_ipv4_neighbor_received_prefix_filter, - show_ip_bgp_ipv4_neighbor_received_prefix_filter_cmd, - "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) received prefix-filter", +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_neighbor_received_prefix_filter, + show_bgp_ipv6_safi_neighbor_received_prefix_filter_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) neighbors (A.B.C.D|X:X::X:X) received prefix-filter", SHOW_STR - IP_STR BGP_STR - "Address family\n" + IP_STR + "Address Family modifier\n" + "Address Family modifier\n" "Address Family modifier\n" "Address Family modifier\n" "Detailed information on TCP and BGP neighbor connections\n" @@ -10574,6 +10612,12 @@ DEFUN (show_ip_bgp_ipv4_neighbor_received_prefix_filter, union sockunion su; struct peer *peer; int count, ret; + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } ret = str2sockunion (argv[1], &su); if (ret < 0) @@ -10586,42 +10630,16 @@ DEFUN (show_ip_bgp_ipv4_neighbor_received_prefix_filter, if (! peer) return CMD_WARNING; - if (strncmp (argv[0], "m", 1) == 0) - { - sprintf (name, "%s.%d.%d", peer->host, AFI_IP, SAFI_MULTICAST); - count = prefix_bgp_show_prefix_list (NULL, AFI_IP, name); - if (count) - { - vty_out (vty, "Address family: IPv4 Multicast%s", VTY_NEWLINE); - prefix_bgp_show_prefix_list (vty, AFI_IP, name); - } - } - else - { - sprintf (name, "%s.%d.%d", peer->host, AFI_IP, SAFI_UNICAST); - count = prefix_bgp_show_prefix_list (NULL, AFI_IP, name); - if (count) - { - vty_out (vty, "Address family: IPv4 Unicast%s", VTY_NEWLINE); - prefix_bgp_show_prefix_list (vty, AFI_IP, name); - } - } + sprintf (name, "%s.%d.%d", peer->host, AFI_IP6, safi); + count = prefix_bgp_show_prefix_list (NULL, AFI_IP6, name); + if (count) { + vty_out (vty, "Address family: IPv6 %s%s", safi2str(safi), VTY_NEWLINE); + prefix_bgp_show_prefix_list (vty, AFI_IP6, name); + } return CMD_SUCCESS; } - -#ifdef HAVE_IPV6 -ALIAS (show_bgp_view_neighbor_received_routes, - show_bgp_neighbor_received_routes_cmd, - "show bgp neighbors (A.B.C.D|X:X::X:X) received-routes", - SHOW_STR - BGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display the received routes from neighbor\n") - ALIAS (show_bgp_view_neighbor_received_routes, show_bgp_ipv6_neighbor_received_routes_cmd, "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) received-routes", @@ -10634,10 +10652,11 @@ ALIAS (show_bgp_view_neighbor_received_routes, "Display the received routes from neighbor\n") DEFUN (show_bgp_neighbor_received_prefix_filter, - show_bgp_neighbor_received_prefix_filter_cmd, - "show bgp neighbors (A.B.C.D|X:X::X:X) received prefix-filter", + show_bgp_ipv6_neighbor_received_prefix_filter_cmd, + "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) received prefix-filter", SHOW_STR BGP_STR + "Address family\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" @@ -10671,58 +10690,14 @@ DEFUN (show_bgp_neighbor_received_prefix_filter, return CMD_SUCCESS; } -ALIAS (show_bgp_neighbor_received_prefix_filter, - show_bgp_ipv6_neighbor_received_prefix_filter_cmd, - "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) received prefix-filter", - SHOW_STR - BGP_STR - "Address family\n" - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display information received from a BGP neighbor\n" - "Display the prefixlist filter\n") - -/* old command */ -ALIAS (show_bgp_view_neighbor_received_routes, - ipv6_bgp_neighbor_received_routes_cmd, - "show ipv6 bgp neighbors (A.B.C.D|X:X::X:X) received-routes", - SHOW_STR - IPV6_STR - BGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display the received routes from neighbor\n") - -/* old command */ -DEFUN (ipv6_mbgp_neighbor_received_routes, - ipv6_mbgp_neighbor_received_routes_cmd, - "show ipv6 mbgp neighbors (A.B.C.D|X:X::X:X) received-routes", - SHOW_STR - IPV6_STR - MBGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display the received routes from neighbor\n") -{ - struct peer *peer; - - peer = peer_lookup_in_view (vty, NULL, argv[0]); - if (! peer) - return CMD_WARNING; - - return peer_adj_routes (vty, peer, AFI_IP6, SAFI_MULTICAST, 1); -} - DEFUN (show_bgp_view_neighbor_received_prefix_filter, - show_bgp_view_neighbor_received_prefix_filter_cmd, - "show bgp view WORD neighbors (A.B.C.D|X:X::X:X) received prefix-filter", + show_bgp_view_ipv6_neighbor_received_prefix_filter_cmd, + "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) received prefix-filter", SHOW_STR BGP_STR "BGP view\n" "View name\n" + "Address family\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" @@ -10764,20 +10739,6 @@ DEFUN (show_bgp_view_neighbor_received_prefix_filter, return CMD_SUCCESS; } - -ALIAS (show_bgp_view_neighbor_received_prefix_filter, - show_bgp_view_ipv6_neighbor_received_prefix_filter_cmd, - "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) received prefix-filter", - SHOW_STR - BGP_STR - "BGP view\n" - "View name\n" - "Address family\n" - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display information received from a BGP neighbor\n" - "Display the prefixlist filter\n") #endif /* HAVE_IPV6 */ static int @@ -10793,74 +10754,132 @@ bgp_show_neighbor_route (struct vty *vty, struct peer *peer, afi_t afi, return bgp_show (vty, peer->bgp, afi, safi, type, &peer->su); } -DEFUN (show_ip_bgp_neighbor_routes, - show_ip_bgp_neighbor_routes_cmd, - "show ip bgp neighbors (A.B.C.D|X:X::X:X) routes", +DEFUN (show_bgp_ipv4_safi_neighbor_flap, + show_bgp_ipv4_safi_neighbor_flap_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) neighbors (A.B.C.D|X:X::X:X) flap-statistics", SHOW_STR - IP_STR BGP_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" - "Display routes learned from neighbor\n") + "Display flap statistics of the routes learned from neighbor\n") { struct peer *peer; + safi_t safi; - peer = peer_lookup_in_view (vty, NULL, argv[0]); + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + peer = peer_lookup_in_view (vty, NULL, argv[1]); if (! peer) return CMD_WARNING; - return bgp_show_neighbor_route (vty, peer, AFI_IP, SAFI_UNICAST, - bgp_show_type_neighbor); + return bgp_show_neighbor_route (vty, peer, AFI_IP, safi, + bgp_show_type_flap_neighbor); } - -DEFUN (show_ip_bgp_neighbor_flap, - show_ip_bgp_neighbor_flap_cmd, - "show ip bgp neighbors (A.B.C.D|X:X::X:X) flap-statistics", +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_neighbor_flap, + show_bgp_ipv6_safi_neighbor_flap_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) neighbors (A.B.C.D|X:X::X:X) flap-statistics", SHOW_STR - IP_STR BGP_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" "Display flap statistics of the routes learned from neighbor\n") { struct peer *peer; + safi_t safi; - peer = peer_lookup_in_view (vty, NULL, argv[0]); + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + peer = peer_lookup_in_view (vty, NULL, argv[1]); if (! peer) return CMD_WARNING; - return bgp_show_neighbor_route (vty, peer, AFI_IP, SAFI_UNICAST, + return bgp_show_neighbor_route (vty, peer, AFI_IP6, safi, bgp_show_type_flap_neighbor); } +#endif -DEFUN (show_ip_bgp_neighbor_damp, - show_ip_bgp_neighbor_damp_cmd, - "show ip bgp neighbors (A.B.C.D|X:X::X:X) dampened-routes", +DEFUN (show_bgp_ipv4_safi_neighbor_damp, + show_bgp_ipv4_safi_neighbor_damp_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) neighbors (A.B.C.D|X:X::X:X) dampened-routes", SHOW_STR - IP_STR BGP_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" "Display the dampened routes received from neighbor\n") { struct peer *peer; + safi_t safi; - peer = peer_lookup_in_view (vty, NULL, argv[0]); + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + peer = peer_lookup_in_view (vty, NULL, argv[1]); if (! peer) return CMD_WARNING; - return bgp_show_neighbor_route (vty, peer, AFI_IP, SAFI_UNICAST, + return bgp_show_neighbor_route (vty, peer, AFI_IP, safi, bgp_show_type_damp_neighbor); } +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_neighbor_damp, + show_bgp_ipv6_safi_neighbor_damp_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) neighbors (A.B.C.D|X:X::X:X) dampened-routes", + SHOW_STR + BGP_STR + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Detailed information on TCP and BGP neighbor connections\n" + "Neighbor to display information about\n" + "Neighbor to display information about\n" + "Display the dampened routes received from neighbor\n") +{ + struct peer *peer; + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + peer = peer_lookup_in_view (vty, NULL, argv[1]); + if (! peer) + return CMD_WARNING; + + return bgp_show_neighbor_route (vty, peer, AFI_IP6, safi, + bgp_show_type_damp_neighbor); +} +#endif -DEFUN (show_ip_bgp_ipv4_neighbor_routes, - show_ip_bgp_ipv4_neighbor_routes_cmd, - "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) routes", +DEFUN (show_bgp_ipv4_safi_neighbor_routes, + show_bgp_ipv4_safi_neighbor_routes_cmd, + "show bgp ipv4 (multicast|unicast) neighbors (A.B.C.D|X:X::X:X) routes", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" @@ -10871,69 +10890,50 @@ DEFUN (show_ip_bgp_ipv4_neighbor_routes, "Display routes learned from neighbor\n") { struct peer *peer; + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } peer = peer_lookup_in_view (vty, NULL, argv[1]); if (! peer) return CMD_WARNING; - if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_neighbor_route (vty, peer, AFI_IP, SAFI_MULTICAST, - bgp_show_type_neighbor); - - return bgp_show_neighbor_route (vty, peer, AFI_IP, SAFI_UNICAST, + return bgp_show_neighbor_route (vty, peer, AFI_IP, safi, bgp_show_type_neighbor); } - -DEFUN (show_ip_bgp_view_rsclient, - show_ip_bgp_view_rsclient_cmd, - "show ip bgp view WORD rsclient (A.B.C.D|X:X::X:X)", +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_neighbor_routes, + show_bgp_ipv6_safi_neighbor_routes_cmd, + "show bgp ipv6 (multicast|unicast) neighbors (A.B.C.D|X:X::X:X) routes", SHOW_STR - IP_STR BGP_STR - "BGP view\n" - "View name\n" - "Information about Route Server Client\n" - NEIGHBOR_ADDR_STR) + "Address family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Detailed information on TCP and BGP neighbor connections\n" + NEIGHBOR_ADDR_STR + NEIGHBOR_ADDR_STR + "Display routes learned from neighbor\n") { - struct bgp_table *table; struct peer *peer; + safi_t safi; - if (argc == 2) - peer = peer_lookup_in_view (vty, argv[0], argv[1]); - else - peer = peer_lookup_in_view (vty, NULL, argv[0]); + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + peer = peer_lookup_in_view (vty, NULL, argv[1]); if (! peer) return CMD_WARNING; - - if (! peer->afc[AFI_IP][SAFI_UNICAST]) - { - vty_out (vty, "%% Activate the neighbor for the address family first%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - if ( ! CHECK_FLAG (peer->af_flags[AFI_IP][SAFI_UNICAST], - PEER_FLAG_RSERVER_CLIENT)) - { - vty_out (vty, "%% Neighbor is not a Route-Server client%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - table = peer->rib[AFI_IP][SAFI_UNICAST]; - - return bgp_show_table (vty, table, &peer->remote_id, bgp_show_type_normal, NULL); + + return bgp_show_neighbor_route (vty, peer, AFI_IP6, safi, + bgp_show_type_neighbor); } - -ALIAS (show_ip_bgp_view_rsclient, - show_ip_bgp_rsclient_cmd, - "show ip bgp rsclient (A.B.C.D|X:X::X:X)", - SHOW_STR - IP_STR - BGP_STR - "Information about Route Server Client\n" - NEIGHBOR_ADDR_STR) +#endif DEFUN (show_bgp_view_ipv4_safi_rsclient, show_bgp_view_ipv4_safi_rsclient_cmd, @@ -10994,6 +10994,7 @@ ALIAS (show_bgp_view_ipv4_safi_rsclient, "Information about Route Server Client\n" NEIGHBOR_ADDR_STR) +#if 0 /* from 0.99.24.1 merge */ DEFUN (show_ip_bgp_view_rsclient_route, show_ip_bgp_view_rsclient_route_cmd, "show ip bgp view WORD rsclient (A.B.C.D|X:X::X:X) A.B.C.D", @@ -11008,64 +11009,7 @@ DEFUN (show_ip_bgp_view_rsclient_route, { struct bgp *bgp; struct peer *peer; - - /* BGP structure lookup. */ - if (argc == 3) - { - bgp = bgp_lookup_by_name (argv[0]); - if (bgp == NULL) - { - vty_out (vty, "Can't find BGP view %s%s", argv[0], VTY_NEWLINE); - return CMD_WARNING; - } - } - else - { - bgp = bgp_get_default (); - if (bgp == NULL) - { - vty_out (vty, "No BGP process is configured%s", VTY_NEWLINE); - return CMD_WARNING; - } - } - - if (argc == 3) - peer = peer_lookup_in_view (vty, argv[0], argv[1]); - else - peer = peer_lookup_in_view (vty, NULL, argv[0]); - - if (! peer) - return CMD_WARNING; - - if (! peer->afc[AFI_IP][SAFI_UNICAST]) - { - vty_out (vty, "%% Activate the neighbor for the address family first%s", - VTY_NEWLINE); - return CMD_WARNING; -} - - if ( ! CHECK_FLAG (peer->af_flags[AFI_IP][SAFI_UNICAST], - PEER_FLAG_RSERVER_CLIENT)) - { - vty_out (vty, "%% Neighbor is not a Route-Server client%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - return bgp_show_route_in_table (vty, bgp, peer->rib[AFI_IP][SAFI_UNICAST], - (argc == 3) ? argv[2] : argv[1], - AFI_IP, SAFI_UNICAST, NULL, 0); -} - -ALIAS (show_ip_bgp_view_rsclient_route, - show_ip_bgp_rsclient_route_cmd, - "show ip bgp rsclient (A.B.C.D|X:X::X:X) A.B.C.D", - SHOW_STR - IP_STR - BGP_STR - "Information about Route Server Client\n" - NEIGHBOR_ADDR_STR - "Network in the BGP routing table to display\n") +#endif DEFUN (show_bgp_view_ipv4_safi_rsclient_route, show_bgp_view_ipv4_safi_rsclient_route_cmd, @@ -11148,6 +11092,7 @@ ALIAS (show_bgp_view_ipv4_safi_rsclient_route, NEIGHBOR_ADDR_STR "Network in the BGP routing table to display\n") +#if 0 /* from 0.99.24.1 merge */ DEFUN (show_ip_bgp_view_rsclient_prefix, show_ip_bgp_view_rsclient_prefix_cmd, "show ip bgp view WORD rsclient (A.B.C.D|X:X::X:X) A.B.C.D/M", @@ -11162,64 +11107,7 @@ DEFUN (show_ip_bgp_view_rsclient_prefix, { struct bgp *bgp; struct peer *peer; - - /* BGP structure lookup. */ - if (argc == 3) - { - bgp = bgp_lookup_by_name (argv[0]); - if (bgp == NULL) - { - vty_out (vty, "Can't find BGP view %s%s", argv[0], VTY_NEWLINE); - return CMD_WARNING; - } - } - else - { - bgp = bgp_get_default (); - if (bgp == NULL) - { - vty_out (vty, "No BGP process is configured%s", VTY_NEWLINE); - return CMD_WARNING; - } - } - - if (argc == 3) - peer = peer_lookup_in_view (vty, argv[0], argv[1]); - else - peer = peer_lookup_in_view (vty, NULL, argv[0]); - - if (! peer) - return CMD_WARNING; - - if (! peer->afc[AFI_IP][SAFI_UNICAST]) - { - vty_out (vty, "%% Activate the neighbor for the address family first%s", - VTY_NEWLINE); - return CMD_WARNING; -} - - if ( ! CHECK_FLAG (peer->af_flags[AFI_IP][SAFI_UNICAST], - PEER_FLAG_RSERVER_CLIENT)) -{ - vty_out (vty, "%% Neighbor is not a Route-Server client%s", - VTY_NEWLINE); - return CMD_WARNING; - } - - return bgp_show_route_in_table (vty, bgp, peer->rib[AFI_IP][SAFI_UNICAST], - (argc == 3) ? argv[2] : argv[1], - AFI_IP, SAFI_UNICAST, NULL, 1); -} - -ALIAS (show_ip_bgp_view_rsclient_prefix, - show_ip_bgp_rsclient_prefix_cmd, - "show ip bgp rsclient (A.B.C.D|X:X::X:X) A.B.C.D/M", - SHOW_STR - IP_STR - BGP_STR - "Information about Route Server Client\n" - NEIGHBOR_ADDR_STR - "IP prefix <network>/<length>, e.g., 35.0.0.0/8\n") +#endif DEFUN (show_bgp_view_ipv4_safi_rsclient_prefix, show_bgp_view_ipv4_safi_rsclient_prefix_cmd, @@ -11304,12 +11192,13 @@ ALIAS (show_bgp_view_ipv4_safi_rsclient_prefix, #ifdef HAVE_IPV6 DEFUN (show_bgp_view_neighbor_routes, - show_bgp_view_neighbor_routes_cmd, - "show bgp view WORD neighbors (A.B.C.D|X:X::X:X) routes", + show_bgp_view_ipv6_neighbor_routes_cmd, + "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) routes", SHOW_STR BGP_STR "BGP view\n" "View name\n" + "Address family\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" @@ -11329,26 +11218,14 @@ DEFUN (show_bgp_view_neighbor_routes, bgp_show_type_neighbor); } -ALIAS (show_bgp_view_neighbor_routes, - show_bgp_view_ipv6_neighbor_routes_cmd, - "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) routes", - SHOW_STR - BGP_STR - "BGP view\n" - "View name\n" - "Address family\n" - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display routes learned from neighbor\n") - DEFUN (show_bgp_view_neighbor_damp, - show_bgp_view_neighbor_damp_cmd, - "show bgp view WORD neighbors (A.B.C.D|X:X::X:X) dampened-routes", + show_bgp_view_ipv6_neighbor_damp_cmd, + "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) dampened-routes", SHOW_STR BGP_STR "BGP view\n" "View name\n" + "Address family\n" "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n" @@ -11368,9 +11245,9 @@ DEFUN (show_bgp_view_neighbor_damp, bgp_show_type_damp_neighbor); } -ALIAS (show_bgp_view_neighbor_damp, - show_bgp_view_ipv6_neighbor_damp_cmd, - "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) dampened-routes", +DEFUN (show_bgp_view_neighbor_flap, + show_bgp_view_ipv6_neighbor_flap_cmd, + "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) flap-statistics", SHOW_STR BGP_STR "BGP view\n" @@ -11380,18 +11257,6 @@ ALIAS (show_bgp_view_neighbor_damp, "Neighbor to display information about\n" "Neighbor to display information about\n" "Display the dampened routes received from neighbor\n") - -DEFUN (show_bgp_view_neighbor_flap, - show_bgp_view_neighbor_flap_cmd, - "show bgp view WORD neighbors (A.B.C.D|X:X::X:X) flap-statistics", - SHOW_STR - BGP_STR - "BGP view\n" - "View name\n" - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display flap statistics of the routes learned from neighbor\n") { struct peer *peer; @@ -11407,30 +11272,6 @@ DEFUN (show_bgp_view_neighbor_flap, bgp_show_type_flap_neighbor); } -ALIAS (show_bgp_view_neighbor_flap, - show_bgp_view_ipv6_neighbor_flap_cmd, - "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X) flap-statistics", - SHOW_STR - BGP_STR - "BGP view\n" - "View name\n" - "Address family\n" - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display flap statistics of the routes learned from neighbor\n") - -ALIAS (show_bgp_view_neighbor_routes, - show_bgp_neighbor_routes_cmd, - "show bgp neighbors (A.B.C.D|X:X::X:X) routes", - SHOW_STR - BGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display routes learned from neighbor\n") - - ALIAS (show_bgp_view_neighbor_routes, show_bgp_ipv6_neighbor_routes_cmd, "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) routes", @@ -11442,50 +11283,6 @@ ALIAS (show_bgp_view_neighbor_routes, "Neighbor to display information about\n" "Display routes learned from neighbor\n") -/* old command */ -ALIAS (show_bgp_view_neighbor_routes, - ipv6_bgp_neighbor_routes_cmd, - "show ipv6 bgp neighbors (A.B.C.D|X:X::X:X) routes", - SHOW_STR - IPV6_STR - BGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display routes learned from neighbor\n") - -/* old command */ -DEFUN (ipv6_mbgp_neighbor_routes, - ipv6_mbgp_neighbor_routes_cmd, - "show ipv6 mbgp neighbors (A.B.C.D|X:X::X:X) routes", - SHOW_STR - IPV6_STR - MBGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display routes learned from neighbor\n") -{ - struct peer *peer; - - peer = peer_lookup_in_view (vty, NULL, argv[0]); - if (! peer) - return CMD_WARNING; - - return bgp_show_neighbor_route (vty, peer, AFI_IP6, SAFI_MULTICAST, - bgp_show_type_neighbor); -} - -ALIAS (show_bgp_view_neighbor_flap, - show_bgp_neighbor_flap_cmd, - "show bgp neighbors (A.B.C.D|X:X::X:X) flap-statistics", - SHOW_STR - BGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display flap statistics of the routes learned from neighbor\n") - ALIAS (show_bgp_view_neighbor_flap, show_bgp_ipv6_neighbor_flap_cmd, "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) flap-statistics", @@ -11498,16 +11295,6 @@ ALIAS (show_bgp_view_neighbor_flap, "Display flap statistics of the routes learned from neighbor\n") ALIAS (show_bgp_view_neighbor_damp, - show_bgp_neighbor_damp_cmd, - "show bgp neighbors (A.B.C.D|X:X::X:X) dampened-routes", - SHOW_STR - BGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n" - "Display the dampened routes received from neighbor\n") - -ALIAS (show_bgp_view_neighbor_damp, show_bgp_ipv6_neighbor_damp_cmd, "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X) dampened-routes", SHOW_STR @@ -11518,18 +11305,62 @@ ALIAS (show_bgp_view_neighbor_damp, "Neighbor to display information about\n" "Display the dampened routes received from neighbor\n") -DEFUN (show_bgp_view_rsclient, - show_bgp_view_rsclient_cmd, - "show bgp view WORD rsclient (A.B.C.D|X:X::X:X)", +#endif /* HAVE_IPV6 */ + +DEFUN (show_bgp_view_ipv4_rsclient, + show_bgp_view_ipv4_rsclient_cmd, + "show bgp view WORD ipv4 rsclient (A.B.C.D|X:X::X:X)", SHOW_STR BGP_STR "BGP view\n" "View name\n" + "Address Family\n" "Information about Route Server Client\n" - NEIGHBOR_ADDR_STR) + NEIGHBOR_ADDR_STR2) { - struct bgp_table *table; - struct peer *peer; + struct bgp_table *table; + struct peer *peer; + + if (argc == 2) + peer = peer_lookup_in_view (vty, argv[0], argv[1]); + else + peer = peer_lookup_in_view (vty, NULL, argv[0]); + + if (! peer) + return CMD_WARNING; + + if (! peer->afc[AFI_IP][SAFI_UNICAST]) + { + vty_out (vty, "%% Activate the neighbor for the address family first%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + if ( ! CHECK_FLAG (peer->af_flags[AFI_IP][SAFI_UNICAST], + PEER_FLAG_RSERVER_CLIENT)) + { + vty_out (vty, "%% Neighbor is not a Route-Server client%s", + VTY_NEWLINE); + return CMD_WARNING; + } + + table = peer->rib[AFI_IP][SAFI_UNICAST]; + + return bgp_show_table (vty, table, &peer->remote_id, bgp_show_type_normal, NULL); +} +DEFUN (show_bgp_view_ipv6_rsclient, + show_bgp_view_ipv6_rsclient_cmd, + "show bgp view WORD ipv6 rsclient (A.B.C.D|X:X::X:X)", + SHOW_STR + BGP_STR + "BGP view\n" + "BGP view name\n" + "Address Family\n" + "Information about Route Server Client\n" + NEIGHBOR_ADDR_STR2) +{ + struct bgp_table *table; + struct peer *peer; if (argc == 2) peer = peer_lookup_in_view (vty, argv[0], argv[1]); @@ -11559,13 +11390,24 @@ DEFUN (show_bgp_view_rsclient, return bgp_show_table (vty, table, &peer->remote_id, bgp_show_type_normal, NULL); } -ALIAS (show_bgp_view_rsclient, - show_bgp_rsclient_cmd, - "show bgp rsclient (A.B.C.D|X:X::X:X)", +ALIAS (show_bgp_view_ipv4_rsclient, + show_bgp_ipv4_rsclient_cmd, + "show bgp ipv4 rsclient (A.B.C.D|X:X::X:X)", SHOW_STR BGP_STR + "Address Family\n" "Information about Route Server Client\n" - NEIGHBOR_ADDR_STR) + NEIGHBOR_ADDR_STR2) + +#ifdef HAVE_IPV6 +ALIAS (show_bgp_view_ipv6_rsclient, + show_bgp_ipv6_rsclient_cmd, + "show bgp ipv6 rsclient (A.B.C.D|X:X::X:X)", + SHOW_STR + BGP_STR + "Address Family\n" + "Information about Route Server Client\n" + NEIGHBOR_ADDR_STR2) DEFUN (show_bgp_view_ipv6_safi_rsclient, show_bgp_view_ipv6_safi_rsclient_cmd, @@ -11626,13 +11468,15 @@ ALIAS (show_bgp_view_ipv6_safi_rsclient, "Information about Route Server Client\n" NEIGHBOR_ADDR_STR) + DEFUN (show_bgp_view_rsclient_route, show_bgp_view_rsclient_route_cmd, - "show bgp view WORD rsclient (A.B.C.D|X:X::X:X) X:X::X:X", + "show bgp view WORD ipv6 rsclient (A.B.C.D|X:X::X:X) X:X::X:X", SHOW_STR BGP_STR "BGP view\n" - "View name\n" + "BGP view name\n" + "IP6_STR" "Information about Route Server Client\n" NEIGHBOR_ADDR_STR "Network in the BGP routing table to display\n") @@ -11690,9 +11534,10 @@ DEFUN (show_bgp_view_rsclient_route, ALIAS (show_bgp_view_rsclient_route, show_bgp_rsclient_route_cmd, - "show bgp rsclient (A.B.C.D|X:X::X:X) X:X::X:X", + "show bgp ipv6 rsclient (A.B.C.D|X:X::X:X) X:X::X:X", SHOW_STR BGP_STR + IP6_STR "Information about Route Server Client\n" NEIGHBOR_ADDR_STR "Network in the BGP routing table to display\n") @@ -11778,13 +11623,15 @@ ALIAS (show_bgp_view_ipv6_safi_rsclient_route, NEIGHBOR_ADDR_STR "Network in the BGP routing table to display\n") + DEFUN (show_bgp_view_rsclient_prefix, show_bgp_view_rsclient_prefix_cmd, - "show bgp view WORD rsclient (A.B.C.D|X:X::X:X) X:X::X:X/M", + "show bgp view WORD ipv6 rsclient (A.B.C.D|X:X::X:X) X:X::X:X/M", SHOW_STR BGP_STR "BGP view\n" "View name\n" + IP6_STR "Information about Route Server Client\n" NEIGHBOR_ADDR_STR "IPv6 prefix <network>/<length>, e.g., 3ffe::/16\n") @@ -11842,7 +11689,7 @@ DEFUN (show_bgp_view_rsclient_prefix, ALIAS (show_bgp_view_rsclient_prefix, show_bgp_rsclient_prefix_cmd, - "show bgp rsclient (A.B.C.D|X:X::X:X) X:X::X:X/M", + "show bgp ipv6 rsclient (A.B.C.D|X:X::X:X) X:X::X:X/M", SHOW_STR BGP_STR "Information about Route Server Client\n" @@ -12294,47 +12141,143 @@ ALIAS (bgp_damp_unset, "Value to start suppressing a route\n" "Maximum duration to suppress a stable route\n") -DEFUN (show_ip_bgp_dampened_paths, - show_ip_bgp_dampened_paths_cmd, - "show ip bgp dampened-paths", +DEFUN (show_bgp_ipv4_safi_dampened_paths, + show_bgp_ipv4_safi_dampened_paths_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) dampened-paths", SHOW_STR - IP_STR BGP_STR + IP_STR + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display paths suppressed due to dampening\n") { - return bgp_show (vty, NULL, AFI_IP, SAFI_UNICAST, bgp_show_type_dampend_paths, - NULL); -} + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } -ALIAS (show_ip_bgp_dampened_paths, - show_ip_bgp_damp_dampened_paths_cmd, - "show ip bgp dampening dampened-paths", + return bgp_show (vty, NULL, AFI_IP, safi, bgp_show_type_dampend_paths, NULL); +} +ALIAS (show_bgp_ipv4_safi_dampened_paths, + show_bgp_ipv4_safi_damp_dampened_paths_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) dampening dampened-paths", SHOW_STR + BGP_STR IP_STR + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Display detailed information about dampening\n" + "Display paths suppressed due to dampening\n") +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_dampened_paths, + show_bgp_ipv6_safi_dampened_paths_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) dampened-paths", + SHOW_STR + BGP_STR + IPV6_STR + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Display paths suppressed due to dampening\n") +{ + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + return bgp_show (vty, NULL, AFI_IP6, safi, bgp_show_type_dampend_paths, NULL); +} +ALIAS (show_bgp_ipv6_safi_dampened_paths, + show_bgp_ipv6_safi_damp_dampened_paths_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) dampening dampened-paths", + SHOW_STR BGP_STR + IPV6_STR + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display detailed information about dampening\n" "Display paths suppressed due to dampening\n") +#endif -DEFUN (show_ip_bgp_flap_statistics, - show_ip_bgp_flap_statistics_cmd, - "show ip bgp flap-statistics", +DEFUN (show_bgp_ipv4_safi_flap_statistics, + show_bgp_ipv4_safi_flap_statistics_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) flap-statistics", SHOW_STR - IP_STR BGP_STR + "Address Family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display flap statistics of routes\n") { - return bgp_show (vty, NULL, AFI_IP, SAFI_UNICAST, - bgp_show_type_flap_statistics, NULL); + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } + + return bgp_show (vty, NULL, AFI_IP, safi, bgp_show_type_flap_statistics, NULL); } +ALIAS (show_bgp_ipv4_safi_flap_statistics, + show_bgp_ipv4_safi_damp_flap_statistics_cmd, + "show bgp ipv4 (encap|multicast|unicast|vpn) dampening flap-statistics", + SHOW_STR + BGP_STR + "Address Family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Display detailed information about dampening\n" + "Display flap statistics of routes\n") +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_safi_flap_statistics, + show_bgp_ipv6_safi_flap_statistics_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) flap-statistics", + SHOW_STR + BGP_STR + "Address Family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Display flap statistics of routes\n") +{ + safi_t safi; + + if (bgp_parse_safi(argv[0], &safi)) { + vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; + } -ALIAS (show_ip_bgp_flap_statistics, - show_ip_bgp_damp_flap_statistics_cmd, - "show ip bgp dampening flap-statistics", + return bgp_show (vty, NULL, AFI_IP6, safi, bgp_show_type_flap_statistics, NULL); +} +ALIAS (show_bgp_ipv6_safi_flap_statistics, + show_bgp_ipv6_safi_damp_flap_statistics_cmd, + "show bgp ipv6 (encap|multicast|unicast|vpn) dampening flap-statistics", SHOW_STR - IP_STR BGP_STR + "Address Family\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Display detailed information about dampening\n" "Display flap statistics of routes\n") +#endif /* Display specified route of BGP table. */ static int @@ -12786,248 +12729,280 @@ bgp_route_init (void) install_element (BGP_IPV4M_NODE, &no_aggregate_address_mask_as_set_summary_cmd); install_element (BGP_IPV4M_NODE, &no_aggregate_address_mask_summary_as_set_cmd); - install_element (VIEW_NODE, &show_ip_bgp_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_cmd); install_element (VIEW_NODE, &show_bgp_ipv4_safi_cmd); - install_element (VIEW_NODE, &show_ip_bgp_route_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_route_cmd); install_element (VIEW_NODE, &show_bgp_ipv4_safi_route_cmd); - install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_route_cmd); - install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_route_cmd); - install_element (VIEW_NODE, &show_ip_bgp_prefix_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_prefix_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_vpn_route_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_vpn_route_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_vpn_rd_route_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_vpn_rd_route_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_encap_route_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_encap_route_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_rd_route_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_rd_route_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_prefix_cmd); install_element (VIEW_NODE, &show_bgp_ipv4_safi_prefix_cmd); - install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_prefix_cmd); - install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_prefix_cmd); - install_element (VIEW_NODE, &show_ip_bgp_view_cmd); - install_element (VIEW_NODE, &show_ip_bgp_view_route_cmd); - install_element (VIEW_NODE, &show_ip_bgp_view_prefix_cmd); - install_element (VIEW_NODE, &show_ip_bgp_regexp_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_regexp_cmd); - install_element (VIEW_NODE, &show_ip_bgp_prefix_list_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_prefix_list_cmd); - install_element (VIEW_NODE, &show_ip_bgp_filter_list_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_filter_list_cmd); - install_element (VIEW_NODE, &show_ip_bgp_route_map_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_route_map_cmd); - install_element (VIEW_NODE, &show_ip_bgp_cidr_only_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_cidr_only_cmd); - install_element (VIEW_NODE, &show_ip_bgp_community_all_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_community_all_cmd); - install_element (VIEW_NODE, &show_ip_bgp_community_cmd); - install_element (VIEW_NODE, &show_ip_bgp_community2_cmd); - install_element (VIEW_NODE, &show_ip_bgp_community3_cmd); - install_element (VIEW_NODE, &show_ip_bgp_community4_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_community_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_community2_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_community3_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_community4_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_vpn_prefix_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_vpn_prefix_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_encap_prefix_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_encap_prefix_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_rd_prefix_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_rd_prefix_cmd); + install_element (VIEW_NODE, &show_bgp_afi_safi_view_cmd); + install_element (VIEW_NODE, &show_bgp_view_afi_safi_route_cmd); + install_element (VIEW_NODE, &show_bgp_view_afi_safi_prefix_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_regexp_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_regexp_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_prefix_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_prefix_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_prefix_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_filter_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_filter_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_filter_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_route_map_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_cidr_only_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_cidr_only_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_community_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_community2_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_community3_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_community4_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_community_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_community2_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_community3_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_community4_cmd); install_element (VIEW_NODE, &show_bgp_view_afi_safi_community_all_cmd); install_element (VIEW_NODE, &show_bgp_view_afi_safi_community_cmd); install_element (VIEW_NODE, &show_bgp_view_afi_safi_community2_cmd); install_element (VIEW_NODE, &show_bgp_view_afi_safi_community3_cmd); install_element (VIEW_NODE, &show_bgp_view_afi_safi_community4_cmd); - install_element (VIEW_NODE, &show_ip_bgp_community_exact_cmd); - install_element (VIEW_NODE, &show_ip_bgp_community2_exact_cmd); - install_element (VIEW_NODE, &show_ip_bgp_community3_exact_cmd); - install_element (VIEW_NODE, &show_ip_bgp_community4_exact_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_community_exact_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_community2_exact_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_community3_exact_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_community4_exact_cmd); - install_element (VIEW_NODE, &show_ip_bgp_community_list_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_community_list_cmd); - install_element (VIEW_NODE, &show_ip_bgp_community_list_exact_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_community_list_exact_cmd); - install_element (VIEW_NODE, &show_ip_bgp_prefix_longer_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_prefix_longer_cmd); - install_element (VIEW_NODE, &show_ip_bgp_neighbor_advertised_route_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_neighbor_advertised_route_cmd); - install_element (VIEW_NODE, &show_ip_bgp_neighbor_received_routes_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_neighbor_received_routes_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_community_exact_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_community2_exact_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_community3_exact_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_community4_exact_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_community_exact_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_community2_exact_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_community3_exact_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_community4_exact_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_community_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_community_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_community_list_exact_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_community_list_exact_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_prefix_longer_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_prefix_longer_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_prefix_longer_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_neighbor_advertised_route_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_neighbor_advertised_route_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_neighbor_received_routes_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_neighbor_received_routes_cmd); install_element (VIEW_NODE, &show_bgp_view_afi_safi_neighbor_adv_recd_routes_cmd); - install_element (VIEW_NODE, &show_ip_bgp_neighbor_routes_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_neighbor_routes_cmd); - install_element (VIEW_NODE, &show_ip_bgp_neighbor_received_prefix_filter_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_neighbor_received_prefix_filter_cmd); - install_element (VIEW_NODE, &show_ip_bgp_dampening_params_cmd); - install_element (VIEW_NODE, &show_ip_bgp_dampened_paths_cmd); - install_element (VIEW_NODE, &show_ip_bgp_damp_dampened_paths_cmd); - install_element (VIEW_NODE, &show_ip_bgp_flap_statistics_cmd); - install_element (VIEW_NODE, &show_ip_bgp_damp_flap_statistics_cmd); - install_element (VIEW_NODE, &show_ip_bgp_flap_address_cmd); - install_element (VIEW_NODE, &show_ip_bgp_damp_flap_address_cmd); - install_element (VIEW_NODE, &show_ip_bgp_flap_prefix_cmd); - install_element (VIEW_NODE, &show_ip_bgp_flap_cidr_only_cmd); - install_element (VIEW_NODE, &show_ip_bgp_damp_flap_cidr_only_cmd); - install_element (VIEW_NODE, &show_ip_bgp_flap_regexp_cmd); - install_element (VIEW_NODE, &show_ip_bgp_flap_filter_list_cmd); - install_element (VIEW_NODE, &show_ip_bgp_damp_flap_filter_list_cmd); - install_element (VIEW_NODE, &show_ip_bgp_flap_prefix_list_cmd); - install_element (VIEW_NODE, &show_ip_bgp_damp_flap_prefix_list_cmd); - install_element (VIEW_NODE, &show_ip_bgp_flap_prefix_longer_cmd); - install_element (VIEW_NODE, &show_ip_bgp_damp_flap_prefix_longer_cmd); - install_element (VIEW_NODE, &show_ip_bgp_flap_route_map_cmd); - install_element (VIEW_NODE, &show_ip_bgp_damp_flap_route_map_cmd); - install_element (VIEW_NODE, &show_ip_bgp_neighbor_flap_cmd); - install_element (VIEW_NODE, &show_ip_bgp_neighbor_damp_cmd); - install_element (VIEW_NODE, &show_ip_bgp_rsclient_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_neighbor_routes_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_neighbor_routes_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_neighbor_received_prefix_filter_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_neighbor_received_prefix_filter_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_dampened_paths_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_dampened_paths_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_damp_dampened_paths_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_damp_dampened_paths_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_flap_statistics_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_flap_statistics_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_damp_flap_statistics_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_damp_flap_statistics_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_flap_address_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_flap_address_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_damp_flap_address_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_flap_prefix_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_flap_prefix_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_damp_flap_prefix_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_damp_flap_prefix_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_flap_cidr_only_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_damp_flap_cidr_only_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_flap_regexp_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_flap_regexp_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_damp_flap_regexp_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_damp_flap_regexp_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_flap_filter_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_flap_filter_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_damp_flap_filter_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_damp_flap_filter_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_flap_prefix_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_flap_prefix_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_damp_flap_prefix_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_damp_flap_prefix_list_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_flap_prefix_longer_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_flap_prefix_longer_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_damp_flap_prefix_longer_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_damp_flap_prefix_longer_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_flap_route_map_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_flap_route_map_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_damp_flap_route_map_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_damp_flap_route_map_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_neighbor_flap_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_neighbor_flap_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_neighbor_damp_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_safi_neighbor_damp_cmd); install_element (VIEW_NODE, &show_bgp_ipv4_safi_rsclient_cmd); - install_element (VIEW_NODE, &show_ip_bgp_rsclient_route_cmd); install_element (VIEW_NODE, &show_bgp_ipv4_safi_rsclient_route_cmd); - install_element (VIEW_NODE, &show_ip_bgp_rsclient_prefix_cmd); install_element (VIEW_NODE, &show_bgp_ipv4_safi_rsclient_prefix_cmd); - install_element (VIEW_NODE, &show_ip_bgp_view_neighbor_advertised_route_cmd); - install_element (VIEW_NODE, &show_ip_bgp_view_neighbor_received_routes_cmd); - install_element (VIEW_NODE, &show_ip_bgp_view_rsclient_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv4_safi_rsclient_cmd); - install_element (VIEW_NODE, &show_ip_bgp_view_rsclient_route_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv4_safi_rsclient_route_cmd); - install_element (VIEW_NODE, &show_ip_bgp_view_rsclient_prefix_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv4_safi_rsclient_prefix_cmd); /* Restricted node: VIEW_NODE - (set of dangerous commands) */ - install_element (RESTRICTED_NODE, &show_ip_bgp_route_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_ipv4_route_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_route_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_vpnv4_rd_route_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_prefix_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_ipv4_prefix_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_vpn_rd_route_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv6_vpn_rd_route_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_rd_route_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv6_safi_rd_route_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_prefix_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_prefix_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_vpnv4_all_prefix_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_vpnv4_rd_prefix_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_view_route_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_view_prefix_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_community_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_community2_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_community3_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_community4_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_ipv4_community_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_ipv4_community2_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_ipv4_community3_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_ipv4_community4_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_vpn_prefix_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv6_vpn_prefix_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_encap_prefix_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv6_encap_prefix_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_rd_prefix_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv6_safi_rd_prefix_cmd); + install_element (RESTRICTED_NODE, &show_bgp_view_afi_safi_route_cmd); + install_element (RESTRICTED_NODE, &show_bgp_view_afi_safi_prefix_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_community_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_community2_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_community3_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_community4_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_community_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_community2_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_community3_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_community4_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_afi_safi_community_all_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_afi_safi_community_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_afi_safi_community2_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_afi_safi_community3_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_afi_safi_community4_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_community_exact_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_community2_exact_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_community3_exact_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_community4_exact_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_ipv4_community_exact_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_ipv4_community2_exact_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_ipv4_community3_exact_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_ipv4_community4_exact_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_rsclient_route_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_community_exact_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_community2_exact_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_community3_exact_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_community4_exact_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_community_exact_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_community2_exact_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_community3_exact_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_community4_exact_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_rsclient_route_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_rsclient_prefix_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_rsclient_prefix_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_view_rsclient_route_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_ipv4_safi_rsclient_route_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_view_rsclient_prefix_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_ipv4_safi_rsclient_prefix_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_cmd); install_element (ENABLE_NODE, &show_bgp_ipv4_safi_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_route_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_route_cmd); install_element (ENABLE_NODE, &show_bgp_ipv4_safi_route_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_route_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_route_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_prefix_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_prefix_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_vpn_route_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_vpn_route_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_vpn_rd_route_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_vpn_rd_route_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_encap_route_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_encap_route_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_rd_route_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_rd_route_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_prefix_cmd); install_element (ENABLE_NODE, &show_bgp_ipv4_safi_prefix_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_prefix_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_prefix_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_view_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_view_route_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_view_prefix_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_regexp_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_regexp_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_prefix_list_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_prefix_list_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_filter_list_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_filter_list_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_route_map_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_route_map_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_cidr_only_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_cidr_only_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_community_all_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community_all_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_community_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_community2_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_community3_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_community4_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community2_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community3_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community4_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_vpn_prefix_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_vpn_prefix_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_encap_prefix_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_encap_prefix_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_rd_prefix_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_rd_prefix_cmd); + install_element (ENABLE_NODE, &show_bgp_afi_safi_view_cmd); + install_element (ENABLE_NODE, &show_bgp_view_afi_safi_route_cmd); + install_element (ENABLE_NODE, &show_bgp_view_afi_safi_prefix_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_regexp_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_regexp_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_prefix_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_prefix_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_prefix_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_filter_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_filter_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_filter_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_route_map_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_cidr_only_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_cidr_only_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_community_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_community2_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_community3_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_community4_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_community_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_community2_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_community3_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_community4_cmd); install_element (ENABLE_NODE, &show_bgp_view_afi_safi_community_all_cmd); install_element (ENABLE_NODE, &show_bgp_view_afi_safi_community_cmd); install_element (ENABLE_NODE, &show_bgp_view_afi_safi_community2_cmd); install_element (ENABLE_NODE, &show_bgp_view_afi_safi_community3_cmd); install_element (ENABLE_NODE, &show_bgp_view_afi_safi_community4_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_community_exact_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_community2_exact_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_community3_exact_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_community4_exact_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community_exact_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community2_exact_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community3_exact_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community4_exact_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_community_list_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community_list_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_community_list_exact_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_community_list_exact_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_prefix_longer_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_prefix_longer_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_neighbor_advertised_route_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbor_advertised_route_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_neighbor_received_routes_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbor_received_routes_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_community_exact_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_community2_exact_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_community3_exact_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_community4_exact_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_community_exact_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_community2_exact_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_community3_exact_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_community4_exact_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_community_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_community_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_community_list_exact_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_community_list_exact_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_prefix_longer_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_prefix_longer_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_prefix_longer_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_neighbor_advertised_route_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_neighbor_advertised_route_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_neighbor_received_routes_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_neighbor_received_routes_cmd); install_element (ENABLE_NODE, &show_bgp_view_afi_safi_neighbor_adv_recd_routes_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_neighbor_routes_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbor_routes_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_neighbor_received_prefix_filter_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbor_received_prefix_filter_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_dampening_params_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_dampened_paths_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_damp_dampened_paths_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_flap_statistics_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_damp_flap_statistics_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_flap_address_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_damp_flap_address_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_flap_prefix_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_flap_cidr_only_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_damp_flap_cidr_only_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_flap_regexp_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_damp_flap_regexp_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_flap_filter_list_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_damp_flap_filter_list_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_flap_prefix_list_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_damp_flap_prefix_list_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_damp_flap_prefix_list_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_flap_prefix_longer_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_damp_flap_prefix_longer_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_flap_route_map_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_damp_flap_route_map_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_neighbor_flap_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_neighbor_damp_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_rsclient_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_neighbor_routes_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_neighbor_routes_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_neighbor_received_prefix_filter_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_neighbor_received_prefix_filter_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_dampened_paths_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_dampened_paths_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_damp_dampened_paths_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_damp_dampened_paths_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_flap_statistics_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_flap_statistics_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_damp_flap_statistics_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_damp_flap_statistics_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_flap_address_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_flap_address_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_damp_flap_address_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_flap_prefix_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_flap_prefix_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_damp_flap_prefix_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_damp_flap_prefix_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_flap_cidr_only_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_damp_flap_cidr_only_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_flap_regexp_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_flap_regexp_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_damp_flap_regexp_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_damp_flap_regexp_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_flap_filter_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_flap_filter_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_damp_flap_filter_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_damp_flap_filter_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_flap_prefix_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_flap_prefix_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_damp_flap_prefix_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_damp_flap_prefix_list_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_flap_prefix_longer_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_flap_prefix_longer_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_damp_flap_prefix_longer_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_damp_flap_prefix_longer_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_flap_route_map_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_flap_route_map_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_damp_flap_route_map_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_damp_flap_route_map_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_neighbor_flap_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_neighbor_flap_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_neighbor_damp_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_neighbor_damp_cmd); install_element (ENABLE_NODE, &show_bgp_ipv4_safi_rsclient_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_rsclient_route_cmd); install_element (ENABLE_NODE, &show_bgp_ipv4_safi_rsclient_route_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_rsclient_prefix_cmd); install_element (ENABLE_NODE, &show_bgp_ipv4_safi_rsclient_prefix_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_view_neighbor_advertised_route_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_view_neighbor_received_routes_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_view_rsclient_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv4_safi_rsclient_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_view_rsclient_route_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv4_safi_rsclient_route_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_view_rsclient_prefix_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv4_safi_rsclient_prefix_cmd); /* BGP dampening clear commands */ @@ -13037,9 +13012,8 @@ bgp_route_init (void) install_element (ENABLE_NODE, &clear_ip_bgp_dampening_address_mask_cmd); /* prefix count */ - install_element (ENABLE_NODE, &show_ip_bgp_neighbor_prefix_counts_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbor_prefix_counts_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_neighbor_prefix_counts_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_safi_neighbor_prefix_counts_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_safi_neighbor_prefix_counts_cmd); #ifdef HAVE_IPV6 install_element (ENABLE_NODE, &show_bgp_ipv6_neighbor_prefix_counts_cmd); @@ -13066,84 +13040,49 @@ bgp_route_init (void) install_element (BGP_NODE, &old_no_ipv6_aggregate_address_cmd); install_element (BGP_NODE, &old_no_ipv6_aggregate_address_summary_only_cmd); - install_element (VIEW_NODE, &show_bgp_cmd); - install_element (VIEW_NODE, &show_bgp_ipv6_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_safi_cmd); - install_element (VIEW_NODE, &show_bgp_route_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_route_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_safi_route_cmd); - install_element (VIEW_NODE, &show_bgp_prefix_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_prefix_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_safi_prefix_cmd); - install_element (VIEW_NODE, &show_bgp_regexp_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_regexp_cmd); - install_element (VIEW_NODE, &show_bgp_prefix_list_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_prefix_list_cmd); - install_element (VIEW_NODE, &show_bgp_filter_list_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_filter_list_cmd); - install_element (VIEW_NODE, &show_bgp_route_map_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_route_map_cmd); - install_element (VIEW_NODE, &show_bgp_community_all_cmd); - install_element (VIEW_NODE, &show_bgp_ipv6_community_all_cmd); - install_element (VIEW_NODE, &show_bgp_community_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_community_cmd); - install_element (VIEW_NODE, &show_bgp_community2_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_community2_cmd); - install_element (VIEW_NODE, &show_bgp_community3_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_community3_cmd); - install_element (VIEW_NODE, &show_bgp_community4_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_community4_cmd); - install_element (VIEW_NODE, &show_bgp_community_exact_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_community_exact_cmd); - install_element (VIEW_NODE, &show_bgp_community2_exact_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_community2_exact_cmd); - install_element (VIEW_NODE, &show_bgp_community3_exact_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_community3_exact_cmd); - install_element (VIEW_NODE, &show_bgp_community4_exact_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_community4_exact_cmd); install_element (VIEW_NODE, &show_bgp_community_list_cmd); - install_element (VIEW_NODE, &show_bgp_ipv6_community_list_cmd); - install_element (VIEW_NODE, &show_bgp_community_list_exact_cmd); - install_element (VIEW_NODE, &show_bgp_ipv6_community_list_exact_cmd); - install_element (VIEW_NODE, &show_bgp_prefix_longer_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_prefix_longer_cmd); - install_element (VIEW_NODE, &show_bgp_neighbor_advertised_route_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_neighbor_advertised_route_cmd); - install_element (VIEW_NODE, &show_bgp_neighbor_received_routes_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_neighbor_received_routes_cmd); - install_element (VIEW_NODE, &show_bgp_neighbor_routes_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_neighbor_routes_cmd); - install_element (VIEW_NODE, &show_bgp_neighbor_received_prefix_filter_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_neighbor_received_prefix_filter_cmd); - install_element (VIEW_NODE, &show_bgp_neighbor_flap_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_neighbor_flap_cmd); - install_element (VIEW_NODE, &show_bgp_neighbor_damp_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_neighbor_damp_cmd); - install_element (VIEW_NODE, &show_bgp_rsclient_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_rsclient_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_rsclient_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_safi_rsclient_cmd); install_element (VIEW_NODE, &show_bgp_rsclient_route_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_safi_rsclient_route_cmd); install_element (VIEW_NODE, &show_bgp_rsclient_prefix_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_safi_rsclient_prefix_cmd); - install_element (VIEW_NODE, &show_bgp_view_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv6_cmd); - install_element (VIEW_NODE, &show_bgp_view_route_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv6_route_cmd); - install_element (VIEW_NODE, &show_bgp_view_prefix_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv6_prefix_cmd); - install_element (VIEW_NODE, &show_bgp_view_neighbor_advertised_route_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv6_neighbor_advertised_route_cmd); - install_element (VIEW_NODE, &show_bgp_view_neighbor_received_routes_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv6_neighbor_received_routes_cmd); - install_element (VIEW_NODE, &show_bgp_view_neighbor_routes_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv6_neighbor_routes_cmd); - install_element (VIEW_NODE, &show_bgp_view_neighbor_received_prefix_filter_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv6_neighbor_received_prefix_filter_cmd); - install_element (VIEW_NODE, &show_bgp_view_neighbor_flap_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv6_neighbor_flap_cmd); - install_element (VIEW_NODE, &show_bgp_view_neighbor_damp_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv6_neighbor_damp_cmd); - install_element (VIEW_NODE, &show_bgp_view_rsclient_cmd); + install_element (VIEW_NODE, &show_bgp_view_ipv4_rsclient_cmd); + install_element (VIEW_NODE, &show_bgp_view_ipv6_rsclient_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv6_safi_rsclient_cmd); install_element (VIEW_NODE, &show_bgp_view_rsclient_route_cmd); install_element (VIEW_NODE, &show_bgp_view_ipv6_safi_rsclient_route_cmd); @@ -13153,121 +13092,74 @@ bgp_route_init (void) /* Restricted: * VIEW_NODE - (set of dangerous commands) - (commands dependent on prev) */ - install_element (RESTRICTED_NODE, &show_bgp_route_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_route_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_safi_route_cmd); - install_element (RESTRICTED_NODE, &show_bgp_prefix_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_prefix_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_safi_prefix_cmd); - install_element (RESTRICTED_NODE, &show_bgp_community_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_community_cmd); - install_element (RESTRICTED_NODE, &show_bgp_community2_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_community2_cmd); - install_element (RESTRICTED_NODE, &show_bgp_community3_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_community3_cmd); - install_element (RESTRICTED_NODE, &show_bgp_community4_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_community4_cmd); - install_element (RESTRICTED_NODE, &show_bgp_community_exact_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_community_exact_cmd); - install_element (RESTRICTED_NODE, &show_bgp_community2_exact_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_community2_exact_cmd); - install_element (RESTRICTED_NODE, &show_bgp_community3_exact_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_community3_exact_cmd); - install_element (RESTRICTED_NODE, &show_bgp_community4_exact_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_community4_exact_cmd); install_element (RESTRICTED_NODE, &show_bgp_rsclient_route_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_safi_rsclient_route_cmd); install_element (RESTRICTED_NODE, &show_bgp_rsclient_prefix_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_safi_rsclient_prefix_cmd); - install_element (RESTRICTED_NODE, &show_bgp_view_route_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_ipv6_route_cmd); - install_element (RESTRICTED_NODE, &show_bgp_view_prefix_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_ipv6_prefix_cmd); - install_element (RESTRICTED_NODE, &show_bgp_view_neighbor_received_prefix_filter_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_ipv6_neighbor_received_prefix_filter_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_rsclient_route_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_ipv6_safi_rsclient_route_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_rsclient_prefix_cmd); install_element (RESTRICTED_NODE, &show_bgp_view_ipv6_safi_rsclient_prefix_cmd); - install_element (ENABLE_NODE, &show_bgp_cmd); - install_element (ENABLE_NODE, &show_bgp_ipv6_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_safi_cmd); - install_element (ENABLE_NODE, &show_bgp_route_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_route_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_safi_route_cmd); - install_element (ENABLE_NODE, &show_bgp_prefix_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_prefix_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_safi_prefix_cmd); - install_element (ENABLE_NODE, &show_bgp_regexp_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_regexp_cmd); - install_element (ENABLE_NODE, &show_bgp_prefix_list_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_prefix_list_cmd); - install_element (ENABLE_NODE, &show_bgp_filter_list_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_filter_list_cmd); - install_element (ENABLE_NODE, &show_bgp_route_map_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_route_map_cmd); - install_element (ENABLE_NODE, &show_bgp_community_all_cmd); - install_element (ENABLE_NODE, &show_bgp_ipv6_community_all_cmd); - install_element (ENABLE_NODE, &show_bgp_community_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_community_cmd); - install_element (ENABLE_NODE, &show_bgp_community2_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_community2_cmd); - install_element (ENABLE_NODE, &show_bgp_community3_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_community3_cmd); - install_element (ENABLE_NODE, &show_bgp_community4_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_community4_cmd); - install_element (ENABLE_NODE, &show_bgp_community_exact_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_community_exact_cmd); - install_element (ENABLE_NODE, &show_bgp_community2_exact_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_community2_exact_cmd); - install_element (ENABLE_NODE, &show_bgp_community3_exact_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_community3_exact_cmd); - install_element (ENABLE_NODE, &show_bgp_community4_exact_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_community4_exact_cmd); install_element (ENABLE_NODE, &show_bgp_community_list_cmd); - install_element (ENABLE_NODE, &show_bgp_ipv6_community_list_cmd); - install_element (ENABLE_NODE, &show_bgp_community_list_exact_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_community_list_exact_cmd); - install_element (ENABLE_NODE, &show_bgp_prefix_longer_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_prefix_longer_cmd); - install_element (ENABLE_NODE, &show_bgp_neighbor_advertised_route_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_neighbor_advertised_route_cmd); - install_element (ENABLE_NODE, &show_bgp_neighbor_received_routes_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_neighbor_received_routes_cmd); - install_element (ENABLE_NODE, &show_bgp_neighbor_routes_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_neighbor_routes_cmd); - install_element (ENABLE_NODE, &show_bgp_neighbor_received_prefix_filter_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_neighbor_received_prefix_filter_cmd); - install_element (ENABLE_NODE, &show_bgp_neighbor_flap_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_neighbor_flap_cmd); - install_element (ENABLE_NODE, &show_bgp_neighbor_damp_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_neighbor_damp_cmd); - install_element (ENABLE_NODE, &show_bgp_rsclient_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_rsclient_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_rsclient_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_safi_rsclient_cmd); install_element (ENABLE_NODE, &show_bgp_rsclient_route_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_safi_rsclient_route_cmd); install_element (ENABLE_NODE, &show_bgp_rsclient_prefix_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_safi_rsclient_prefix_cmd); - install_element (ENABLE_NODE, &show_bgp_view_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv6_cmd); - install_element (ENABLE_NODE, &show_bgp_view_route_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv6_route_cmd); - install_element (ENABLE_NODE, &show_bgp_view_prefix_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv6_prefix_cmd); - install_element (ENABLE_NODE, &show_bgp_view_neighbor_advertised_route_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv6_neighbor_advertised_route_cmd); - install_element (ENABLE_NODE, &show_bgp_view_neighbor_received_routes_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv6_neighbor_received_routes_cmd); - install_element (ENABLE_NODE, &show_bgp_view_neighbor_routes_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv6_neighbor_routes_cmd); - install_element (ENABLE_NODE, &show_bgp_view_neighbor_received_prefix_filter_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv6_neighbor_received_prefix_filter_cmd); - install_element (ENABLE_NODE, &show_bgp_view_neighbor_flap_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv6_neighbor_flap_cmd); - install_element (ENABLE_NODE, &show_bgp_view_neighbor_damp_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv6_neighbor_damp_cmd); - install_element (ENABLE_NODE, &show_bgp_view_rsclient_cmd); + install_element (ENABLE_NODE, &show_bgp_view_ipv4_rsclient_cmd); + install_element (ENABLE_NODE, &show_bgp_view_ipv6_rsclient_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv6_safi_rsclient_cmd); install_element (ENABLE_NODE, &show_bgp_view_rsclient_route_cmd); install_element (ENABLE_NODE, &show_bgp_view_ipv6_safi_rsclient_route_cmd); @@ -13276,103 +13168,7 @@ bgp_route_init (void) /* Statistics */ install_element (ENABLE_NODE, &show_bgp_statistics_cmd); - //install_element (ENABLE_NODE, &show_bgp_statistics_vpnv4_cmd); - install_element (ENABLE_NODE, &show_bgp_statistics_view_cmd); - //install_element (ENABLE_NODE, &show_bgp_statistics_view_vpnv4_cmd); - - /* old command */ - install_element (VIEW_NODE, &show_ipv6_bgp_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_route_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_prefix_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_regexp_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_prefix_list_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_filter_list_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_community_all_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_community_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_community2_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_community3_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_community4_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_community_exact_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_community2_exact_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_community3_exact_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_community4_exact_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_community_list_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_community_list_exact_cmd); - install_element (VIEW_NODE, &show_ipv6_bgp_prefix_longer_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_route_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_prefix_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_regexp_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_prefix_list_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_filter_list_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_community_all_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_community_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_community2_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_community3_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_community4_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_community_exact_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_community2_exact_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_community3_exact_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_community4_exact_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_community_list_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_community_list_exact_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_prefix_longer_cmd); - - /* old command */ - install_element (ENABLE_NODE, &show_ipv6_bgp_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_route_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_prefix_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_regexp_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_prefix_list_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_filter_list_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_community_all_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_community_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_community2_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_community3_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_community4_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_community_exact_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_community2_exact_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_community3_exact_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_community4_exact_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_community_list_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_community_list_exact_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_prefix_longer_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_route_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_prefix_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_regexp_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_prefix_list_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_filter_list_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_community_all_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_community_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_community2_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_community3_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_community4_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_community_exact_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_community2_exact_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_community3_exact_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_community4_exact_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_community_list_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_community_list_exact_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_prefix_longer_cmd); - - /* old command */ - install_element (VIEW_NODE, &ipv6_bgp_neighbor_advertised_route_cmd); - install_element (ENABLE_NODE, &ipv6_bgp_neighbor_advertised_route_cmd); - install_element (VIEW_NODE, &ipv6_mbgp_neighbor_advertised_route_cmd); - install_element (ENABLE_NODE, &ipv6_mbgp_neighbor_advertised_route_cmd); - - /* old command */ - install_element (VIEW_NODE, &ipv6_bgp_neighbor_received_routes_cmd); - install_element (ENABLE_NODE, &ipv6_bgp_neighbor_received_routes_cmd); - install_element (VIEW_NODE, &ipv6_mbgp_neighbor_received_routes_cmd); - install_element (ENABLE_NODE, &ipv6_mbgp_neighbor_received_routes_cmd); - - /* old command */ - install_element (VIEW_NODE, &ipv6_bgp_neighbor_routes_cmd); - install_element (ENABLE_NODE, &ipv6_bgp_neighbor_routes_cmd); - install_element (VIEW_NODE, &ipv6_mbgp_neighbor_routes_cmd); - install_element (ENABLE_NODE, &ipv6_mbgp_neighbor_routes_cmd); + install_element (ENABLE_NODE, &show_bgp_statistics_view_cmd); #endif /* HAVE_IPV6 */ install_element (BGP_NODE, &bgp_distance_cmd); diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 94796c74..2df23096 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -7394,35 +7394,10 @@ bgp_show_summary_vty (struct vty *vty, const char *name, } /* `show ip bgp summary' commands. */ -DEFUN (show_ip_bgp_summary, - show_ip_bgp_summary_cmd, - "show ip bgp summary", - SHOW_STR - IP_STR - BGP_STR - "Summary of BGP neighbor status\n") -{ - return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_UNICAST); -} - -DEFUN (show_ip_bgp_instance_summary, - show_ip_bgp_instance_summary_cmd, - "show ip bgp view WORD summary", - SHOW_STR - IP_STR - BGP_STR - "BGP view\n" - "View name\n" - "Summary of BGP neighbor status\n") -{ - return bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_UNICAST); -} - -DEFUN (show_ip_bgp_ipv4_summary, - show_ip_bgp_ipv4_summary_cmd, - "show ip bgp ipv4 (unicast|multicast) summary", +DEFUN (show_bgp_ipv4_safi_summary, + show_bgp_ipv4_safi_summary_cmd, + "show bgp ipv4 (unicast|multicast) summary", SHOW_STR - IP_STR BGP_STR "Address family\n" "Address Family modifier\n" @@ -7435,21 +7410,10 @@ DEFUN (show_ip_bgp_ipv4_summary, return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_UNICAST); } -ALIAS (show_ip_bgp_ipv4_summary, - show_bgp_ipv4_safi_summary_cmd, - "show bgp ipv4 (unicast|multicast) summary", - SHOW_STR - BGP_STR - "Address family\n" - "Address Family modifier\n" - "Address Family modifier\n" - "Summary of BGP neighbor status\n") - -DEFUN (show_ip_bgp_instance_ipv4_summary, - show_ip_bgp_instance_ipv4_summary_cmd, - "show ip bgp view WORD ipv4 (unicast|multicast) summary", +DEFUN (show_bgp_instance_ipv4_safi_summary, + show_bgp_instance_ipv4_safi_summary_cmd, + "show bgp view WORD ipv4 (unicast|multicast) summary", SHOW_STR - IP_STR BGP_STR "BGP view\n" "View name\n" @@ -7464,66 +7428,64 @@ DEFUN (show_ip_bgp_instance_ipv4_summary, return bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_UNICAST); } -ALIAS (show_ip_bgp_instance_ipv4_summary, - show_bgp_instance_ipv4_safi_summary_cmd, - "show bgp view WORD ipv4 (unicast|multicast) summary", +DEFUN (show_bgp_ipv4_vpn_summary, + show_bgp_ipv4_vpn_summary_cmd, + "show bgp ipv4 vpn summary", SHOW_STR BGP_STR - "BGP view\n" - "View name\n" - "Address family\n" - "Address Family modifier\n" - "Address Family modifier\n" + "IPv4\n" + "Display VPN NLRI specific information\n" "Summary of BGP neighbor status\n") +{ + return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN); +} -DEFUN (show_ip_bgp_vpnv4_all_summary, - show_ip_bgp_vpnv4_all_summary_cmd, - "show ip bgp vpnv4 all summary", +#ifdef HAVE_IPV6 + +/* `show ip bgp summary' commands. */ +DEFUN (show_bgp_ipv6_vpn_summary, + show_bgp_ipv6_vpn_summary_cmd, + "show bgp ipv6 vpn summary", SHOW_STR - IP_STR BGP_STR - "Display VPNv4 NLRI specific information\n" - "Display information about all VPNv4 NLRIs\n" + "IPv6\n" + "Display VPN NLRI specific information\n" "Summary of BGP neighbor status\n") { - return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN); + return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_MPLS_VPN); } +#endif -DEFUN (show_ip_bgp_vpnv4_rd_summary, - show_ip_bgp_vpnv4_rd_summary_cmd, - "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn summary", +DEFUN (show_bgp_ipv4_encap_summary, + show_bgp_ipv4_encap_summary_cmd, + "show bgp ipv4 encap summary", SHOW_STR - IP_STR BGP_STR - "Display VPNv4 NLRI specific information\n" - "Display information for a route distinguisher\n" - "VPN Route Distinguisher\n" + "IPv4\n" + "Display ENCAP NLRI specific information\n" "Summary of BGP neighbor status\n") { - int ret; - struct prefix_rd prd; - - ret = str2prefix_rd (argv[0], &prd); - if (! ret) - { - vty_out (vty, "%% Malformed Route Distinguisher%s", VTY_NEWLINE); - return CMD_WARNING; - } - - return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN); + return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_ENCAP); } #ifdef HAVE_IPV6 -DEFUN (show_bgp_summary, - show_bgp_summary_cmd, - "show bgp summary", + +DEFUN (show_bgp_ipv6_encap_summary, + show_bgp_ipv6_encap_summary_cmd, + "show bgp ipv6 encap summary", SHOW_STR BGP_STR + "IPv6\n" + "Display ENCAP NLRI specific information\n" "Summary of BGP neighbor status\n") { - return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST); + return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_ENCAP); } +#endif + + + DEFUN (show_bgp_instance_summary, show_bgp_instance_summary_cmd, "show bgp view WORD summary", @@ -7533,26 +7495,93 @@ DEFUN (show_bgp_instance_summary, "View name\n" "Summary of BGP neighbor status\n") { - return bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_UNICAST); + vty_out(vty, "%sIPv4 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_UNICAST); + vty_out(vty, "%sIPv4 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_MULTICAST); + vty_out(vty, "%sIPv4 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv4 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_ENCAP); + +#ifdef HAVE_IPV6 + vty_out(vty, "%sIPv6 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_UNICAST); + vty_out(vty, "%sIPv6 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_MULTICAST); + vty_out(vty, "%sIPv6 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv6 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_ENCAP); +#endif + return CMD_SUCCESS; } -ALIAS (show_bgp_summary, - show_bgp_ipv6_summary_cmd, - "show bgp ipv6 summary", +DEFUN (show_bgp_instance_ipv4_summary, + show_bgp_instance_ipv4_summary_cmd, + "show bgp view WORD ipv4 summary", SHOW_STR BGP_STR - "Address family\n" + IP_STR + "Address Family modifier\n" + "Address Family modifier\n" + "BGP view\n" + "View name\n" "Summary of BGP neighbor status\n") +{ + vty_out(vty, "%sIPv4 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_UNICAST); + vty_out(vty, "%sIPv4 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_MULTICAST); + vty_out(vty, "%sIPv4 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv4 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP, SAFI_ENCAP); + + return CMD_SUCCESS; +} + -ALIAS (show_bgp_instance_summary, +#ifdef HAVE_IPV6 +DEFUN (show_bgp_instance_ipv6_summary, show_bgp_instance_ipv6_summary_cmd, "show bgp view WORD ipv6 summary", SHOW_STR BGP_STR + IPV6_STR + "Address Family modifier\n" + "Address Family modifier\n" "BGP view\n" "View name\n" - "Address family\n" "Summary of BGP neighbor status\n") +{ + vty_out(vty, "%sIPv6 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_UNICAST); + vty_out(vty, "%sIPv6 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_MULTICAST); + vty_out(vty, "%sIPv6 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv6 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_ENCAP); + + return CMD_SUCCESS; +} DEFUN (show_bgp_ipv6_safi_summary, show_bgp_ipv6_safi_summary_cmd, @@ -7588,30 +7617,152 @@ DEFUN (show_bgp_instance_ipv6_safi_summary, return bgp_show_summary_vty (vty, argv[0], AFI_IP6, SAFI_UNICAST); } -/* old command */ -DEFUN (show_ipv6_bgp_summary, - show_ipv6_bgp_summary_cmd, - "show ipv6 bgp summary", +#endif /* HAVE_IPV6 */ + +/* variations of show bgp [...] summary */ + +/* This one is for the 0-keyword variant */ +DEFUN (show_bgp_summary, + show_bgp_summary_cmd, + "show bgp summary", SHOW_STR - IPV6_STR BGP_STR "Summary of BGP neighbor status\n") { - return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST); + vty_out(vty, "%sIPv4 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_UNICAST); + vty_out(vty, "%sIPv4 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MULTICAST); + vty_out(vty, "%sIPv4 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv4 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_ENCAP); + +#ifdef HAVE_IPV6 + vty_out(vty, "%sIPv6 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST); + vty_out(vty, "%sIPv6 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_MULTICAST); + vty_out(vty, "%sIPv6 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv6 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_ENCAP); +#endif + return CMD_SUCCESS; } -/* old command */ -DEFUN (show_ipv6_mbgp_summary, - show_ipv6_mbgp_summary_cmd, - "show ipv6 mbgp summary", +DEFUN (show_bgp_summary_1w, + show_bgp_summary_1w_cmd, +#ifdef HAVE_IPV6 + "show bgp (ipv4|ipv6|unicast|multicast|vpn|encap) summary", +#else + "show bgp (ipv4|unicast|multicast|vpn|encap) summary", +#endif SHOW_STR - IPV6_STR - MBGP_STR + BGP_STR + IP_STR +#ifdef HAVE_IPV6 + IP6_STR +#endif + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" + "Address Family modifier\n" "Summary of BGP neighbor status\n") { - return bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_MULTICAST); + if (strcmp (argv[0], "ipv4") == 0) { + vty_out(vty, "%sIPv4 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_UNICAST); + vty_out(vty, "%sIPv4 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MULTICAST); + vty_out(vty, "%sIPv4 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv4 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_ENCAP); + return CMD_SUCCESS; + } +#ifdef HAVE_IPV6 + if (strcmp (argv[0], "ipv6") == 0) { + vty_out(vty, "%sIPv6 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST); + vty_out(vty, "%sIPv6 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_MULTICAST); + vty_out(vty, "%sIPv6 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv6 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_ENCAP); + return CMD_SUCCESS; + } +#endif + if (strcmp (argv[0], "unicast") == 0) { + vty_out(vty, "IPv4 Unicast Summary:%s", VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_UNICAST); +#ifdef HAVE_IPV6 + vty_out(vty, "%s", VTY_NEWLINE); + vty_out(vty, "IPv6 Unicast Summary:%s", VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST); +#endif + return CMD_SUCCESS; + } + if (strcmp (argv[0], "multicast") == 0) { + vty_out(vty, "IPv4 Multicast Summary:%s", VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MULTICAST); +#ifdef HAVE_IPV6 + vty_out(vty, "%s", VTY_NEWLINE); + vty_out(vty, "IPv6 Multicast Summary:%s", VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_MULTICAST); +#endif + return CMD_SUCCESS; + } + if (strcmp (argv[0], "vpn") == 0) { + vty_out(vty, "IPv4 VPN Summary:%s", VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN); +#ifdef HAVE_IPV6 + vty_out(vty, "%s", VTY_NEWLINE); + vty_out(vty, "IPv6 VPN Summary:%s", VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_MPLS_VPN); +#endif + return CMD_SUCCESS; + } + if (strcmp (argv[0], "encap") == 0) { + vty_out(vty, "IPv4 Encap Summary:%s", VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_ENCAP); +#ifdef HAVE_IPV6 + vty_out(vty, "%s", VTY_NEWLINE); + vty_out(vty, "IPv6 Encap Summary:%s", VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_summary_vty (vty, NULL, AFI_IP6, SAFI_ENCAP); +#endif + return CMD_SUCCESS; + } + vty_out(vty, "Unknown keyword: %s%s", argv[0], VTY_NEWLINE); + return CMD_WARNING; } -#endif /* HAVE_IPV6 */ + + const char * afi_safi_print (afi_t afi, safi_t safi) @@ -8345,145 +8496,33 @@ bgp_show_neighbor_vty (struct vty *vty, const char *name, } /* "show ip bgp neighbors" commands. */ -DEFUN (show_ip_bgp_neighbors, - show_ip_bgp_neighbors_cmd, - "show ip bgp neighbors", - SHOW_STR - IP_STR - BGP_STR - "Detailed information on TCP and BGP neighbor connections\n") -{ - return bgp_show_neighbor_vty (vty, NULL, show_all, NULL); -} - -ALIAS (show_ip_bgp_neighbors, - show_ip_bgp_ipv4_neighbors_cmd, - "show ip bgp ipv4 (unicast|multicast) neighbors", - SHOW_STR - IP_STR - BGP_STR - "Address family\n" - "Address Family modifier\n" - "Address Family modifier\n" - "Detailed information on TCP and BGP neighbor connections\n") - -ALIAS (show_ip_bgp_neighbors, - show_ip_bgp_vpnv4_all_neighbors_cmd, - "show ip bgp vpnv4 all neighbors", - SHOW_STR - IP_STR - BGP_STR - "Display VPNv4 NLRI specific information\n" - "Display information about all VPNv4 NLRIs\n" - "Detailed information on TCP and BGP neighbor connections\n") - -ALIAS (show_ip_bgp_neighbors, - show_ip_bgp_vpnv4_rd_neighbors_cmd, - "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn neighbors", - SHOW_STR - IP_STR - BGP_STR - "Display VPNv4 NLRI specific information\n" - "Display information for a route distinguisher\n" - "VPN Route Distinguisher\n" - "Detailed information on TCP and BGP neighbor connections\n") - -ALIAS (show_ip_bgp_neighbors, +DEFUN (show_bgp_neighbors, show_bgp_neighbors_cmd, "show bgp neighbors", SHOW_STR BGP_STR "Detailed information on TCP and BGP neighbor connections\n") - -ALIAS (show_ip_bgp_neighbors, - show_bgp_ipv6_neighbors_cmd, - "show bgp ipv6 neighbors", - SHOW_STR - BGP_STR - "Address family\n" - "Detailed information on TCP and BGP neighbor connections\n") - -DEFUN (show_ip_bgp_neighbors_peer, - show_ip_bgp_neighbors_peer_cmd, - "show ip bgp neighbors (A.B.C.D|X:X::X:X)", - SHOW_STR - IP_STR - BGP_STR - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n") { - return bgp_show_neighbor_vty (vty, NULL, show_peer, argv[argc - 1]); + return bgp_show_neighbor_vty (vty, NULL, show_all, NULL); } -ALIAS (show_ip_bgp_neighbors_peer, - show_ip_bgp_ipv4_neighbors_peer_cmd, - "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X)", - SHOW_STR - IP_STR - BGP_STR - "Address family\n" - "Address Family modifier\n" - "Address Family modifier\n" - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n") - -ALIAS (show_ip_bgp_neighbors_peer, - show_ip_bgp_vpnv4_all_neighbors_peer_cmd, - "show ip bgp vpnv4 all neighbors A.B.C.D", - SHOW_STR - IP_STR - BGP_STR - "Display VPNv4 NLRI specific information\n" - "Display information about all VPNv4 NLRIs\n" - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n") - -ALIAS (show_ip_bgp_neighbors_peer, - show_ip_bgp_vpnv4_rd_neighbors_peer_cmd, - "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn neighbors A.B.C.D", - SHOW_STR - IP_STR - BGP_STR - "Display VPNv4 NLRI specific information\n" - "Display information about all VPNv4 NLRIs\n" - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n") - -ALIAS (show_ip_bgp_neighbors_peer, +DEFUN (show_bgp_neighbors_peer, show_bgp_neighbors_peer_cmd, +#ifdef HAVE_IPV6 "show bgp neighbors (A.B.C.D|X:X::X:X)", +#else + "show bgp neighbors (A.B.C.D)", +#endif /* HAVE_IPV6 */ SHOW_STR BGP_STR "Detailed information on TCP and BGP neighbor connections\n" "Neighbor to display information about\n" "Neighbor to display information about\n") - -ALIAS (show_ip_bgp_neighbors_peer, - show_bgp_ipv6_neighbors_peer_cmd, - "show bgp ipv6 neighbors (A.B.C.D|X:X::X:X)", - SHOW_STR - BGP_STR - "Address family\n" - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n") - -DEFUN (show_ip_bgp_instance_neighbors, - show_ip_bgp_instance_neighbors_cmd, - "show ip bgp view WORD neighbors", - SHOW_STR - IP_STR - BGP_STR - "BGP view\n" - "View name\n" - "Detailed information on TCP and BGP neighbor connections\n") { - return bgp_show_neighbor_vty (vty, argv[0], show_all, NULL); + return bgp_show_neighbor_vty (vty, NULL, show_peer, argv[argc - 1]); } -ALIAS (show_ip_bgp_instance_neighbors, +DEFUN (show_bgp_instance_neighbors, show_bgp_instance_neighbors_cmd, "show bgp view WORD neighbors", SHOW_STR @@ -8491,8 +8530,11 @@ ALIAS (show_ip_bgp_instance_neighbors, "BGP view\n" "View name\n" "Detailed information on TCP and BGP neighbor connections\n") +{ + return bgp_show_neighbor_vty (vty, argv[0], show_all, NULL); +} -ALIAS (show_ip_bgp_instance_neighbors, +ALIAS (show_bgp_instance_neighbors, show_bgp_instance_ipv6_neighbors_cmd, "show bgp view WORD ipv6 neighbors", SHOW_STR @@ -8502,11 +8544,14 @@ ALIAS (show_ip_bgp_instance_neighbors, "Address family\n" "Detailed information on TCP and BGP neighbor connections\n") -DEFUN (show_ip_bgp_instance_neighbors_peer, - show_ip_bgp_instance_neighbors_peer_cmd, - "show ip bgp view WORD neighbors (A.B.C.D|X:X::X:X)", +DEFUN (show_bgp_instance_neighbors_peer, + show_bgp_instance_neighbors_peer_cmd, +#ifdef HAVE_IPV6 + "show bgp view WORD neighbors (A.B.C.D|X:X::X:X)", +#else + "show bgp view WORD neighbors (A.B.C.D)", +#endif SHOW_STR - IP_STR BGP_STR "BGP view\n" "View name\n" @@ -8517,18 +8562,7 @@ DEFUN (show_ip_bgp_instance_neighbors_peer, return bgp_show_neighbor_vty (vty, argv[0], show_peer, argv[1]); } -ALIAS (show_ip_bgp_instance_neighbors_peer, - show_bgp_instance_neighbors_peer_cmd, - "show bgp view WORD neighbors (A.B.C.D|X:X::X:X)", - SHOW_STR - BGP_STR - "BGP view\n" - "View name\n" - "Detailed information on TCP and BGP neighbor connections\n" - "Neighbor to display information about\n" - "Neighbor to display information about\n") - -ALIAS (show_ip_bgp_instance_neighbors_peer, +ALIAS (show_bgp_instance_neighbors_peer, show_bgp_instance_ipv6_neighbors_peer_cmd, "show bgp view WORD ipv6 neighbors (A.B.C.D|X:X::X:X)", SHOW_STR @@ -8543,11 +8577,10 @@ ALIAS (show_ip_bgp_instance_neighbors_peer, /* Show BGP's AS paths internal data. There are both `show ip bgp paths' and `show ip mbgp paths'. Those functions results are the same.*/ -DEFUN (show_ip_bgp_paths, - show_ip_bgp_paths_cmd, - "show ip bgp paths", +DEFUN (show_bgp_ipv4_paths, + show_bgp_ipv4_paths_cmd, + "show bgp paths", SHOW_STR - IP_STR BGP_STR "Path information\n") { @@ -8556,23 +8589,6 @@ DEFUN (show_ip_bgp_paths, return CMD_SUCCESS; } -DEFUN (show_ip_bgp_ipv4_paths, - show_ip_bgp_ipv4_paths_cmd, - "show ip bgp ipv4 (unicast|multicast) paths", - SHOW_STR - IP_STR - BGP_STR - "Address family\n" - "Address Family modifier\n" - "Address Family modifier\n" - "Path information\n") -{ - vty_out (vty, "Address Refcnt Path\r\n"); - aspath_print_all_vty (vty); - - return CMD_SUCCESS; -} - #include "hash.h" static void @@ -8756,69 +8772,6 @@ bgp_show_rsclient_summary_vty (struct vty *vty, const char *name, } /* 'show bgp rsclient' commands. */ -DEFUN (show_ip_bgp_rsclient_summary, - show_ip_bgp_rsclient_summary_cmd, - "show ip bgp rsclient summary", - SHOW_STR - IP_STR - BGP_STR - "Information about Route Server Clients\n" - "Summary of all Route Server Clients\n") -{ - return bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP, SAFI_UNICAST); -} - -DEFUN (show_ip_bgp_instance_rsclient_summary, - show_ip_bgp_instance_rsclient_summary_cmd, - "show ip bgp view WORD rsclient summary", - SHOW_STR - IP_STR - BGP_STR - "BGP view\n" - "View name\n" - "Information about Route Server Clients\n" - "Summary of all Route Server Clients\n") -{ - return bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP, SAFI_UNICAST); -} - -DEFUN (show_ip_bgp_ipv4_rsclient_summary, - show_ip_bgp_ipv4_rsclient_summary_cmd, - "show ip bgp ipv4 (unicast|multicast) rsclient summary", - SHOW_STR - IP_STR - BGP_STR - "Address family\n" - "Address Family modifier\n" - "Address Family modifier\n" - "Information about Route Server Clients\n" - "Summary of all Route Server Clients\n") -{ - if (strncmp (argv[0], "m", 1) == 0) - return bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP, SAFI_MULTICAST); - - return bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP, SAFI_UNICAST); -} - -DEFUN (show_ip_bgp_instance_ipv4_rsclient_summary, - show_ip_bgp_instance_ipv4_rsclient_summary_cmd, - "show ip bgp view WORD ipv4 (unicast|multicast) rsclient summary", - SHOW_STR - IP_STR - BGP_STR - "BGP view\n" - "View name\n" - "Address family\n" - "Address Family modifier\n" - "Address Family modifier\n" - "Information about Route Server Clients\n" - "Summary of all Route Server Clients\n") -{ - if (strncmp (argv[1], "m", 1) == 0) - return bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP, SAFI_MULTICAST); - - return bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP, SAFI_UNICAST); -} DEFUN (show_bgp_instance_ipv4_safi_rsclient_summary, show_bgp_instance_ipv4_safi_rsclient_summary_cmd, @@ -8855,7 +8808,6 @@ ALIAS (show_bgp_instance_ipv4_safi_rsclient_summary, "Information about Route Server Clients\n" "Summary of all Route Server Clients\n") -#ifdef HAVE_IPV6 DEFUN (show_bgp_rsclient_summary, show_bgp_rsclient_summary_cmd, "show bgp rsclient summary", @@ -8864,7 +8816,34 @@ DEFUN (show_bgp_rsclient_summary, "Information about Route Server Clients\n" "Summary of all Route Server Clients\n") { - return bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST); + vty_out(vty, "%sIPv4 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP, SAFI_UNICAST); + vty_out(vty, "%sIPv4 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP, SAFI_MULTICAST); + vty_out(vty, "%sIPv4 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv4 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP, SAFI_ENCAP); + +#ifdef HAVE_IPV6 + vty_out(vty, "%sIPv6 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST); + vty_out(vty, "%sIPv6 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP6, SAFI_MULTICAST); + vty_out(vty, "%sIPv6 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP6, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv6 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP6, SAFI_ENCAP); +#endif + return CMD_SUCCESS; } DEFUN (show_bgp_instance_rsclient_summary, @@ -8877,10 +8856,38 @@ DEFUN (show_bgp_instance_rsclient_summary, "Information about Route Server Clients\n" "Summary of all Route Server Clients\n") { - return bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP6, SAFI_UNICAST); + vty_out(vty, "%sIPv4 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP, SAFI_UNICAST); + vty_out(vty, "%sIPv4 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP, SAFI_MULTICAST); + vty_out(vty, "%sIPv4 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv4 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP, SAFI_ENCAP); + +#ifdef HAVE_IPV6 + vty_out(vty, "%sIPv6 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP6, SAFI_UNICAST); + vty_out(vty, "%sIPv6 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP6, SAFI_MULTICAST); + vty_out(vty, "%sIPv6 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP6, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv6 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP6, SAFI_ENCAP); +#endif + return CMD_SUCCESS; } -ALIAS (show_bgp_rsclient_summary, +#ifdef HAVE_IPV6 +DEFUN (show_bgp_ipv6_rsclient_summary, show_bgp_ipv6_rsclient_summary_cmd, "show bgp ipv6 rsclient summary", SHOW_STR @@ -8888,8 +8895,24 @@ ALIAS (show_bgp_rsclient_summary, "Address family\n" "Information about Route Server Clients\n" "Summary of all Route Server Clients\n") +{ + vty_out(vty, "%sIPv6 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP6, SAFI_UNICAST); + vty_out(vty, "%sIPv6 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP6, SAFI_MULTICAST); + vty_out(vty, "%sIPv6 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP6, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv6 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, NULL, AFI_IP6, SAFI_ENCAP); + + return CMD_SUCCESS; +} -ALIAS (show_bgp_instance_rsclient_summary, +DEFUN (show_bgp_instance_ipv6_rsclient_summary, show_bgp_instance_ipv6_rsclient_summary_cmd, "show bgp view WORD ipv6 rsclient summary", SHOW_STR @@ -8899,6 +8922,22 @@ ALIAS (show_bgp_instance_rsclient_summary, "Address family\n" "Information about Route Server Clients\n" "Summary of all Route Server Clients\n") +{ + vty_out(vty, "%sIPv6 Unicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "---------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP6, SAFI_UNICAST); + vty_out(vty, "%sIPv6 Multicast Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP6, SAFI_MULTICAST); + vty_out(vty, "%sIPv6 VPN Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-----------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP6, SAFI_MPLS_VPN); + vty_out(vty, "%sIPv6 Encap Summary:%s", VTY_NEWLINE, VTY_NEWLINE); + vty_out(vty, "-------------------%s", VTY_NEWLINE); + bgp_show_rsclient_summary_vty (vty, argv[0], AFI_IP6, SAFI_ENCAP); + + return CMD_SUCCESS; +} DEFUN (show_bgp_instance_ipv6_safi_rsclient_summary, show_bgp_instance_ipv6_safi_rsclient_summary_cmd, @@ -8929,7 +8968,7 @@ ALIAS (show_bgp_instance_ipv6_safi_rsclient_summary, "show bgp ipv6 (unicast|multicast) rsclient summary", SHOW_STR BGP_STR - "Address family\n" + IPV6_STR "Address Family modifier\n" "Address Family modifier\n" "Information about Route Server Clients\n" @@ -10639,157 +10678,122 @@ bgp_vty_init (void) #endif /* HAVE_IPV6 */ /* "show ip bgp summary" commands. */ - install_element (VIEW_NODE, &show_ip_bgp_summary_cmd); - install_element (VIEW_NODE, &show_ip_bgp_instance_summary_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_summary_cmd); + install_element (VIEW_NODE, &show_bgp_summary_cmd); + install_element (RESTRICTED_NODE, &show_bgp_summary_cmd); + install_element (ENABLE_NODE, &show_bgp_summary_cmd); + + install_element (VIEW_NODE, &show_bgp_summary_1w_cmd); + install_element (RESTRICTED_NODE, &show_bgp_summary_1w_cmd); + install_element (ENABLE_NODE, &show_bgp_summary_1w_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_safi_summary_cmd); - install_element (VIEW_NODE, &show_ip_bgp_instance_ipv4_summary_cmd); install_element (VIEW_NODE, &show_bgp_instance_ipv4_safi_summary_cmd); - install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_summary_cmd); - install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_summary_cmd); + install_element (VIEW_NODE, &show_bgp_instance_ipv4_summary_cmd); + + install_element (VIEW_NODE, &show_bgp_ipv4_vpn_summary_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_encap_summary_cmd); #ifdef HAVE_IPV6 - install_element (VIEW_NODE, &show_bgp_summary_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_vpn_summary_cmd); + install_element (VIEW_NODE, &show_bgp_ipv6_encap_summary_cmd); +#endif + install_element (VIEW_NODE, &show_bgp_instance_summary_cmd); - install_element (VIEW_NODE, &show_bgp_ipv6_summary_cmd); +#ifdef HAVE_IPV6 install_element (VIEW_NODE, &show_bgp_ipv6_safi_summary_cmd); install_element (VIEW_NODE, &show_bgp_instance_ipv6_summary_cmd); install_element (VIEW_NODE, &show_bgp_instance_ipv6_safi_summary_cmd); #endif /* HAVE_IPV6 */ - install_element (RESTRICTED_NODE, &show_ip_bgp_summary_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_instance_summary_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_ipv4_summary_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_summary_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_instance_ipv4_summary_cmd); + install_element (RESTRICTED_NODE, &show_bgp_instance_ipv4_summary_cmd); install_element (RESTRICTED_NODE, &show_bgp_instance_ipv4_safi_summary_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_vpnv4_all_summary_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_vpnv4_rd_summary_cmd); + + install_element (RESTRICTED_NODE, &show_bgp_ipv4_vpn_summary_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv4_encap_summary_cmd); #ifdef HAVE_IPV6 - install_element (RESTRICTED_NODE, &show_bgp_summary_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv6_vpn_summary_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv6_encap_summary_cmd); + install_element (RESTRICTED_NODE, &show_bgp_ipv6_encap_summary_cmd); +#endif + install_element (RESTRICTED_NODE, &show_bgp_instance_summary_cmd); - install_element (RESTRICTED_NODE, &show_bgp_ipv6_summary_cmd); +#ifdef HAVE_IPV6 install_element (RESTRICTED_NODE, &show_bgp_ipv6_safi_summary_cmd); install_element (RESTRICTED_NODE, &show_bgp_instance_ipv6_summary_cmd); install_element (RESTRICTED_NODE, &show_bgp_instance_ipv6_safi_summary_cmd); #endif /* HAVE_IPV6 */ - install_element (ENABLE_NODE, &show_ip_bgp_summary_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_instance_summary_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_summary_cmd); install_element (ENABLE_NODE, &show_bgp_ipv4_safi_summary_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_instance_ipv4_summary_cmd); + install_element (ENABLE_NODE, &show_bgp_instance_ipv4_summary_cmd); install_element (ENABLE_NODE, &show_bgp_instance_ipv4_safi_summary_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_summary_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_summary_cmd); + + install_element (ENABLE_NODE, &show_bgp_ipv4_vpn_summary_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_encap_summary_cmd); #ifdef HAVE_IPV6 - install_element (ENABLE_NODE, &show_bgp_summary_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_vpn_summary_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv6_encap_summary_cmd); +#endif + install_element (ENABLE_NODE, &show_bgp_instance_summary_cmd); - install_element (ENABLE_NODE, &show_bgp_ipv6_summary_cmd); +#ifdef HAVE_IPV6 install_element (ENABLE_NODE, &show_bgp_ipv6_safi_summary_cmd); install_element (ENABLE_NODE, &show_bgp_instance_ipv6_summary_cmd); install_element (ENABLE_NODE, &show_bgp_instance_ipv6_safi_summary_cmd); #endif /* HAVE_IPV6 */ /* "show ip bgp neighbors" commands. */ - install_element (VIEW_NODE, &show_ip_bgp_neighbors_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_neighbors_cmd); - install_element (VIEW_NODE, &show_ip_bgp_neighbors_peer_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_neighbors_peer_cmd); - install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_neighbors_cmd); - install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_neighbors_cmd); - install_element (VIEW_NODE, &show_ip_bgp_vpnv4_all_neighbors_peer_cmd); - install_element (VIEW_NODE, &show_ip_bgp_vpnv4_rd_neighbors_peer_cmd); - install_element (VIEW_NODE, &show_ip_bgp_instance_neighbors_cmd); - install_element (VIEW_NODE, &show_ip_bgp_instance_neighbors_peer_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_neighbors_peer_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_ipv4_neighbors_peer_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_vpnv4_all_neighbors_peer_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_vpnv4_rd_neighbors_peer_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_instance_neighbors_peer_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_neighbors_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbors_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_neighbors_peer_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_neighbors_peer_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_neighbors_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_neighbors_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_all_neighbors_peer_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_vpnv4_rd_neighbors_peer_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_instance_neighbors_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_instance_neighbors_peer_cmd); + install_element (VIEW_NODE, &show_bgp_instance_neighbors_cmd); + install_element (ENABLE_NODE, &show_bgp_instance_neighbors_cmd); -#ifdef HAVE_IPV6 install_element (VIEW_NODE, &show_bgp_neighbors_cmd); - install_element (VIEW_NODE, &show_bgp_ipv6_neighbors_cmd); install_element (VIEW_NODE, &show_bgp_neighbors_peer_cmd); - install_element (VIEW_NODE, &show_bgp_ipv6_neighbors_peer_cmd); - install_element (VIEW_NODE, &show_bgp_instance_neighbors_cmd); - install_element (VIEW_NODE, &show_bgp_instance_ipv6_neighbors_cmd); install_element (VIEW_NODE, &show_bgp_instance_neighbors_peer_cmd); - install_element (VIEW_NODE, &show_bgp_instance_ipv6_neighbors_peer_cmd); install_element (RESTRICTED_NODE, &show_bgp_neighbors_peer_cmd); - install_element (RESTRICTED_NODE, &show_bgp_ipv6_neighbors_peer_cmd); install_element (RESTRICTED_NODE, &show_bgp_instance_neighbors_peer_cmd); - install_element (RESTRICTED_NODE, &show_bgp_instance_ipv6_neighbors_peer_cmd); install_element (ENABLE_NODE, &show_bgp_neighbors_cmd); - install_element (ENABLE_NODE, &show_bgp_ipv6_neighbors_cmd); install_element (ENABLE_NODE, &show_bgp_neighbors_peer_cmd); - install_element (ENABLE_NODE, &show_bgp_ipv6_neighbors_peer_cmd); - install_element (ENABLE_NODE, &show_bgp_instance_neighbors_cmd); - install_element (ENABLE_NODE, &show_bgp_instance_ipv6_neighbors_cmd); install_element (ENABLE_NODE, &show_bgp_instance_neighbors_peer_cmd); +#ifdef HAVE_IPV6 + install_element (VIEW_NODE, &show_bgp_instance_ipv6_neighbors_cmd); + install_element (VIEW_NODE, &show_bgp_instance_ipv6_neighbors_peer_cmd); + install_element (RESTRICTED_NODE, &show_bgp_instance_ipv6_neighbors_peer_cmd); + install_element (ENABLE_NODE, &show_bgp_instance_ipv6_neighbors_cmd); install_element (ENABLE_NODE, &show_bgp_instance_ipv6_neighbors_peer_cmd); - /* Old commands. */ - install_element (VIEW_NODE, &show_ipv6_bgp_summary_cmd); - install_element (VIEW_NODE, &show_ipv6_mbgp_summary_cmd); - install_element (ENABLE_NODE, &show_ipv6_bgp_summary_cmd); - install_element (ENABLE_NODE, &show_ipv6_mbgp_summary_cmd); #endif /* HAVE_IPV6 */ /* "show ip bgp rsclient" commands. */ - install_element (VIEW_NODE, &show_ip_bgp_rsclient_summary_cmd); - install_element (VIEW_NODE, &show_ip_bgp_instance_rsclient_summary_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_rsclient_summary_cmd); - install_element (VIEW_NODE, &show_ip_bgp_instance_ipv4_rsclient_summary_cmd); install_element (VIEW_NODE, &show_bgp_instance_ipv4_safi_rsclient_summary_cmd); install_element (VIEW_NODE, &show_bgp_ipv4_safi_rsclient_summary_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_rsclient_summary_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_instance_rsclient_summary_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_ipv4_rsclient_summary_cmd); - install_element (RESTRICTED_NODE, &show_ip_bgp_instance_ipv4_rsclient_summary_cmd); install_element (RESTRICTED_NODE, &show_bgp_instance_ipv4_safi_rsclient_summary_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv4_safi_rsclient_summary_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_rsclient_summary_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_instance_rsclient_summary_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_rsclient_summary_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_instance_ipv4_rsclient_summary_cmd); install_element (ENABLE_NODE, &show_bgp_instance_ipv4_safi_rsclient_summary_cmd); install_element (ENABLE_NODE, &show_bgp_ipv4_safi_rsclient_summary_cmd); -#ifdef HAVE_IPV6 install_element (VIEW_NODE, &show_bgp_rsclient_summary_cmd); - install_element (VIEW_NODE, &show_bgp_ipv6_rsclient_summary_cmd); install_element (VIEW_NODE, &show_bgp_instance_rsclient_summary_cmd); + install_element (RESTRICTED_NODE, &show_bgp_rsclient_summary_cmd); + install_element (RESTRICTED_NODE, &show_bgp_instance_rsclient_summary_cmd); + install_element (ENABLE_NODE, &show_bgp_rsclient_summary_cmd); + install_element (ENABLE_NODE, &show_bgp_instance_rsclient_summary_cmd); +#ifdef HAVE_IPV6 + install_element (VIEW_NODE, &show_bgp_ipv6_rsclient_summary_cmd); install_element (VIEW_NODE, &show_bgp_instance_ipv6_rsclient_summary_cmd); install_element (VIEW_NODE, &show_bgp_instance_ipv6_safi_rsclient_summary_cmd); install_element (VIEW_NODE, &show_bgp_ipv6_safi_rsclient_summary_cmd); install_element (RESTRICTED_NODE, &show_bgp_rsclient_summary_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_rsclient_summary_cmd); - install_element (RESTRICTED_NODE, &show_bgp_instance_rsclient_summary_cmd); install_element (RESTRICTED_NODE, &show_bgp_instance_ipv6_rsclient_summary_cmd); install_element (RESTRICTED_NODE, &show_bgp_instance_ipv6_safi_rsclient_summary_cmd); install_element (RESTRICTED_NODE, &show_bgp_ipv6_safi_rsclient_summary_cmd); install_element (ENABLE_NODE, &show_bgp_rsclient_summary_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_rsclient_summary_cmd); - install_element (ENABLE_NODE, &show_bgp_instance_rsclient_summary_cmd); install_element (ENABLE_NODE, &show_bgp_instance_ipv6_rsclient_summary_cmd); install_element (ENABLE_NODE, &show_bgp_instance_ipv6_safi_rsclient_summary_cmd); install_element (ENABLE_NODE, &show_bgp_ipv6_safi_rsclient_summary_cmd); #endif /* HAVE_IPV6 */ /* "show ip bgp paths" commands. */ - install_element (VIEW_NODE, &show_ip_bgp_paths_cmd); - install_element (VIEW_NODE, &show_ip_bgp_ipv4_paths_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_paths_cmd); - install_element (ENABLE_NODE, &show_ip_bgp_ipv4_paths_cmd); + install_element (VIEW_NODE, &show_bgp_ipv4_paths_cmd); + install_element (ENABLE_NODE, &show_bgp_ipv4_paths_cmd); /* "show ip bgp community" commands. */ install_element (VIEW_NODE, &show_ip_bgp_community_info_cmd); |