inetpeer: Add metrics storage to inetpeer entries.
authorDavid S. Miller <davem@davemloft.net>
Thu, 27 Jan 2011 04:55:53 +0000 (20:55 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 27 Jan 2011 21:48:26 +0000 (13:48 -0800)
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/inetpeer.h

index 599d96e..2af0c63 100644 (file)
@@ -11,6 +11,7 @@
 #include <linux/init.h>
 #include <linux/jiffies.h>
 #include <linux/spinlock.h>
+#include <linux/rtnetlink.h>
 #include <net/ipv6.h>
 #include <asm/atomic.h>
 
@@ -33,8 +34,8 @@ struct inet_peer {
        atomic_t                refcnt;
        /*
         * Once inet_peer is queued for deletion (refcnt == -1), following fields
-        * are not available: rid, ip_id_count, tcp_ts, tcp_ts_stamp
-        * We can share memory with rcu_head to keep inet_peer small
+        * are not available: rid, ip_id_count, tcp_ts, tcp_ts_stamp, metrics
+        * We can share memory with rcu_head to help keep inet_peer small.
         */
        union {
                struct {
@@ -42,6 +43,7 @@ struct inet_peer {
                        atomic_t        ip_id_count;    /* IP ID for the next packet */
                        __u32           tcp_ts;
                        __u32           tcp_ts_stamp;
+                       u32             metrics[RTAX_MAX];
                };
                struct rcu_head         rcu;
        };