modernize backfire 10.03 so it can be operational again
[openwrt-10.03/.git] / package / quagga / patches-upstream / 400-vpnv4_stat_fix.patch
diff --git a/package/quagga/patches-upstream/400-vpnv4_stat_fix.patch b/package/quagga/patches-upstream/400-vpnv4_stat_fix.patch
new file mode 100644 (file)
index 0000000..92ac45a
--- /dev/null
@@ -0,0 +1,37 @@
+From d1854f883508bb8d3637a85dbbb05e0c704552da Mon Sep 17 00:00:00 2001
+From: Donald Sharp <sharpd@cumulusnetworks.com>
+Date: Tue, 26 Jan 2016 04:38:53 +0000
+Subject: bgpd: Fix 'show bgp ipv4 vpnv4 statistics' cli.
+
+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 <sharpd@cumulusnetworks.com>
+Tested-by: NetDEF CI System <cisystem@netdef.org>
+---
+--- a/bgpd/bgp_route.c
++++ b/bgpd/bgp_route.c
+@@ -11794,7 +11794,8 @@ bgp_table_stats (struct vty *vty, struct
+   
+   if (!bgp->rib[afi][safi])
+     {
+-      vty_out (vty, "%% No RIB exists 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;
+     }
+   
+@@ -11908,7 +11909,7 @@ bgp_table_stats_vty (struct vty *vty, co
+           safi = SAFI_UNICAST;
+           break;
+       case 'v':
+-          safi =  SAFI_MPLS_LABELED_VPN;
++          safi =  SAFI_MPLS_VPN;
+           break;
+       case 'e':
+           safi = SAFI_ENCAP;