patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / include / linux / tcp.h
index b651199..39e2d22 100644 (file)
@@ -183,6 +183,9 @@ struct tcp_info
        __u32   tcpi_snd_cwnd;
        __u32   tcpi_advmss;
        __u32   tcpi_reordering;
+
+       __u32   tcpi_rcv_rtt;
+       __u32   tcpi_rcv_space;
 };
 
 #ifdef __KERNEL__
@@ -351,11 +354,11 @@ struct tcp_opt {
        __u8    urg_mode;       /* In urgent mode               */
        __u32   snd_up;         /* Urgent pointer               */
 
-       /* The syn_wait_lock is necessary only to avoid tcp_get_info having
+       /* The syn_wait_lock is necessary only to avoid proc interface having
         * to grab the main lock sock while browsing the listening hash
         * (otherwise it's deadlock prone).
-        * This lock is acquired in read mode only from tcp_get_info() and
-        * it's acquired in write mode _only_ from code that is actively
+        * This lock is acquired in read mode only from listening_get_next()
+        * and it's acquired in write mode _only_ from code that is actively
         * changing the syn_wait_queue. All readers that are holding
         * the master sock lock don't need to grab this lock in read mode
         * too as the syn_wait_queue writes are always protected from
@@ -376,6 +379,20 @@ struct tcp_opt {
 
        unsigned long last_synq_overflow; 
 
+/* Receiver side RTT estimation */
+       struct {
+               __u32   rtt;
+               __u32   seq;
+               __u32   time;
+       } rcv_rtt_est;
+
+/* Receiver queue space */
+       struct {
+               int     space;
+               __u32   seq;
+               __u32   time;
+       } rcvq_space;
+
 /* TCP Westwood structure */
         struct {
                 __u32    bw_ns_est;        /* first bandwidth estimation..not too smoothed 8) */