net: ipv4: add second dif to inet socket lookups
authorDavid Ahern <dsahern@gmail.com>
Mon, 7 Aug 2017 15:44:17 +0000 (08:44 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 7 Aug 2017 18:39:21 +0000 (11:39 -0700)
commit3fa6f616a7a4d0bdf4d877d530456d8a5c3b109b
treed59b0df380b5f2b8d54356a47950fac577e8ef3c
parentfb74c27735f0a34e76dbf1972084e984ad2ea145
net: ipv4: add second dif to inet socket lookups

Add a second device index, sdif, to inet socket lookups. sdif is the
index for ingress devices enslaved to an l3mdev. It allows the lookups
to consider the enslaved device as well as the L3 domain when searching
for a socket.

TCP moves the data in the cb. Prior to tcp_v4_rcv (e.g., early demux) the
ingress index is obtained from IPCB using inet_sdif and after the cb move
in  tcp_v4_rcv the tcp_v4_sdif helper is used.

Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/inet_hashtables.h
include/net/tcp.h
net/dccp/ipv4.c
net/ipv4/inet_hashtables.c
net/ipv4/tcp_ipv4.c
net/ipv4/udp.c
net/netfilter/xt_TPROXY.c