inet: includes a sock_common in request_sock
authorEric Dumazet <edumazet@google.com>
Wed, 9 Oct 2013 22:21:29 +0000 (15:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 10 Oct 2013 04:08:07 +0000 (00:08 -0400)
commit634fb979e8f3a70f04c1f2f519d0cd1142eb5c1a
treeffd7f7ef4a313c94859180d1bc20f2713a11f987
parent8a29111c7ca68d928dfab58636f3f6acf0ac04f7
inet: includes a sock_common in request_sock

TCP listener refactoring, part 5 :

We want to be able to insert request sockets (SYN_RECV) into main
ehash table instead of the per listener hash table to allow RCU
lookups and remove listener lock contention.

This patch includes the needed struct sock_common in front
of struct request_sock

This means there is no more inet6_request_sock IPv6 specific
structure.

Following inet_request_sock fields were renamed as they became
macros to reference fields from struct sock_common.
Prefix ir_ was chosen to avoid name collisions.

loc_port   -> ir_loc_port
loc_addr   -> ir_loc_addr
rmt_addr   -> ir_rmt_addr
rmt_port   -> ir_rmt_port
iif        -> ir_iif

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
19 files changed:
include/linux/ipv6.h
include/net/inet_sock.h
include/net/request_sock.h
include/net/tcp.h
net/dccp/ipv4.c
net/dccp/ipv6.c
net/dccp/ipv6.h
net/dccp/minisocks.c
net/dccp/output.c
net/ipv4/inet_connection_sock.c
net/ipv4/inet_diag.c
net/ipv4/syncookies.c
net/ipv4/tcp_ipv4.c
net/ipv4/tcp_metrics.c
net/ipv4/tcp_output.c
net/ipv6/inet6_connection_sock.c
net/ipv6/syncookies.c
net/ipv6/tcp_ipv6.c
net/netlabel/netlabel_kapi.c