When attempting to use the 'show bgp ipv4 vpnv4 statistics' cli, the safi
choosen is BGP_MPLS_LABELED_VPN which is #defined to 128.  The afi/safi
combination is fed to bgp->rib, which limits the size of the safi to 
BGP_SAFI_MAX
which is #defined to 5.   The correct value to use is BGP_MPLS_VPN

The bgp code differentiates between the actual safi value for 
BGP_MPLS_LABELED_VPN
used defined by RFC 4364, to a internal SAFI value used to limit array size.

Signed-off-by: Donald Sharp <[email protected]>
---
 bgpd/bgp_route.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 316fa5a..f669c53 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -9513,7 +9513,8 @@ bgp_table_stats (struct vty *vty, struct bgp *bgp, afi_t 
afi, safi_t safi)
   
   if (!bgp->rib[afi][safi])
     {
-      vty_out (vty, "%% No RIB exist for the AFI/SAFI%s", VTY_NEWLINE);
+      vty_out (vty, "%% No RIB exists for the specified AFI(%d)/SAFI(%d)%s",
+              afi, safi, VTY_NEWLINE);
       return CMD_WARNING;
     }
   
@@ -9624,7 +9625,7 @@ bgp_table_stats_vty (struct vty *vty, const char *name,
       else if (strncmp (safi_str, "u", 1) == 0)
         safi = SAFI_UNICAST;
       else if (strncmp (safi_str, "vpnv4", 5) == 0 || strncmp (safi_str, 
"vpnv6", 5) == 0)
-        safi = SAFI_MPLS_LABELED_VPN;
+        safi = SAFI_MPLS_VPN;
       else
         {
           vty_out (vty, "%% Invalid subsequent address family %s%s",
-- 
1.9.1


_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev

Reply via email to