bgpd: encap show commands

Signed-off-by: Lou Berger <lberger@labn.net>
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index c28de7b..0ea7ced 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -7054,90 +7054,91 @@
   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",
+#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
        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",
-       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;
+  int ret;
+  struct prefix_rd prd;
+  safi_t	safi;
 
-  /* 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_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 @@
 }
 #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"
-       "Network in the BGP routing table to display\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);
+}
 
-DEFUN (show_bgp_ipv6_safi_route,
-       show_bgp_ipv6_safi_route_cmd,
-       "show bgp ipv6 (unicast|multicast) X:X::X:X",
+#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
-       "Address family\n"
-       "Address Family modifier\n"
-       "Address Family modifier\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_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")
 {
-  if (strncmp (argv[0], "m", 1) == 0)
-    return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_MULTICAST, NULL, 0);
+  safi_t	safi;
+  afi_t		afi;
 
-  return bgp_show_route (vty, NULL, argv[1], AFI_IP6, SAFI_UNICAST, NULL, 0);
+  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")
+{
+  if (strncmp (argv[0], "m", 1) == 0)
+    return bgp_show (vty, NULL, AFI_IP6, SAFI_MULTICAST, bgp_show_type_normal,
+                     NULL);
+
+  return bgp_show (vty, NULL, AFI_IP6, SAFI_UNICAST, bgp_show_type_normal, NULL);
 }
 
 DEFUN (show_bgp_ipv6_route,
@@ -7366,78 +7566,133 @@
   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
-       "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);
-}
-
-DEFUN (show_ip_bgp_flap_regexp, 
-       show_ip_bgp_flap_regexp_cmd,
-       "show ip bgp flap-statistics regexp .LINE",
-       SHOW_STR
        IP_STR
-       BGP_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_IP, 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_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
-       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 matching the AS path regular expression\n"
        "A regular-expression to match the BGP AS paths\n")
 
-DEFUN (show_ip_bgp_ipv4_regexp, 
-       show_ip_bgp_ipv4_regexp_cmd,
-       "show ip bgp ipv4 (unicast|multicast) regexp .LINE",
+#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
-       IP_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")
+{
+  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_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
+       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_bgp_ipv4_safi_regexp, 
+       show_bgp_ipv4_safi_regexp_cmd,
+       "show bgp ipv4 (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")
 {
-  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 @@
        "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 @@
 			       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
-       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 prefix-list\n"
        "IP prefix-list name\n")
 
-DEFUN (show_ip_bgp_ipv4_prefix_list, 
-       show_ip_bgp_ipv4_prefix_list_cmd,
-       "show ip bgp ipv4 (unicast|multicast) prefix-list WORD",
+#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
-       IP_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_bgp_ipv4_safi_prefix_list, 
+       show_bgp_ipv4_safi_prefix_list_cmd,
+       "show bgp ipv4 (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"
        "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 @@
        "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 @@
   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,65 +7902,130 @@
 			       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",
-       SHOW_STR
-       IP_STR
-       BGP_STR
-       "Address family\n"
-       "Address Family modifier\n"
-       "Address Family modifier\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);
-}
-
 #ifdef HAVE_IPV6
-DEFUN (show_bgp_filter_list, 
-       show_bgp_filter_list_cmd,
-       "show bgp filter-list WORD",
+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
        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 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_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")
+#endif
+
+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 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;
+
+  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
+       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")
+{
+  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);
 }
 
-ALIAS (show_bgp_filter_list, 
+DEFUN (show_bgp_filter_list, 
        show_bgp_ipv6_filter_list_cmd,
        "show bgp ipv6 filter-list WORD",
        SHOW_STR
@@ -7696,34 +8033,11 @@
        "Address family\n"
        "Display routes conforming to the filter-list\n"
        "Regular expression access list name\n")
-
-/* old command */
-DEFUN (show_ipv6_bgp_filter_list, 
-       show_ipv6_bgp_filter_list_cmd,
-       "show ipv6 bgp filter-list WORD",
-       SHOW_STR
-       IPV6_STR
-       BGP_STR
-       "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);
 }
 
