diff options
author | Pavel Emelyanov <xemul@openvz.org> | 2008-03-22 19:50:58 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-03-22 19:50:58 -0400 |
commit | 39d8cda76cfb1178455f9d196b39e773878e6c05 (patch) | |
tree | b58af892ccb3fd232078a87148c1dc9622be0c84 /net | |
parent | 22aba383ce52f8ca8740f9a74dc66b1b68138813 (diff) |
[SOCK]: Add udp_hash member to struct proto.
Inspired by the commit ab1e0a13 ([SOCK] proto: Add hashinfo member to
struct proto) from Arnaldo, I made similar thing for UDP/-Lite IPv4
and -v6 protocols.
The result is not that exciting, but it removes some levels of
indirection in udpxxx_get_port and saves some space in code and text.
The first step is to union existing hashinfo and new udp_hash on the
struct proto and give a name to this union, since future initialization
of tcpxxx_prot, dccp_vx_protinfo and udpxxx_protinfo will cause gcc
warning about inability to initialize anonymous member this way.
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/dccp/ipv4.c | 2 | ||||
-rw-r--r-- | net/dccp/ipv6.c | 2 | ||||
-rw-r--r-- | net/ipv4/inet_connection_sock.c | 2 | ||||
-rw-r--r-- | net/ipv4/inet_hashtables.c | 8 | ||||
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 2 | ||||
-rw-r--r-- | net/ipv6/inet6_hashtables.c | 2 | ||||
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 2 |
7 files changed, 10 insertions, 10 deletions
diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c index 17ad69e90e48..4ca8b0c93c80 100644 --- a/net/dccp/ipv4.c +++ b/net/dccp/ipv4.c | |||
@@ -941,7 +941,7 @@ static struct proto dccp_v4_prot = { | |||
941 | .obj_size = sizeof(struct dccp_sock), | 941 | .obj_size = sizeof(struct dccp_sock), |
942 | .rsk_prot = &dccp_request_sock_ops, | 942 | .rsk_prot = &dccp_request_sock_ops, |
943 | .twsk_prot = &dccp_timewait_sock_ops, | 943 | .twsk_prot = &dccp_timewait_sock_ops, |
944 | .hashinfo = &dccp_hashinfo, | 944 | .h.hashinfo = &dccp_hashinfo, |
945 | #ifdef CONFIG_COMPAT | 945 | #ifdef CONFIG_COMPAT |
946 | .compat_setsockopt = compat_dccp_setsockopt, | 946 | .compat_setsockopt = compat_dccp_setsockopt, |
947 | .compat_getsockopt = compat_dccp_getsockopt, | 947 | .compat_getsockopt = compat_dccp_getsockopt, |
diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c index 1a5e50b90677..2fec1af1a8c3 100644 --- a/net/dccp/ipv6.c +++ b/net/dccp/ipv6.c | |||
@@ -1126,7 +1126,7 @@ static struct proto dccp_v6_prot = { | |||
1126 | .obj_size = sizeof(struct dccp6_sock), | 1126 | .obj_size = sizeof(struct dccp6_sock), |
1127 | .rsk_prot = &dccp6_request_sock_ops, | 1127 | .rsk_prot = &dccp6_request_sock_ops, |
1128 | .twsk_prot = &dccp6_timewait_sock_ops, | 1128 | .twsk_prot = &dccp6_timewait_sock_ops, |
1129 | .hashinfo = &dccp_hashinfo, | 1129 | .h.hashinfo = &dccp_hashinfo, |
1130 | #ifdef CONFIG_COMPAT | 1130 | #ifdef CONFIG_COMPAT |
1131 | .compat_setsockopt = compat_dccp_setsockopt, | 1131 | .compat_setsockopt = compat_dccp_setsockopt, |
1132 | .compat_getsockopt = compat_dccp_getsockopt, | 1132 | .compat_getsockopt = compat_dccp_getsockopt, |
diff --git a/net/ipv4/inet_connection_sock.c b/net/ipv4/inet_connection_sock.c index cc1a1859a61b..f9c5c4def1ba 100644 --- a/net/ipv4/inet_connection_sock.c +++ b/net/ipv4/inet_connection_sock.c | |||
@@ -80,7 +80,7 @@ EXPORT_SYMBOL_GPL(inet_csk_bind_conflict); | |||
80 | */ | 80 | */ |
81 | int inet_csk_get_port(struct sock *sk, unsigned short snum) | 81 | int inet_csk_get_port(struct sock *sk, unsigned short snum) |
82 | { | 82 | { |
83 | struct inet_hashinfo *hashinfo = sk->sk_prot->hashinfo; | 83 | struct inet_hashinfo *hashinfo = sk->sk_prot->h.hashinfo; |
84 | struct inet_bind_hashbucket *head; | 84 | struct inet_bind_hashbucket *head; |
85 | struct hlist_node *node; | 85 | struct hlist_node *node; |
86 | struct inet_bind_bucket *tb; | 86 | struct inet_bind_bucket *tb; |
diff --git a/net/ipv4/inet_hashtables.c b/net/ipv4/inet_hashtables.c index 1aba606f6bbb..8cd1ad9b9111 100644 --- a/net/ipv4/inet_hashtables.c +++ b/net/ipv4/inet_hashtables.c | |||
@@ -68,7 +68,7 @@ void inet_bind_hash(struct sock *sk, struct inet_bind_bucket *tb, | |||
68 | */ | 68 | */ |
69 | static void __inet_put_port(struct sock *sk) | 69 | static void __inet_put_port(struct sock *sk) |
70 | { | 70 | { |
71 | struct inet_hashinfo *hashinfo = sk->sk_prot->hashinfo; | 71 | struct inet_hashinfo *hashinfo = sk->sk_prot->h.hashinfo; |
72 | const int bhash = inet_bhashfn(inet_sk(sk)->num, hashinfo->bhash_size); | 72 | const int bhash = inet_bhashfn(inet_sk(sk)->num, hashinfo->bhash_size); |
73 | struct inet_bind_hashbucket *head = &hashinfo->bhash[bhash]; | 73 | struct inet_bind_hashbucket *head = &hashinfo->bhash[bhash]; |
74 | struct inet_bind_bucket *tb; | 74 | struct inet_bind_bucket *tb; |
@@ -318,7 +318,7 @@ static inline u32 inet_sk_port_offset(const struct sock *sk) | |||
318 | 318 | ||
319 | void __inet_hash_nolisten(struct sock *sk) | 319 | void __inet_hash_nolisten(struct sock *sk) |
320 | { | 320 | { |
321 | struct inet_hashinfo *hashinfo = sk->sk_prot->hashinfo; | 321 | struct inet_hashinfo *hashinfo = sk->sk_prot->h.hashinfo; |
322 | struct hlist_head *list; | 322 | struct hlist_head *list; |
323 | rwlock_t *lock; | 323 | rwlock_t *lock; |
324 | struct inet_ehash_bucket *head; | 324 | struct inet_ehash_bucket *head; |
@@ -339,7 +339,7 @@ EXPORT_SYMBOL_GPL(__inet_hash_nolisten); | |||
339 | 339 | ||
340 | static void __inet_hash(struct sock *sk) | 340 | static void __inet_hash(struct sock *sk) |
341 | { | 341 | { |
342 | struct inet_hashinfo *hashinfo = sk->sk_prot->hashinfo; | 342 | struct inet_hashinfo *hashinfo = sk->sk_prot->h.hashinfo; |
343 | struct hlist_head *list; | 343 | struct hlist_head *list; |
344 | rwlock_t *lock; | 344 | rwlock_t *lock; |
345 | 345 | ||
@@ -372,7 +372,7 @@ EXPORT_SYMBOL_GPL(inet_hash); | |||
372 | void inet_unhash(struct sock *sk) | 372 | void inet_unhash(struct sock *sk) |
373 | { | 373 | { |
374 | rwlock_t *lock; | 374 | rwlock_t *lock; |
375 | struct inet_hashinfo *hashinfo = sk->sk_prot->hashinfo; | 375 | struct inet_hashinfo *hashinfo = sk->sk_prot->h.hashinfo; |
376 | 376 | ||
377 | if (sk_unhashed(sk)) | 377 | if (sk_unhashed(sk)) |
378 | goto out; | 378 | goto out; |
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 167a0f557531..1a47719a55ad 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -2468,7 +2468,7 @@ struct proto tcp_prot = { | |||
2468 | .obj_size = sizeof(struct tcp_sock), | 2468 | .obj_size = sizeof(struct tcp_sock), |
2469 | .twsk_prot = &tcp_timewait_sock_ops, | 2469 | .twsk_prot = &tcp_timewait_sock_ops, |
2470 | .rsk_prot = &tcp_request_sock_ops, | 2470 | .rsk_prot = &tcp_request_sock_ops, |
2471 | .hashinfo = &tcp_hashinfo, | 2471 | .h.hashinfo = &tcp_hashinfo, |
2472 | #ifdef CONFIG_COMPAT | 2472 | #ifdef CONFIG_COMPAT |
2473 | .compat_setsockopt = compat_tcp_setsockopt, | 2473 | .compat_setsockopt = compat_tcp_setsockopt, |
2474 | .compat_getsockopt = compat_tcp_getsockopt, | 2474 | .compat_getsockopt = compat_tcp_getsockopt, |
diff --git a/net/ipv6/inet6_hashtables.c b/net/ipv6/inet6_hashtables.c index 99fd25f7f005..c0c8d2d17682 100644 --- a/net/ipv6/inet6_hashtables.c +++ b/net/ipv6/inet6_hashtables.c | |||
@@ -24,7 +24,7 @@ | |||
24 | 24 | ||
25 | void __inet6_hash(struct sock *sk) | 25 | void __inet6_hash(struct sock *sk) |
26 | { | 26 | { |
27 | struct inet_hashinfo *hashinfo = sk->sk_prot->hashinfo; | 27 | struct inet_hashinfo *hashinfo = sk->sk_prot->h.hashinfo; |
28 | struct hlist_head *list; | 28 | struct hlist_head *list; |
29 | rwlock_t *lock; | 29 | rwlock_t *lock; |
30 | 30 | ||
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 56d0cea7d578..8dd72966ff78 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
@@ -2172,7 +2172,7 @@ struct proto tcpv6_prot = { | |||
2172 | .obj_size = sizeof(struct tcp6_sock), | 2172 | .obj_size = sizeof(struct tcp6_sock), |
2173 | .twsk_prot = &tcp6_timewait_sock_ops, | 2173 | .twsk_prot = &tcp6_timewait_sock_ops, |
2174 | .rsk_prot = &tcp6_request_sock_ops, | 2174 | .rsk_prot = &tcp6_request_sock_ops, |
2175 | .hashinfo = &tcp_hashinfo, | 2175 | .h.hashinfo = &tcp_hashinfo, |
2176 | #ifdef CONFIG_COMPAT | 2176 | #ifdef CONFIG_COMPAT |
2177 | .compat_setsockopt = compat_tcp_setsockopt, | 2177 | .compat_setsockopt = compat_tcp_setsockopt, |
2178 | .compat_getsockopt = compat_tcp_getsockopt, | 2178 | .compat_getsockopt = compat_tcp_getsockopt, |