bgpd: encap show commands

Signed-off-by: Lou Berger <lberger@labn.net>
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);