diff options
Diffstat (limited to 'include/net/request_sock.h')
| -rw-r--r-- | include/net/request_sock.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/include/net/request_sock.h b/include/net/request_sock.h index b01d8dd9ee7c..a51dbd17c2de 100644 --- a/include/net/request_sock.h +++ b/include/net/request_sock.h | |||
| @@ -49,13 +49,16 @@ struct request_sock_ops { | |||
| 49 | struct request_sock *req); | 49 | struct request_sock *req); |
| 50 | }; | 50 | }; |
| 51 | 51 | ||
| 52 | extern int inet_rtx_syn_ack(struct sock *parent, struct request_sock *req); | ||
| 53 | |||
| 52 | /* struct request_sock - mini sock to represent a connection request | 54 | /* struct request_sock - mini sock to represent a connection request |
| 53 | */ | 55 | */ |
| 54 | struct request_sock { | 56 | struct request_sock { |
| 55 | struct request_sock *dl_next; /* Must be first member! */ | 57 | struct request_sock *dl_next; /* Must be first member! */ |
| 56 | u16 mss; | 58 | u16 mss; |
| 57 | u8 retrans; | 59 | u8 num_retrans; /* number of retransmits */ |
| 58 | u8 cookie_ts; /* syncookie: encode tcpopts in timestamp */ | 60 | u8 cookie_ts:1; /* syncookie: encode tcpopts in timestamp */ |
| 61 | u8 num_timeout:7; /* number of timeouts */ | ||
| 59 | /* The following two fields can be easily recomputed I think -AK */ | 62 | /* The following two fields can be easily recomputed I think -AK */ |
| 60 | u32 window_clamp; /* window clamp at creation time */ | 63 | u32 window_clamp; /* window clamp at creation time */ |
| 61 | u32 rcv_wnd; /* rcv_wnd offered first time */ | 64 | u32 rcv_wnd; /* rcv_wnd offered first time */ |
| @@ -231,7 +234,7 @@ static inline int reqsk_queue_removed(struct request_sock_queue *queue, | |||
| 231 | { | 234 | { |
| 232 | struct listen_sock *lopt = queue->listen_opt; | 235 | struct listen_sock *lopt = queue->listen_opt; |
| 233 | 236 | ||
| 234 | if (req->retrans == 0) | 237 | if (req->num_timeout == 0) |
| 235 | --lopt->qlen_young; | 238 | --lopt->qlen_young; |
| 236 | 239 | ||
| 237 | return --lopt->qlen; | 240 | return --lopt->qlen; |
| @@ -269,7 +272,8 @@ static inline void reqsk_queue_hash_req(struct request_sock_queue *queue, | |||
| 269 | struct listen_sock *lopt = queue->listen_opt; | 272 | struct listen_sock *lopt = queue->listen_opt; |
| 270 | 273 | ||
| 271 | req->expires = jiffies + timeout; | 274 | req->expires = jiffies + timeout; |
| 272 | req->retrans = 0; | 275 | req->num_retrans = 0; |
| 276 | req->num_timeout = 0; | ||
| 273 | req->sk = NULL; | 277 | req->sk = NULL; |
| 274 | req->dl_next = lopt->syn_table[hash]; | 278 | req->dl_next = lopt->syn_table[hash]; |
| 275 | 279 | ||
