aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/tcp.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/tcp.h')
-rw-r--r--include/linux/tcp.h50
1 files changed, 25 insertions, 25 deletions
diff --git a/include/linux/tcp.h b/include/linux/tcp.h
index 18e62e3d406f..9881295f3857 100644
--- a/include/linux/tcp.h
+++ b/include/linux/tcp.h
@@ -296,10 +296,9 @@ struct tcp_sock {
296 u32 rcv_ssthresh; /* Current window clamp */ 296 u32 rcv_ssthresh; /* Current window clamp */
297 297
298 u32 frto_highmark; /* snd_nxt when RTO occurred */ 298 u32 frto_highmark; /* snd_nxt when RTO occurred */
299 u8 reordering; /* Packet reordering metric. */ 299 u16 advmss; /* Advertised MSS */
300 u8 frto_counter; /* Number of new acks after RTO */ 300 u8 frto_counter; /* Number of new acks after RTO */
301 u8 nonagle; /* Disable Nagle algorithm? */ 301 u8 nonagle; /* Disable Nagle algorithm? */
302 u8 keepalive_probes; /* num of allowed keep alive probes */
303 302
304/* RTT measurement */ 303/* RTT measurement */
305 u32 srtt; /* smoothed round trip time << 3 */ 304 u32 srtt; /* smoothed round trip time << 3 */
@@ -310,6 +309,10 @@ struct tcp_sock {
310 309
311 u32 packets_out; /* Packets which are "in flight" */ 310 u32 packets_out; /* Packets which are "in flight" */
312 u32 retrans_out; /* Retransmitted packets out */ 311 u32 retrans_out; /* Retransmitted packets out */
312
313 u16 urg_data; /* Saved octet of OOB data and control flags */
314 u8 urg_mode; /* In urgent mode */
315 u8 ecn_flags; /* ECN status bits. */
313/* 316/*
314 * Options received (usually on last packet, some only on SYN packets). 317 * Options received (usually on last packet, some only on SYN packets).
315 */ 318 */
@@ -325,13 +328,24 @@ struct tcp_sock {
325 u32 snd_cwnd_used; 328 u32 snd_cwnd_used;
326 u32 snd_cwnd_stamp; 329 u32 snd_cwnd_stamp;
327 330
328 struct sk_buff_head out_of_order_queue; /* Out of order segments go here */
329
330 u32 rcv_wnd; /* Current receiver window */ 331 u32 rcv_wnd; /* Current receiver window */
331 u32 write_seq; /* Tail(+1) of data held in tcp send buffer */ 332 u32 write_seq; /* Tail(+1) of data held in tcp send buffer */
332 u32 pushed_seq; /* Last pushed seq, required to talk to windows */ 333 u32 pushed_seq; /* Last pushed seq, required to talk to windows */
334 u32 lost_out; /* Lost packets */
335 u32 sacked_out; /* SACK'd packets */
336 u32 fackets_out; /* FACK'd packets */
337 u32 tso_deferred;
338 u32 bytes_acked; /* Appropriate Byte Counting - RFC3465 */
333 339
334/* SACKs data */ 340 /* from STCP, retrans queue hinting */
341 struct sk_buff* lost_skb_hint;
342 struct sk_buff *scoreboard_skb_hint;
343 struct sk_buff *retransmit_skb_hint;
344 struct sk_buff *forward_skb_hint;
345
346 struct sk_buff_head out_of_order_queue; /* Out of order segments go here */
347
348 /* SACKs data, these 2 need to be together (see tcp_build_and_update_options) */
335 struct tcp_sack_block duplicate_sack[1]; /* D-SACK block */ 349 struct tcp_sack_block duplicate_sack[1]; /* D-SACK block */
336 struct tcp_sack_block selective_acks[4]; /* The SACKS themselves*/ 350 struct tcp_sack_block selective_acks[4]; /* The SACKS themselves*/
337 351
@@ -342,23 +356,14 @@ struct tcp_sock {
342 * sacked_out > 0) 356 * sacked_out > 0)
343 */ 357 */
344 358
345 /* from STCP, retrans queue hinting */
346 struct sk_buff* lost_skb_hint;
347
348 struct sk_buff *scoreboard_skb_hint;
349 struct sk_buff *retransmit_skb_hint;
350 struct sk_buff *forward_skb_hint;
351
352 int lost_cnt_hint; 359 int lost_cnt_hint;
353 int retransmit_cnt_hint; 360 int retransmit_cnt_hint;
354 361
355 u32 lost_retrans_low; /* Sent seq after any rxmit (lowest) */ 362 u32 lost_retrans_low; /* Sent seq after any rxmit (lowest) */
356 363
357 u16 advmss; /* Advertised MSS */ 364 u8 reordering; /* Packet reordering metric. */
365 u8 keepalive_probes; /* num of allowed keep alive probes */
358 u32 prior_ssthresh; /* ssthresh saved at recovery start */ 366 u32 prior_ssthresh; /* ssthresh saved at recovery start */
359 u32 lost_out; /* Lost packets */
360 u32 sacked_out; /* SACK'd packets */
361 u32 fackets_out; /* FACK'd packets */
362 u32 high_seq; /* snd_nxt at onset of congestion */ 367 u32 high_seq; /* snd_nxt at onset of congestion */
363 368
364 u32 retrans_stamp; /* Timestamp of the last retransmit, 369 u32 retrans_stamp; /* Timestamp of the last retransmit,
@@ -366,25 +371,18 @@ struct tcp_sock {
366 * the first SYN. */ 371 * the first SYN. */
367 u32 undo_marker; /* tracking retrans started here. */ 372 u32 undo_marker; /* tracking retrans started here. */
368 int undo_retrans; /* number of undoable retransmissions. */ 373 int undo_retrans; /* number of undoable retransmissions. */
374 u32 total_retrans; /* Total retransmits for entire connection */
375
369 u32 urg_seq; /* Seq of received urgent pointer */ 376 u32 urg_seq; /* Seq of received urgent pointer */
370 u16 urg_data; /* Saved octet of OOB data and control flags */
371 u8 urg_mode; /* In urgent mode */
372 u8 ecn_flags; /* ECN status bits. */
373 u32 snd_up; /* Urgent pointer */ 377 u32 snd_up; /* Urgent pointer */
374 378
375 u32 total_retrans; /* Total retransmits for entire connection */
376 u32 bytes_acked; /* Appropriate Byte Counting - RFC3465 */
377
378 unsigned int keepalive_time; /* time before keep alive takes place */ 379 unsigned int keepalive_time; /* time before keep alive takes place */
379 unsigned int keepalive_intvl; /* time interval between keep alive probes */ 380 unsigned int keepalive_intvl; /* time interval between keep alive probes */
380 int linger2;
381 381
382 struct tcp_deferred_accept_info defer_tcp_accept; 382 struct tcp_deferred_accept_info defer_tcp_accept;
383 383
384 unsigned long last_synq_overflow; 384 unsigned long last_synq_overflow;
385 385
386 u32 tso_deferred;
387
388/* Receiver side RTT estimation */ 386/* Receiver side RTT estimation */
389 struct { 387 struct {
390 u32 rtt; 388 u32 rtt;
@@ -412,6 +410,8 @@ struct tcp_sock {
412/* TCP MD5 Signagure Option information */ 410/* TCP MD5 Signagure Option information */
413 struct tcp_md5sig_info *md5sig_info; 411 struct tcp_md5sig_info *md5sig_info;
414#endif 412#endif
413
414 int linger2;
415}; 415};
416 416
417static inline struct tcp_sock *tcp_sk(const struct sock *sk) 417static inline struct tcp_sock *tcp_sk(const struct sock *sk)