Re: [PATCH v2 net-next 0/7] net: l3mdev: Support for sockets bound to enslaved device
From: David Miller <davem@davemloft.net>
Date: 2017-08-07 06:51:48
From: David Miller <davem@davemloft.net> Date: Sun, 06 Aug 2017 21:39:38 -0700 (PDT)
From: David Ahern <redacted> Date: Fri, 4 Aug 2017 13:16:56 -0700quoted
A missing piece to the VRF puzzle is the ability to bind sockets to devices enslaved to a VRF. This patch set adds the enslaved device index, sdif, to IPv4 and IPv6 socket lookups. The end result for users is the following scope options for services: 1. "global" services - sockets not bound to any device Allows 1 service to work across all network interfaces with connected sockets bound to the VRF the connection originates (Requires net.ipv4.tcp_l3mdev_accept=1 for TCP and net.ipv4.udp_l3mdev_accept=1 for UDP) 2. "VRF" local services - sockets bound to a VRF Sockets work across all network interfaces enslaved to a VRF but are limited to just the one VRF. 3. "device" services - sockets bound to a specific network interface Service works only through the one specific interface. v2 - remove sk_lookup struct and add sdif as an argument to existing functions Changes since RFC: - no significant logic changes; mainly whitespace cleanupsSeries applied, thanks David.
David, I had to revert. You didn't convert dccp which breaks
the build.
net/dccp/ipv4.c: In function ‘dccp_v4_err’:
net/dccp/ipv4.c:256:7: error: too few arguments to function ‘__inet_lookup_established’
sk = __inet_lookup_established(net, &dccp_hashinfo,
^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from net/dccp/ipv4.c:22:0:
./include/net/inet_hashtables.h:289:14: note: declared here
struct sock *__inet_lookup_established(struct net *net,
^~~~~~~~~~~~~~~~~~~~~~~~~
Thanks.