aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@ghostprotocols.net>2005-08-09 23:01:14 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2005-08-29 18:38:48 -0400
commita55ebcc4c4532107ad9eee1c9bb698ab5f12c00f (patch)
tree964be5918610e6f89cc7f2fee48418979b48773b /include
parent77d8bf9c6208eb535f05718168ffcc476be0ca8c (diff)
[INET]: Move bind_hash from tcp_sk to inet_sk
This should really be in a inet_connection_sock, but I'm leaving it for a later optimization, when some more fields common to INET transport protocols now in tcp_sk or inet_sk will be chunked out into inet_connection_sock, for now its better to concentrate on getting the changes in the core merged to leave the DCCP tree with only DCCP specific code. Next changesets will take advantage of this move to generalise things like tcp_bind_hash, tcp_put_port, tcp_inherit_port, making the later receive a inet_hashinfo parameter, and even __tcp_tw_hashdance, etc in the future, when tcp_tw_bucket gets transformed into the struct timewait_sock hierarchy. tcp_destroy_sock also is eligible as soon as tcp_orphan_count gets moved to sk_prot. A cascade of incremental changes will ultimately make the tcp_lookup functions be fully generic. 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/ip.h2
-rw-r--r--include/linux/tcp.h1
-rw-r--r--include/net/tcp.h2
3 files changed, 3 insertions, 2 deletions
diff --git a/include/linux/ip.h b/include/linux/ip.h
index 33e8a19a1a0f..2c54bbd3da76 100644
--- a/include/linux/ip.h
+++ b/include/linux/ip.h
@@ -128,6 +128,7 @@ static inline struct inet_request_sock *inet_rsk(const struct request_sock *sk)
128 return (struct inet_request_sock *)sk; 128 return (struct inet_request_sock *)sk;
129} 129}
130 130
131struct inet_bind_bucket;
131struct ipv6_pinfo; 132struct ipv6_pinfo;
132 133
133struct inet_sock { 134struct inet_sock {
@@ -157,6 +158,7 @@ struct inet_sock {
157 int mc_index; /* Multicast device index */ 158 int mc_index; /* Multicast device index */
158 __u32 mc_addr; 159 __u32 mc_addr;
159 struct ip_mc_socklist *mc_list; /* Group array */ 160 struct ip_mc_socklist *mc_list; /* Group array */
161 struct inet_bind_bucket *bind_hash;
160 /* 162 /*
161 * Following members are used to retain the infomation to build 163 * Following members are used to retain the infomation to build
162 * an ip header on each ip fragmentation while the socket is corked. 164 * an ip header on each ip fragmentation while the socket is corked.
diff --git a/include/linux/tcp.h b/include/linux/tcp.h
index ec580a560e8c..e70ab19652db 100644
--- a/include/linux/tcp.h
+++ b/include/linux/tcp.h
@@ -258,7 +258,6 @@ struct tcp_sock {
258 __u32 snd_sml; /* Last byte of the most recently transmitted small packet */ 258 __u32 snd_sml; /* Last byte of the most recently transmitted small packet */
259 __u32 rcv_tstamp; /* timestamp of last received ACK (for keepalives) */ 259 __u32 rcv_tstamp; /* timestamp of last received ACK (for keepalives) */
260 __u32 lsndtime; /* timestamp of last sent data packet (for restart window) */ 260 __u32 lsndtime; /* timestamp of last sent data packet (for restart window) */
261 struct inet_bind_bucket *bind_hash;
262 /* Delayed ACK control data */ 261 /* Delayed ACK control data */
263 struct { 262 struct {
264 __u8 pending; /* ACK is pending */ 263 __u8 pending; /* ACK is pending */
diff --git a/include/net/tcp.h b/include/net/tcp.h
index ff5d30ac2b06..6c6c879e7e87 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -1266,7 +1266,7 @@ static __inline__ void tcp_set_state(struct sock *sk, int state)
1266 TCP_INC_STATS(TCP_MIB_ESTABRESETS); 1266 TCP_INC_STATS(TCP_MIB_ESTABRESETS);
1267 1267
1268 sk->sk_prot->unhash(sk); 1268 sk->sk_prot->unhash(sk);
1269 if (tcp_sk(sk)->bind_hash && 1269 if (inet_sk(sk)->bind_hash &&
1270 !(sk->sk_userlocks & SOCK_BINDPORT_LOCK)) 1270 !(sk->sk_userlocks & SOCK_BINDPORT_LOCK))
1271 tcp_put_port(sk); 1271 tcp_put_port(sk);
1272 /* fall through */ 1272 /* fall through */