David Ahern
9515a2e082
net/ipv4: Allow send to local broadcast from a socket bound to a VRF
...
Message sends to the local broadcast address (255.255.255.255) require
uc_index or sk_bound_dev_if to be set to an egress device. However,
responses or only received if the socket is bound to the device. This
is overly constraining for processes running in an L3 domain. This
patch allows a socket bound to the VRF device to send to the local
broadcast address by using IP_UNICAST_IF to set the egress interface
with packet receipt handled by the VRF binding.
Similar to IP_MULTICAST_IF, relax the constraint on setting
IP_UNICAST_IF if a socket is bound to an L3 master device. In this
case allow uc_index to be set to an enslaved if sk_bound_dev_if is
an L3 master device and is the master device for the ifindex.
In udp and raw sendmsg, allow uc_index to override the oif if
uc_index master device is oif (ie., the oif is an L3 master and the
index is an L3 slave).
Signed-off-by: David Ahern <dsahern@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2018-01-25 21:51:31 -05:00
..
netfilter
Merge git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf-next
2018-01-21 11:35:34 -05:00
af_inet.c
ip_rt_ioctl(): take copyin to caller
2018-01-24 19:13:45 -05:00
ah4.c
net: use -ENOSPC for transient busy indication
2017-11-03 22:11:17 +08:00
arp.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-01-17 00:10:42 -05:00
cipso_ipv4.c
datagram.c
devinet.c
devinet_ioctl(): take copyin/copyout to caller
2018-01-24 19:13:45 -05:00
esp4.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-01-17 00:10:42 -05:00
esp4_offload.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-01-23 13:51:56 -05:00
fib_frontend.c
ip_rt_ioctl(): take copyin to caller
2018-01-24 19:13:45 -05:00
fib_lookup.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
fib_notifier.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
fib_rules.c
fib_semantics.c
ipv4: fib: Fix metrics match when deleting a route
2017-12-19 14:21:58 -05:00
fib_trie.c
net: delete /proc THIS_MODULE references
2018-01-16 15:01:33 -05:00
fou.c
gre_demux.c
gre_offload.c
icmp.c
igmp.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-01-23 13:51:56 -05:00
inet_connection_sock.c
net: sock: replace sk_state_load with inet_sk_state_load and remove sk_state_store
2017-12-20 14:00:25 -05:00
inet_diag.c
inet_diag: Add equal-operator for ports
2018-01-02 13:54:04 -05:00
inet_fragment.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2017-11-15 11:56:19 -08:00
inet_hashtables.c
net: tracepoint: replace tcp_set_state tracepoint with inet_sock_set_state tracepoint
2017-12-20 14:00:25 -05:00
inet_timewait_sock.c
net: Convert atomic_t net::count to refcount_t
2018-01-15 14:23:42 -05:00
inetpeer.c
ip_forward.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
ip_fragment.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-11-04 09:26:51 +09:00
ip_gre.c
net: erspan: use bitfield instead of mask and offset
2018-01-25 21:39:43 -05:00
ip_input.c
ip_options.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
ip_output.c
ip_sockglue.c
net/ipv4: Allow send to local broadcast from a socket bound to a VRF
2018-01-25 21:51:31 -05:00
ip_tunnel.c
ip_tunnel: Use mark in skb by default
2018-01-24 16:30:23 -05:00
ip_tunnel_core.c
ip_vti.c
ipcomp.c
ipconfig.c
ipconfig: use dev_set_mtu()
2018-01-24 19:13:45 -05:00
ipip.c
ipmr.c
net: delete /proc THIS_MODULE references
2018-01-16 15:01:33 -05:00
Kconfig
Makefile
net: tcp: Remove TCP probe module
2018-01-02 14:27:29 -05:00
netfilter.c
netfilter: remove struct nf_afinfo and its helper functions
2018-01-08 18:11:02 +01:00
ping.c
proc.c
net: delete /proc THIS_MODULE references
2018-01-16 15:01:33 -05:00
protocol.c
raw.c
net/ipv4: Allow send to local broadcast from a socket bound to a VRF
2018-01-25 21:51:31 -05:00
raw_diag.c
route.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-01-17 00:10:42 -05:00
syncookies.c
sysctl_net_ipv4.c
tcp: Namespace-ify sysctl_tcp_default_congestion_control
2017-11-15 14:09:52 +09:00
tcp.c
tcp: make local function tcp_recv_timestamp static
2018-01-10 15:55:35 -05:00
tcp_bbr.c
tcp: avoid min RTT bloat by skipping RTT from delayed-ACK in BBR
2018-01-19 15:39:30 -05:00
tcp_bic.c
tcp_cdg.c
tcp_cong.c
tcp: Namespace-ify sysctl_tcp_default_congestion_control
2017-11-15 14:09:52 +09:00
tcp_cubic.c
tcp_dctcp.c
tcp_diag.c
net: sock: replace sk_state_load with inet_sk_state_load and remove sk_state_store
2017-12-20 14:00:25 -05:00
tcp_fastopen.c
tcp: pause Fast Open globally after third consecutive timeout
2017-12-13 15:51:12 -05:00
tcp_highspeed.c
tcp_htcp.c
tcp_hybla.c
tcp_illinois.c
tcp_input.c
tcp: avoid min RTT bloat by skipping RTT from delayed-ACK in BBR
2018-01-19 15:39:30 -05:00
tcp_ipv4.c
net: delete /proc THIS_MODULE references
2018-01-16 15:01:33 -05:00
tcp_lp.c
tcp_metrics.c
net: Convert atomic_t net::count to refcount_t
2018-01-15 14:23:42 -05:00
tcp_minisocks.c
tcp/dccp: avoid one atomic operation for timewait hashdance
2017-12-13 14:33:10 -05:00
tcp_nv.c
tcp_nv: use do_div() instead of expensive div64_u64()
2017-11-04 22:34:52 +09:00
tcp_offload.c
gso: validate gso_type in GSO handlers
2018-01-22 16:01:30 -05:00
tcp_output.c
tcp: Split BUG_ON() in tcp_tso_should_defer() into two assertions
2018-01-08 14:12:26 -05:00
tcp_rate.c
tcp: invalidate rate samples during SACK reneging
2017-12-08 10:07:02 -05:00
tcp_recovery.c
tcp: evaluate packet losses upon RTT change
2017-12-08 14:14:11 -05:00
tcp_scalable.c
tcp_timer.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2017-12-16 22:11:55 -05:00
tcp_ulp.c
tcp_vegas.c
tcp_vegas.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
tcp_veno.c
tcp_westwood.c
tcp_yeah.c
tunnel4.c
udp.c
net/ipv4: Allow send to local broadcast from a socket bound to a VRF
2018-01-25 21:51:31 -05:00
udp_diag.c
udp_impl.h
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
udp_offload.c
gso: validate gso_type in GSO handlers
2018-01-22 16:01:30 -05:00
udp_tunnel.c
udplite.c
net: delete /proc THIS_MODULE references
2018-01-16 15:01:33 -05:00
xfrm4_input.c
xfrm: Reinject transport-mode packets through tasklet
2017-12-19 08:23:21 +01:00
xfrm4_mode_beet.c
xfrm4_mode_transport.c
xfrm4_mode_tunnel.c
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
2018-01-24 23:44:15 -05:00
xfrm4_output.c
xfrm4_policy.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
xfrm4_protocol.c
xfrm4_state.c
License cleanup: add SPDX GPL-2.0 license identifier to files with no license
2017-11-02 11:10:55 +01:00
xfrm4_tunnel.c