summaryrefslogtreecommitdiffstats
path: root/include/net/request_sock.h
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@ghostprotocols.net>2005-08-10 05:11:56 +0200
committerDavid S. Miller <davem@sunset.davemloft.net>2005-08-30 00:49:29 +0200
commit295f7324ff8d9ea58b4d3ec93b1aaa1d80e048a9 (patch)
tree509c113d2622a28836303590ba1a40cecea59d3b /include/net/request_sock.h
parent[ICSK]: Generalise tcp_listen_{start,stop} (diff)
downloadlinux-295f7324ff8d9ea58b4d3ec93b1aaa1d80e048a9.tar.xz
linux-295f7324ff8d9ea58b4d3ec93b1aaa1d80e048a9.zip
[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/request_sock.h')
-rw-r--r--include/net/request_sock.h7
1 files changed, 7 insertions, 0 deletions
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 {
*
* @rskq_accept_head - FIFO head of established children
* @rskq_accept_tail - FIFO tail of established children
+ * @rskq_defer_accept - User waits for some data after accept()
* @syn_wait_lock - serializer
*
* %syn_wait_lock is necessary only to avoid proc interface having to grab the main
@@ -112,6 +113,8 @@ struct request_sock_queue {
struct request_sock *rskq_accept_head;
struct request_sock *rskq_accept_tail;
rwlock_t syn_wait_lock;
+ u8 rskq_defer_accept;
+ /* 3 bytes hole, try to pack */
struct listen_sock *listen_opt;
};
@@ -255,4 +258,8 @@ static inline void reqsk_queue_hash_req(struct request_sock_queue *queue,
write_unlock(&queue->syn_wait_lock);
}
+extern void reqsk_queue_prune(struct request_sock_queue *queue, struct sock *parent,
+ const unsigned long interval, const unsigned long timeout,
+ const unsigned long max_rto, int max_retries);
+
#endif /* _REQUEST_SOCK_H */