inet: add rsk_listener field to struct request_sock
authorEric Dumazet <edumazet@google.com>
Wed, 18 Mar 2015 01:32:28 +0000 (18:32 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 18 Mar 2015 02:01:56 +0000 (22:01 -0400)
commit4e9a578e5b6bdfa8b7fed7a41f28a86a7cffc85f
tree2aa5dfb5e6885aaa15b6802ec6bffba15f4099f4
parente49bb337d77d54afebe4fe5b9008955e1337f83d
inet: add rsk_listener field to struct request_sock

Once we'll be able to lookup request sockets in ehash table,
we'll need to get access to listener which created this request.

This avoid doing a lookup to find the listener, which benefits
for a more solid SO_REUSEPORT, and is needed once we no
longer queue request sock into a listener private queue.

Note that 'struct tcp_request_sock'->listener could be reduced
to a single bit, as TFO listener should match req->rsk_listener.
TFO will no longer need to hold a reference on the listener.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/request_sock.h
net/ipv4/tcp_input.c