[bgpd] RIB statistics address space size shouldnt double count space

2006-09-14 Paul Jakma <paul.jakma@sun.com>

	* bgp_route.c: (bgp_table_stats_walker) Address space announced
	  should only count top-level unaggregateable prefixes, to
	  avoid falling afoul of anti-dodgy-accounting regulations
	  in various jurisdictions.. ;)
diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c
index 5dde41d..7cf8643 100644
--- a/bgpd/bgp_route.c
+++ b/bgpd/bgp_route.c
@@ -8522,14 +8522,15 @@
         prn = prn->parent;
       
       if (prn == NULL || prn == top)
-        ts->counts[BGP_STATS_UNAGGREGATEABLE]++;
+        {
+          ts->counts[BGP_STATS_UNAGGREGATEABLE]++;
+          /* announced address space */
+          if (space)
+            ts->counts[BGP_STATS_SPACE] += 1 << (space - rn->p.prefixlen);
+        }
       else if (prn->info)
         ts->counts[BGP_STATS_MAX_AGGREGATEABLE]++;
       
-      /* announced address space */
-      if (space)
-        ts->counts[BGP_STATS_SPACE] += 1 << (space - rn->p.prefixlen);
-      
       for (ri = rn->info; ri; ri = ri->next)
         {
           rinum++;