-/* old command */
-DEFUN (show_ipv6_mbgp_filter_list, 
-       show_ipv6_mbgp_filter_list_cmd,
-       "show ipv6 mbgp filter-list WORD",
-       SHOW_STR
-       IPV6_STR
-       MBGP_STR
-       "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,
-			       bgp_show_type_filter_list);
-}
 #endif /* HAVE_IPV6 */
 
 DEFUN (show_ip_bgp_dampening_info,
@@ -7755,12 +8069,12 @@
   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 @@
 			     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
-       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 matching the route-map\n"
        "A route-map to match on\n")
-
-DEFUN (show_ip_bgp_ipv4_route_map, 
-       show_ip_bgp_ipv4_route_map_cmd,
-       "show ip bgp ipv4 (unicast|multicast) route-map WORD",
+#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
-       IP_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_bgp_ipv4_safi_route_map, 
+       show_bgp_ipv4_safi_route_map_cmd,
+       "show bgp ipv4 (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")
 {
-  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 @@
        "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 @@
 		     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",
-       SHOW_STR
-       IP_STR
-       BGP_STR
-       "Address family\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);
-}
-
+/* new046 */
+DEFUN (show_bgp_afi_safi_community_all,
+       show_bgp_afi_safi_community_all_cmd,
 #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);
-}
-
-ALIAS (show_bgp_community_all,
-       show_bgp_ipv6_community_all_cmd,
-       "show bgp ipv6 community",
+       "show bgp (ipv4|ipv6) (encap|multicast|unicast|vpn) community",
+#else
+       "show bgp ipv4 (encap|multicast|unicast|vpn) community",
+#endif
        SHOW_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")
+{
+  safi_t	safi;
+  afi_t		afi;
 
-/* old command */
-DEFUN (show_ipv6_bgp_community_all,
-       show_ipv6_bgp_community_all_cmd,
-       "show ipv6 bgp community",
+  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;
+  }
+
+  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
-       IPV6_STR
        BGP_STR
+       "Address family\n"
+#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_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 @@
   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 @@
        "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 @@
        "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 @@
        "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 @@
   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 @@
        "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 @@
        "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 @@
 
 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 @@
       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 @@
   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,
        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,
        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 @@
        "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 @@
   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 @@
        "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 @@
        "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 @@
        "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 @@
   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 @@
        "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 @@
        "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 @@
        "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)",
+DEFUN (show_bgp_ipv6_community,
+       show_bgp_ipv6_community_cmd,
+       "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")
 {
-  return bgp_show_community (vty, NULL, argc, 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_community (vty, NULL, argc-1, argv+1, 0, AFI_IP6, safi);
 }
 
-ALIAS (show_bgp_community,
-       show_bgp_ipv6_community_cmd,
-       "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export)",
-       SHOW_STR
-       BGP_STR
-       "Address family\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")
-
-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")
-
-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 @@
        "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 @@
        "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,90 +9004,17 @@
        "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_bgp_ipv6_community_exact_cmd,
+       "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"
@@ -8732,44 +9022,26 @@
        "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);
+  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_ipv6_community_exact_cmd,
-       "show bgp ipv6 community (AA:NN|local-AS|no-advertise|no-export) exact-match",
-       SHOW_STR
-       BGP_STR
-       "Address family\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")
-
-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 @@
        "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 @@
        "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 @@
        "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_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 @@
   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 @@
   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 @@
   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 @@
 #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 @@
   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,111 +9275,284 @@
 				 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
-       "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,
-				 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",
-       SHOW_STR
-       IP_STR
-       BGP_STR
-       "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",
-       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,
-				   bgp_show_type_prefix_longer);
+  safi_t	safi;
 
-  return bgp_show_prefix_longer (vty, argv[1], AFI_IP, SAFI_UNICAST,
-				 bgp_show_type_prefix_longer);
+  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);
 }
 
