[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>
This commit is contained in:
committed by
David S. Miller
parent
0a5578cf8e
commit
295f7324ff
@ -239,4 +239,6 @@ static inline void inet_csk_reqsk_queue_drop(struct sock *sk,
|
||||
reqsk_free(req);
|
||||
}
|
||||
|
||||
extern void inet_csk_listen_stop(struct sock *sk);
|
||||
|
||||
#endif /* _INET_CONNECTION_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 */
|
||||
|
@ -423,7 +423,8 @@ extern int tcp_recvmsg(struct kiocb *iocb, struct sock *sk,
|
||||
size_t len, int nonblock,
|
||||
int flags, int *addr_len);
|
||||
|
||||
extern int tcp_listen_start(struct sock *sk);
|
||||
extern int inet_csk_listen_start(struct sock *sk,
|
||||
const int nr_table_entries);
|
||||
|
||||
extern void tcp_parse_options(struct sk_buff *skb,
|
||||
struct tcp_options_received *opt_rx,
|
||||
|
Reference in New Issue
Block a user