aboutsummaryrefslogtreecommitdiffstats
path: root/include/net
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@ghostprotocols.net>2005-08-09 23:11:56 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2005-08-29 18:49:29 -0400
commit295f7324ff8d9ea58b4d3ec93b1aaa1d80e048a9 (patch)
tree509c113d2622a28836303590ba1a40cecea59d3b /include/net
parent0a5578cf8e5e045aaa68643c17ce885426697c6b (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/net')
-rw-r--r--include/net/inet_connection_sock.h2
-rw-r--r--include/net/request_sock.h7
-rw-r--r--include/net/tcp.h3
3 files changed, 11 insertions, 1 deletions
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
242extern 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
261extern 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
426extern int tcp_listen_start(struct sock *sk); 426extern int inet_csk_listen_start(struct sock *sk,
427 const int nr_table_entries);
427 428
428extern void tcp_parse_options(struct sk_buff *skb, 429extern void tcp_parse_options(struct sk_buff *skb,
429 struct tcp_options_received *opt_rx, 430 struct tcp_options_received *opt_rx,