• D
    net/ipv4: Allow send to local broadcast from a socket bound to a VRF · 9515a2e0
    David Ahern 提交于
    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: NDavid Ahern <dsahern@gmail.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    9515a2e0
udp.c 72.2 KB