diff options
author | Arnaldo Carvalho de Melo <acme@ghostprotocols.net> | 2005-08-09 23:11:56 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2005-08-29 18:49:29 -0400 |
commit | 295f7324ff8d9ea58b4d3ec93b1aaa1d80e048a9 (patch) | |
tree | 509c113d2622a28836303590ba1a40cecea59d3b /include | |
parent | 0a5578cf8e5e045aaa68643c17ce885426697c6b (diff) |
[ICSK]: Introduce reqsk_queue_prune from code in tcp_synack_timer
With this we're very close to getting all of the current TCP
refactorings in my dccp-2.6 tree merged, next changeset will export
some functions needed by the current DCCP code and then dccp-2.6.git
will be born!
Signed-off-by: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/tcp.h | 2 | ||||
-rw-r--r-- | include/net/inet_connection_sock.h | 2 | ||||
-rw-r--r-- | include/net/request_sock.h | 7 | ||||
-rw-r--r-- | include/net/tcp.h | 3 |
4 files changed, 12 insertions, 2 deletions
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index 800930fac388..620096840744 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h | |||
@@ -270,7 +270,7 @@ struct tcp_sock { | |||
270 | __u8 frto_counter; /* Number of new acks after RTO */ | 270 | __u8 frto_counter; /* Number of new acks after RTO */ |
271 | 271 | ||
272 | __u8 nonagle; /* Disable Nagle algorithm? */ | 272 | __u8 nonagle; /* Disable Nagle algorithm? */ |
273 | __u8 defer_accept; /* User waits for some data after accept() */ | 273 | /* ONE BYTE HOLE, TRY TO PACK */ |
274 | 274 | ||
275 | /* RTT measurement */ | 275 | /* RTT measurement */ |
276 | __u32 srtt; /* smoothed round trip time << 3 */ | 276 | __u32 srtt; /* smoothed round trip time << 3 */ |
diff --git a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h index a50f4a4b7b4b..692825fc8135 100644 --- a/include/net/inet_connection_sock.h +++ b/include/net/inet_connection_sock.h | |||
@@ -239,4 +239,6 @@ static inline void inet_csk_reqsk_queue_drop(struct sock *sk, | |||
239 | reqsk_free(req); | 239 | reqsk_free(req); |
240 | } | 240 | } |
241 | 241 | ||
242 | extern void inet_csk_listen_stop(struct sock *sk); | ||
243 | |||
242 | #endif /* _INET_CONNECTION_SOCK_H */ | 244 | #endif /* _INET_CONNECTION_SOCK_H */ |
diff --git a/include/net/request_sock.h b/include/net/request_sock.h index b7c7eecbe64d..447d287a38fd 100644 --- a/include/net/request_sock.h +++ b/include/net/request_sock.h | |||
@@ -97,6 +97,7 @@ struct listen_sock { | |||
97 | * | 97 | * |
98 | * @rskq_accept_head - FIFO head of established children | 98 | * @rskq_accept_head - FIFO head of established children |
99 | * @rskq_accept_tail - FIFO tail of established children | 99 | * @rskq_accept_tail - FIFO tail of established children |
100 | * @rskq_defer_accept - User waits for some data after accept() | ||
100 | * @syn_wait_lock - serializer | 101 | * @syn_wait_lock - serializer |
101 | * | 102 | * |
102 | * %syn_wait_lock is necessary only to avoid proc interface having to grab the main | 103 | * %syn_wait_lock is necessary only to avoid proc interface having to grab the main |
@@ -112,6 +113,8 @@ struct request_sock_queue { | |||
112 | struct request_sock *rskq_accept_head; | 113 | struct request_sock *rskq_accept_head; |
113 | struct request_sock *rskq_accept_tail; | 114 | struct request_sock *rskq_accept_tail; |
114 | rwlock_t syn_wait_lock; | 115 | rwlock_t syn_wait_lock; |
116 | u8 rskq_defer_accept; | ||
117 | /* 3 bytes hole, try to pack */ | ||
115 | struct listen_sock *listen_opt; | 118 | struct listen_sock *listen_opt; |
116 | }; | 119 | }; |
117 | 120 | ||
@@ -255,4 +258,8 @@ static inline void reqsk_queue_hash_req(struct request_sock_queue *queue, | |||
255 | write_unlock(&queue->syn_wait_lock); | 258 | write_unlock(&queue->syn_wait_lock); |
256 | } | 259 | } |
257 | 260 | ||
261 | extern void reqsk_queue_prune(struct request_sock_queue *queue, struct sock *parent, | ||
262 | const unsigned long interval, const unsigned long timeout, | ||
263 | const unsigned long max_rto, int max_retries); | ||
264 | |||
258 | #endif /* _REQUEST_SOCK_H */ | 265 | #endif /* _REQUEST_SOCK_H */ |
diff --git a/include/net/tcp.h b/include/net/tcp.h index 68f1ec1c583a..2423f059b62b 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
@@ -423,7 +423,8 @@ extern int tcp_recvmsg(struct kiocb *iocb, struct sock *sk, | |||
423 | size_t len, int nonblock, | 423 | size_t len, int nonblock, |
424 | int flags, int *addr_len); | 424 | int flags, int *addr_len); |
425 | 425 | ||
426 | extern int tcp_listen_start(struct sock *sk); | 426 | extern int inet_csk_listen_start(struct sock *sk, |
427 | const int nr_table_entries); | ||
427 | 428 | ||
428 | extern void tcp_parse_options(struct sk_buff *skb, | 429 | extern void tcp_parse_options(struct sk_buff *skb, |
429 | struct tcp_options_received *opt_rx, | 430 | struct tcp_options_received *opt_rx, |