From: David S. Miller Date: Mon, 7 Aug 2017 18:39:22 +0000 (-0700) Subject: Merge branch 'net-l3mdev-Support-for-sockets-bound-to-enslaved-device' X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=9bcb5a572fd6aed8fd1974ea24830f8a657cbfa2;p=openwrt%2Fstaging%2Fblogic.git Merge branch 'net-l3mdev-Support-for-sockets-bound-to-enslaved-device' David Ahern says: ==================== net: l3mdev: Support for sockets bound to enslaved device 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. v3 - convert __inet_lookup_established in dccp_v4_err; missed in v2 v2 - remove sk_lookup struct and add sdif as an argument to existing functions Changes since RFC: - no significant logic changes; mainly whitespace cleanups ==================== Signed-off-by: David S. Miller --- 9bcb5a572fd6aed8fd1974ea24830f8a657cbfa2