git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
patch-2.6.6-vs1.9.0
[linux-2.6.git]
/
net
/
ipv4
/
tcp_minisocks.c
diff --git
a/net/ipv4/tcp_minisocks.c
b/net/ipv4/tcp_minisocks.c
index
d4c0d84
..
a0a8422
100644
(file)
--- a/
net/ipv4/tcp_minisocks.c
+++ b/
net/ipv4/tcp_minisocks.c
@@
-362,6
+362,11
@@
void tcp_time_wait(struct sock *sk, int state, int timeo)
tw->tw_ts_recent_stamp = tp->ts_recent_stamp;
tw_dead_node_init(tw);
tw->tw_ts_recent_stamp = tp->ts_recent_stamp;
tw_dead_node_init(tw);
+ tw->tw_xid = sk->sk_xid;
+ tw->tw_vx_info = NULL;
+ tw->tw_nid = sk->sk_nid;
+ tw->tw_nx_info = NULL;
+
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
if (tw->tw_family == PF_INET6) {
struct ipv6_pinfo *np = inet6_sk(sk);
#if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE)
if (tw->tw_family == PF_INET6) {
struct ipv6_pinfo *np = inet6_sk(sk);
@@
-697,6
+702,8
@@
struct sock *tcp_create_openreq_child(struct sock *sk, struct open_request *req,
newsk->sk_state = TCP_SYN_RECV;
/* SANITY */
newsk->sk_state = TCP_SYN_RECV;
/* SANITY */
+ sock_vx_init(newsk);
+ sock_nx_init(newsk);
sk_node_init(&newsk->sk_node);
tcp_sk(newsk)->bind_hash = NULL;
sk_node_init(&newsk->sk_node);
tcp_sk(newsk)->bind_hash = NULL;
@@
-798,6
+805,10
@@
struct sock *tcp_create_openreq_child(struct sock *sk, struct open_request *req,
newsk->sk_err = 0;
newsk->sk_priority = 0;
atomic_set(&newsk->sk_refcnt, 2);
newsk->sk_err = 0;
newsk->sk_priority = 0;
atomic_set(&newsk->sk_refcnt, 2);
+
+ /* hmm, maybe from socket? */
+ set_vx_info(&newsk->sk_vx_info, current->vx_info);
+ set_nx_info(&newsk->sk_nx_info, current->nx_info);
#ifdef INET_REFCNT_DEBUG
atomic_inc(&inet_sock_nr);
#endif
#ifdef INET_REFCNT_DEBUG
atomic_inc(&inet_sock_nr);
#endif