diff options
Diffstat (limited to 'include/linux/tcp.h')
-rw-r--r-- | include/linux/tcp.h | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index b6c62d294380..4c5b63283377 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h | |||
@@ -106,6 +106,22 @@ enum { | |||
106 | #define TCP_THIN_LINEAR_TIMEOUTS 16 /* Use linear timeouts for thin streams*/ | 106 | #define TCP_THIN_LINEAR_TIMEOUTS 16 /* Use linear timeouts for thin streams*/ |
107 | #define TCP_THIN_DUPACK 17 /* Fast retrans. after 1 dupack */ | 107 | #define TCP_THIN_DUPACK 17 /* Fast retrans. after 1 dupack */ |
108 | #define TCP_USER_TIMEOUT 18 /* How long for loss retry before timeout */ | 108 | #define TCP_USER_TIMEOUT 18 /* How long for loss retry before timeout */ |
109 | #define TCP_REPAIR 19 /* TCP sock is under repair right now */ | ||
110 | #define TCP_REPAIR_QUEUE 20 | ||
111 | #define TCP_QUEUE_SEQ 21 | ||
112 | #define TCP_REPAIR_OPTIONS 22 | ||
113 | |||
114 | struct tcp_repair_opt { | ||
115 | __u32 opt_code; | ||
116 | __u32 opt_val; | ||
117 | }; | ||
118 | |||
119 | enum { | ||
120 | TCP_NO_QUEUE, | ||
121 | TCP_RECV_QUEUE, | ||
122 | TCP_SEND_QUEUE, | ||
123 | TCP_QUEUES_NR, | ||
124 | }; | ||
109 | 125 | ||
110 | /* for TCP_INFO socket option */ | 126 | /* for TCP_INFO socket option */ |
111 | #define TCPI_OPT_TIMESTAMPS 1 | 127 | #define TCPI_OPT_TIMESTAMPS 1 |
@@ -353,7 +369,11 @@ struct tcp_sock { | |||
353 | u8 nonagle : 4,/* Disable Nagle algorithm? */ | 369 | u8 nonagle : 4,/* Disable Nagle algorithm? */ |
354 | thin_lto : 1,/* Use linear timeouts for thin streams */ | 370 | thin_lto : 1,/* Use linear timeouts for thin streams */ |
355 | thin_dupack : 1,/* Fast retransmit on first dupack */ | 371 | thin_dupack : 1,/* Fast retransmit on first dupack */ |
356 | unused : 2; | 372 | repair : 1, |
373 | unused : 1; | ||
374 | u8 repair_queue; | ||
375 | u8 do_early_retrans:1,/* Enable RFC5827 early-retransmit */ | ||
376 | early_retrans_delayed:1; /* Delayed ER timer installed */ | ||
357 | 377 | ||
358 | /* RTT measurement */ | 378 | /* RTT measurement */ |
359 | u32 srtt; /* smoothed round trip time << 3 */ | 379 | u32 srtt; /* smoothed round trip time << 3 */ |
@@ -406,7 +426,7 @@ struct tcp_sock { | |||
406 | 426 | ||
407 | struct sk_buff_head out_of_order_queue; /* Out of order segments go here */ | 427 | struct sk_buff_head out_of_order_queue; /* Out of order segments go here */ |
408 | 428 | ||
409 | /* SACKs data, these 2 need to be together (see tcp_build_and_update_options) */ | 429 | /* SACKs data, these 2 need to be together (see tcp_options_write) */ |
410 | struct tcp_sack_block duplicate_sack[1]; /* D-SACK block */ | 430 | struct tcp_sack_block duplicate_sack[1]; /* D-SACK block */ |
411 | struct tcp_sack_block selective_acks[4]; /* The SACKS themselves*/ | 431 | struct tcp_sack_block selective_acks[4]; /* The SACKS themselves*/ |
412 | 432 | ||