-DEFUN (show_ip_bgp_flap_address,
-       show_ip_bgp_flap_address_cmd,
-       "show ip bgp flap-statistics A.B.C.D",
+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")
+
+#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
+       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")
+{
+  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);
+}
+
+#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_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
+       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_ip_bgp_flap_address,
-       show_ip_bgp_damp_flap_address_cmd,
-       "show ip bgp dampening flap-statistics A.B.C.D",
+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
-       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")
-
-DEFUN (show_ip_bgp_flap_prefix,
-       show_ip_bgp_flap_prefix_cmd,
-       "show ip bgp flap-statistics A.B.C.D/M",
+#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
-       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")
+{
+  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[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
+       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_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
+       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,
+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"
+       "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")
+
+DEFUN (show_bgp_ipv6_prefix_longer,
        show_bgp_ipv6_prefix_longer_cmd,
        "show bgp ipv6 X:X::X:X/M longer-prefixes",
        SHOW_STR
@@ -9450,34 +9560,11 @@
        "Address family\n"
        "IPv6 prefix <network>/<length>\n"
        "Display route and more specific routes\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",
-       SHOW_STR
-       IPV6_STR
-       BGP_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_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,26 +10111,7 @@
   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",
-       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 detailed prefix count information\n")
-{
-  struct peer *peer;
-
-  peer = peer_lookup_in_view (vty, NULL, argv[0]);  
-  if (! peer) 
-    return CMD_WARNING;
- 
-  return bgp_peer_counts (vty, peer, AFI_IP, SAFI_UNICAST);
-}
-
+#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",
@@ -10063,36 +10131,72 @@
  
   return bgp_peer_counts (vty, peer, AFI_IP6, SAFI_UNICAST);
 }
+#endif
 
-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",
+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
-       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_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
+       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;
 
-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",
+  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);
+}
+#endif
+
+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 @@
   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,77 +10328,69 @@
   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")
-
-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",
-       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"
-       "Display the routes advertised to a BGP neighbor\n")
-{
-  struct peer *peer;
+  }
 
   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, 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
+       BGP_STR
+       "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 routes advertised to a BGP neighbor\n")
+{
+  struct peer *peer;
+  safi_t	safi;
 
-  return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 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_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,9 +10409,9 @@
   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",
+DEFUN (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"
@@ -10324,18 +10420,6 @@
        "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_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 the received routes from neighbor\n")
 {
   struct peer *peer;
@@ -10351,29 +10435,6 @@
   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 @@
        "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"
-       "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;
-
-  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;
-
-  return peer_adj_routes (vty, peer, AFI_IP, SAFI_UNICAST, 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",
-       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_IP, safi, 1);
 }
+#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
+       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;
+  
+  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 @@
   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,48 +10564,12 @@
   union sockunion su;
   struct peer *peer;
   int count, ret;
+  safi_t	safi;
 
-  ret = str2sockunion (argv[0], &su);
-  if (ret < 0)
-    {
-      vty_out (vty, "Malformed address: %s%s", argv[0], VTY_NEWLINE);
-      return CMD_WARNING;
-    }
-
-  peer = peer_lookup (NULL, &su);
-  if (! peer)
+  if (bgp_parse_safi(argv[0], &safi)) {
+    vty_out (vty, "Error: Bad SAFI: %s%s", argv[0], VTY_NEWLINE);
     return CMD_WARNING;
-
-  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);
-    }
-
-  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",
-       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"
-       "Display information received from a BGP neighbor\n"
-       "Display the prefixlist filter\n")
-{
-  char name[BUFSIZ];
-  union sockunion su;
-  struct peer *peer;
-  int count, ret;
+  }
 
   ret = str2sockunion (argv[1], &su);
   if (ret < 0)
@@ -10586,41 +10582,63 @@
   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_IP, safi);
+  count =  prefix_bgp_show_prefix_list (NULL, AFI_IP, name);
+  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;
 }
-
-
 #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",
+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
        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"
