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 */ |