diff options
| author | Paul Jakma <paul.jakma@sun.com> | 2006-03-30 13:20:48 +0000 | 
|---|---|---|
| committer | Paul Jakma <paul.jakma@sun.com> | 2006-03-30 13:20:48 +0000 | 
| commit | cbdfbaa51b600c7b217968b99a9b5a8fbf04bec4 (patch) | |
| tree | bb8ce6ac1da775d34796315b1c5ac82e477bbd13 /bgpd/bgp_table.h | |
| parent | 478ccfd61bd61fd6925c84811c2c0e893a38a38b (diff) | |
[bgpd] rearrange some structs for less padding, stats for table/attrs.
2006-03-12 Paul Jakma <paul.jakma@sun.com>
	* bgp_attr.h: (struct attr) rearrange fields to avoid
	  wasted padding between them as much as possible.
	  (attr_count,attr_unknown_count) export new functions to
	  return number of counts of cached attributes.
	* bgp_attr.c: (attr_count,attr_unknown_count) new functions to
	  return number of counts of cached attributes.
	* bgp_route.h: (struct bgp_info) rearrange fields to avoid
	  wasted padding.
	* bgp_table.h: (struct bgp_table) Add a count field, of number
	  of nodes in the table.
	  (struct bgp_node)  rearrange fields to avoid
	  wasted padding between them, though I don't think there
	  was any in this case.
	* bgp_table.c: (bgp_node_{delete,get}) Maintain the table node count.
	  (bgp_table_count) new function to access the table count.
Diffstat (limited to 'bgpd/bgp_table.h')
| -rw-r--r-- | bgpd/bgp_table.h | 10 | 
1 files changed, 5 insertions, 5 deletions
diff --git a/bgpd/bgp_table.h b/bgpd/bgp_table.h index e13022bb..62421e71 100644 --- a/bgpd/bgp_table.h +++ b/bgpd/bgp_table.h @@ -39,6 +39,8 @@ struct bgp_table    void *owner;    struct bgp_node *top; +   +  unsigned long count;  };  struct bgp_node @@ -51,18 +53,16 @@ struct bgp_node  #define l_left   link[0]  #define l_right  link[1] -  unsigned int lock; -    void *info;    struct bgp_adj_out *adj_out;    struct bgp_adj_in *adj_in; -  void *aggregate; -    struct bgp_node *prn; +  unsigned int lock; +    u_char flags;  #define BGP_NODE_PROCESS_SCHEDULED	(1 << 0)  }; @@ -84,5 +84,5 @@ extern struct bgp_node *bgp_node_match_ipv4 (struct bgp_table *,  extern struct bgp_node *bgp_node_match_ipv6 (struct bgp_table *,  					  struct in6_addr *);  #endif /* HAVE_IPV6 */ - +extern unsigned long bgp_table_count (struct bgp_table *);  #endif /* _QUAGGA_BGP_TABLE_H */  | 
