[bgpd] Fix peer prefix counts and make it slightly more robust

2006-02-05 Paul Jakma <paul.jakma@sun.com>

	* bgp_route.h: Add BGP_INFO_COUNTED to track whether
	  prefix has been counted or not.
	* bgp_route.c: (bgp_pcount_{inc,dec}rement) new helpers, to
	  centralise inc/dec of prefix-count,
	  (bgp_rib_remove) Remove pcount decrement, use helper.
	  (bgp_rib_withdraw) ditto, additionally use previous function
	  too.
	  (bgp_update_main) Use pcount helpers.
	  (bgp_clear_route_node) ditto, aslo REMOVED routes don't need
	  clearing.
diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h
index aa2c59e..24be30f 100644
--- a/bgpd/bgp_route.h
+++ b/bgpd/bgp_route.h
@@ -55,6 +55,7 @@
 #define BGP_INFO_DMED_SELECTED  (1 << 7)
 #define BGP_INFO_STALE          (1 << 8)
 #define BGP_INFO_REMOVED        (1 << 9)
+#define BGP_INFO_COUNTED	(1 << 10)
 
   /* Peer structure.  */
   struct peer *peer;