net: Avoid extra wakeups of threads blocked in wait_for_packet()
[safe/jmp/linux-2.6] / include / linux / tcp.h
index 2e25573..9d5078b 100644 (file)
@@ -69,16 +69,16 @@ union tcp_word_hdr {
 #define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3]) 
 
 enum { 
-       TCP_FLAG_CWR = __constant_htonl(0x00800000), 
-       TCP_FLAG_ECE = __constant_htonl(0x00400000), 
-       TCP_FLAG_URG = __constant_htonl(0x00200000), 
-       TCP_FLAG_ACK = __constant_htonl(0x00100000), 
-       TCP_FLAG_PSH = __constant_htonl(0x00080000), 
-       TCP_FLAG_RST = __constant_htonl(0x00040000), 
-       TCP_FLAG_SYN = __constant_htonl(0x00020000), 
-       TCP_FLAG_FIN = __constant_htonl(0x00010000),
-       TCP_RESERVED_BITS = __constant_htonl(0x0F000000),
-       TCP_DATA_OFFSET = __constant_htonl(0xF0000000)
+       TCP_FLAG_CWR = __cpu_to_be32(0x00800000),
+       TCP_FLAG_ECE = __cpu_to_be32(0x00400000),
+       TCP_FLAG_URG = __cpu_to_be32(0x00200000),
+       TCP_FLAG_ACK = __cpu_to_be32(0x00100000),
+       TCP_FLAG_PSH = __cpu_to_be32(0x00080000),
+       TCP_FLAG_RST = __cpu_to_be32(0x00040000),
+       TCP_FLAG_SYN = __cpu_to_be32(0x00020000),
+       TCP_FLAG_FIN = __cpu_to_be32(0x00010000),
+       TCP_RESERVED_BITS = __cpu_to_be32(0x0F000000),
+       TCP_DATA_OFFSET = __cpu_to_be32(0xF0000000)
 }; 
 
 /* TCP socket options */
@@ -218,7 +218,6 @@ struct tcp_options_received {
                snd_wscale : 4, /* Window scaling received from sender  */
                rcv_wscale : 4; /* Window scaling to send to receiver   */
 /*     SACKs data      */
-       u8      eff_sacks;      /* Size of SACK array to send with next packet */
        u8      num_sacks;      /* Number of SACK blocks                */
        u16     user_mss;       /* mss requested by user in ioctl */
        u16     mss_clamp;      /* Maximal mss, negotiated at connection setup */
@@ -249,7 +248,7 @@ struct tcp_sock {
        /* inet_connection_sock has to be the first member of tcp_sock */
        struct inet_connection_sock     inet_conn;
        u16     tcp_header_len; /* Bytes of tcp header to send          */
-       u16     xmit_size_goal; /* Goal for segmenting output packets   */
+       u16     xmit_size_goal_segs; /* Goal for segmenting output packets */
 
 /*
  *     Header prediction flags
@@ -312,8 +311,11 @@ struct tcp_sock {
        u32     retrans_out;    /* Retransmitted packets out            */
 
        u16     urg_data;       /* Saved octet of OOB data and control flags */
-       u8      urg_mode;       /* In urgent mode               */
        u8      ecn_flags;      /* ECN status bits.                     */
+       u8      reordering;     /* Packet reordering metric.            */
+       u32     snd_up;         /* Urgent pointer               */
+
+       u8      keepalive_probes; /* num of allowed keep alive probes   */
 /*
  *      Options received (usually on last packet, some only on SYN packets).
  */
@@ -342,7 +344,6 @@ struct tcp_sock {
        struct sk_buff* lost_skb_hint;
        struct sk_buff *scoreboard_skb_hint;
        struct sk_buff *retransmit_skb_hint;
-       struct sk_buff *forward_skb_hint;
 
        struct sk_buff_head     out_of_order_queue; /* Out of order segments go here */
 
@@ -358,12 +359,10 @@ struct tcp_sock {
                                         */
 
        int     lost_cnt_hint;
-       int     retransmit_cnt_hint;
+       u32     retransmit_high;        /* L-bits may be on up to this seqno */
 
        u32     lost_retrans_low;       /* Sent seq after any rxmit (lowest) */
 
-       u8      reordering;     /* Packet reordering metric.            */
-       u8      keepalive_probes; /* num of allowed keep alive probes   */
        u32     prior_ssthresh; /* ssthresh saved at recovery start     */
        u32     high_seq;       /* snd_nxt at onset of congestion       */
 
@@ -375,8 +374,6 @@ struct tcp_sock {
        u32     total_retrans;  /* Total retransmits for entire connection */
 
        u32     urg_seq;        /* Seq of received urgent pointer */
-       u32     snd_up;         /* Urgent pointer               */
-
        unsigned int            keepalive_time;   /* time before keep alive takes place */
        unsigned int            keepalive_intvl;  /* time interval between keep alive probes */