-       "Display the received routes from neighbor\n")
+       "Display information received from a BGP neighbor\n"
+       "Display the prefixlist filter\n")
+{
+  char name[BUFSIZ];
+  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)
+    {
+      vty_out (vty, "Malformed address: %s%s", argv[1], VTY_NEWLINE);
+      return CMD_WARNING;
+    }
+
+  peer = peer_lookup (NULL, &su);
+  if (! peer)
+    return CMD_WARNING;
+
+  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;
+}
 
 ALIAS (show_bgp_view_neighbor_received_routes,
        show_bgp_ipv6_neighbor_received_routes_cmd,
@@ -10634,10 +10652,11 @@
        "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 @@
   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 @@
 
   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 @@
   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
-       "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_IP, SAFI_UNICAST,
-				  bgp_show_type_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",
-       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_IP, safi,
 				  bgp_show_type_flap_neighbor);
 }
-
-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",
+#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;
+
+  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_flap_neighbor);
+}
+#endif
+
+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
+       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);
 }
-
-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",
+#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
-       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;
+
+  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_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
        BGP_STR
        "Address family\n"
        "Address Family modifier\n"
@@ -10871,69 +10890,50 @@
        "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 @@
        "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 @@
 {
   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 @@
        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 @@
 {
   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 @@
 
 #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,9 +11218,9 @@
 				  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",
+DEFUN (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",
        SHOW_STR
        BGP_STR
        "BGP view\n"
@@ -11340,18 +11229,6 @@
        "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_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 the dampened routes received from neighbor\n")
 {
   struct peer *peer;
@@ -11368,9 +11245,9 @@
 				  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 @@
        "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 @@
 				  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 @@
        "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 @@
        "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 @@
        "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 @@
   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 @@
        "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 @@
 
 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 @@
        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 @@
 
 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 @@
        "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;
 
-ALIAS (show_ip_bgp_dampened_paths,
-       show_ip_bgp_damp_dampened_paths_cmd,
-       "show ip bgp dampening dampened-paths",
+  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_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
-       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 paths suppressed due to dampening\n")
-
-DEFUN (show_ip_bgp_flap_statistics,
-       show_ip_bgp_flap_statistics_cmd,
-       "show ip bgp flap-statistics",
+#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
-       IP_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_bgp_ipv4_safi_flap_statistics,
+       show_bgp_ipv4_safi_flap_statistics_cmd,
+       "show bgp ipv4 (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")
 {
-  return bgp_show (vty, NULL, AFI_IP, SAFI_UNICAST,
-                   bgp_show_type_flap_statistics, NULL);
-}
+  safi_t	safi;
 
-ALIAS (show_ip_bgp_flap_statistics,
-       show_ip_bgp_damp_flap_statistics_cmd,
-       "show ip bgp dampening flap-statistics",
+  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
-       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")
+#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;
+  }
+
+  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
+       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 @@
   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 @@
   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 @@
   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 @@
   /* 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 @@
   
   /* 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 94796c7..2df2309 100644
--- a/bgpd/bgp_vty.c
+++ b/bgpd/bgp_vty.c
@@ -7394,35 +7394,10 @@
 }
 
 /* `show ip bgp summary' commands. */
-DEFUN (show_ip_bgp_summary, 
-       show_ip_bgp_summary_cmd,
-       "show ip bgp 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
-       "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",
-       SHOW_STR
-       IP_STR
        BGP_STR
        "Address family\n"
        "Address Family modifier\n"
@@ -7435,22 +7410,11 @@
   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",
+DEFUN (show_bgp_instance_ipv4_safi_summary,
+       show_bgp_instance_ipv4_safi_summary_cmd,
+       "show bgp view WORD 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",
-       SHOW_STR
-       IP_STR
-       BGP_STR
        "BGP view\n"
        "View name\n"
        "Address family\n"
@@ -7464,65 +7428,63 @@
     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"
-       "Summary of BGP neighbor status\n")
-
-DEFUN (show_ip_bgp_vpnv4_all_summary,
-       show_ip_bgp_vpnv4_all_summary_cmd,
-       "show ip bgp vpnv4 all summary",
-       SHOW_STR
-       IP_STR
-       BGP_STR
-       "Display VPNv4 NLRI specific information\n"
-       "Display information about all VPNv4 NLRIs\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_rd_summary,
-       show_ip_bgp_vpnv4_rd_summary_cmd,
-       "show ip bgp vpnv4 rd ASN:nn_or_IP-address:nn summary",
-       SHOW_STR
-       IP_STR
-       BGP_STR
-       "Display VPNv4 NLRI specific information\n"
-       "Display information for a route distinguisher\n"
-       "VPN Route Distinguisher\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);
-}
-
 #ifdef HAVE_IPV6
-DEFUN (show_bgp_summary, 
-       show_bgp_summary_cmd,
-       "show bgp summary",
+
+/* `show ip bgp summary' commands. */
+DEFUN (show_bgp_ipv6_vpn_summary,
+       show_bgp_ipv6_vpn_summary_cmd,
+       "show bgp ipv6 vpn summary",
        SHOW_STR
        BGP_STR
+       "IPv6\n"
+       "Display VPN 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_MPLS_VPN);
 }
+#endif
+
+DEFUN (show_bgp_ipv4_encap_summary,
+       show_bgp_ipv4_encap_summary_cmd,
+       "show bgp ipv4 encap summary",
+       SHOW_STR
+       BGP_STR
+       "IPv4\n"
+       "Display ENCAP NLRI specific information\n"
+       "Summary of BGP neighbor status\n")
+{
+  return bgp_show_summary_vty (vty, NULL, AFI_IP, SAFI_ENCAP);
+}
+
+#ifdef HAVE_IPV6
+
+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_ENCAP);
+}
+
+#endif
+
+
 
 DEFUN (show_bgp_instance_summary,
        show_bgp_instance_summary_cmd,
@@ -7533,26 +7495,93 @@
        "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);
 
-ALIAS (show_bgp_instance_summary,
+    return CMD_SUCCESS;
+}
+
+
+#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 @@
   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,69 +8496,24 @@
 }
 
 /* "show ip bgp neighbors" commands.  */
-DEFUN (show_ip_bgp_neighbors,
-       show_ip_bgp_neighbors_cmd,
-       "show ip bgp neighbors",
+DEFUN (show_bgp_neighbors,
+       show_bgp_neighbors_cmd,
+       "show 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",
+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
-       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,
-       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"
@@ -8416,65 +8522,10 @@
   return bgp_show_neighbor_vty (vty, NULL, show_peer, argv[argc - 1]);
 }
 
-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)",
+DEFUN (show_bgp_instance_neighbors,
+       show_bgp_instance_neighbors_cmd,
+       "show bgp view WORD 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"
-       "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,
-       show_bgp_neighbors_peer_cmd,
-       "show bgp neighbors (A.B.C.D|X:X::X:X)",
-       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"
@@ -8483,16 +8534,7 @@
   return bgp_show_neighbor_vty (vty, argv[0], show_all, NULL);
 }
 
-ALIAS (show_ip_bgp_instance_neighbors,
-       show_bgp_instance_neighbors_cmd,
-       "show bgp view WORD neighbors",
-       SHOW_STR
-       BGP_STR
-       "BGP view\n"
-       "View name\n"
-       "Detailed information on TCP and BGP neighbor connections\n")
-
-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 @@
        "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 @@
   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 @@
 /* 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 @@
   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 @@
 }
 
 /* '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 @@
        "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 @@
        "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 @@
        "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 @@
        "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);
 
-ALIAS (show_bgp_instance_rsclient_summary,
+    return CMD_SUCCESS;
+}
+
+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 @@
        "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 @@
        "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 @@
 #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_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);
-#ifdef HAVE_IPV6
   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_bgp_instance_ipv4_safi_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_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);
-
-#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 (VIEW_NODE, &show_bgp_neighbors_cmd);
+  install_element (VIEW_NODE, &show_bgp_neighbors_peer_cmd);
+  install_element (VIEW_NODE, &show_bgp_instance_neighbors_peer_cmd);
+  install_element (RESTRICTED_NODE, &show_bgp_neighbors_peer_cmd);
+  install_element (RESTRICTED_NODE, &show_bgp_instance_neighbors_peer_cmd);
+  install_element (ENABLE_NODE, &show_bgp_neighbors_cmd);
+  install_element (ENABLE_NODE, &show_bgp_neighbors_peer_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);