summaryrefslogtreecommitdiff
path: root/bgpd/bgp_route.h
diff options
context:
space:
mode:
authorPaul Jakma <paul.jakma@sun.com>2006-03-30 13:20:48 +0000
committerPaul Jakma <paul.jakma@sun.com>2006-03-30 13:20:48 +0000
commitcbdfbaa51b600c7b217968b99a9b5a8fbf04bec4 (patch)
treebb8ce6ac1da775d34796315b1c5ac82e477bbd13 /bgpd/bgp_route.h
parent478ccfd61bd61fd6925c84811c2c0e893a38a38b (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_route.h')
-rw-r--r--bgpd/bgp_route.h58
1 files changed, 29 insertions, 29 deletions
diff --git a/bgpd/bgp_route.h b/bgpd/bgp_route.h
index 24be30ff..e5f3ae59 100644
--- a/bgpd/bgp_route.h
+++ b/bgpd/bgp_route.h
@@ -29,20 +29,27 @@ struct bgp_info
struct bgp_info *next;
struct bgp_info *prev;
+ /* Peer structure. */
+ struct peer *peer;
+
+ /* Attribute structure. */
+ struct attr *attr;
+
+ /* Pointer to dampening structure. */
+ struct bgp_damp_info *damp_info;
+
+ /* Uptime. */
+ time_t uptime;
+
+ /* This route is suppressed with aggregation. */
+ int suppress;
+
+ /* Nexthop reachability check. */
+ u_int32_t igpmetric;
+
/* reference count */
unsigned int lock;
- /* BGP route type. This can be static, RIP, OSPF, BGP etc. */
- u_char type;
-
- /* When above type is BGP. This sub type specify BGP sub type
- information. */
- u_char sub_type;
-#define BGP_ROUTE_NORMAL 0
-#define BGP_ROUTE_STATIC 1
-#define BGP_ROUTE_AGGREGATE 2
-#define BGP_ROUTE_REDISTRIBUTE 3
-
/* BGP information status. */
u_int16_t flags;
#define BGP_INFO_IGP_CHANGED (1 << 0)
@@ -57,26 +64,19 @@ struct bgp_info
#define BGP_INFO_REMOVED (1 << 9)
#define BGP_INFO_COUNTED (1 << 10)
- /* Peer structure. */
- struct peer *peer;
-
- /* Attribute structure. */
- struct attr *attr;
-
- /* This route is suppressed with aggregation. */
- int suppress;
-
- /* Nexthop reachability check. */
- u_int32_t igpmetric;
-
- /* Uptime. */
- time_t uptime;
-
- /* Pointer to dampening structure. */
- struct bgp_damp_info *damp_info;
-
/* MPLS label. */
u_char tag[3];
+
+ /* BGP route type. This can be static, RIP, OSPF, BGP etc. */
+ u_char type;
+
+ /* When above type is BGP. This sub type specify BGP sub type
+ information. */
+ u_char sub_type;
+#define BGP_ROUTE_NORMAL 0
+#define BGP_ROUTE_STATIC 1
+#define BGP_ROUTE_AGGREGATE 2
+#define BGP_ROUTE_REDISTRIBUTE 3
};
/* BGP static route configuration. */