• Maxim Galaganov's avatar
    mptcp: sockopt: support IP_LOCAL_PORT_RANGE and IP_BIND_ADDRESS_NO_PORT · c85636a2
    Maxim Galaganov authored
    Support for IP_BIND_ADDRESS_NO_PORT sockopt was introduced in [1].
    Recently [2] allowed its value to be accessed without locking the
    socket.
    
    Support for (newer) IP_LOCAL_PORT_RANGE sockopt was introduced in [3].
    In the same series a selftest was added in [4]. This selftest also
    covers the IP_BIND_ADDRESS_NO_PORT sockopt.
    
    This patch enables getsockopt()/setsockopt() on MPTCP sockets for these
    socket options, syncing set values to subflows in sync_socket_options().
    Ephemeral port range is synced to subflows, enabling NAT usecase
    described in [3].
    
    [1] commit 90c337da ("inet: add IP_BIND_ADDRESS_NO_PORT to overcome
    bind(0) limitations")
    [2] commit ca571e2e ("inet: move inet->bind_address_no_port to
    inet->inet_flags")
    [3] commit 91d0b78c ("inet: Add IP_LOCAL_PORT_RANGE socket option")
    [4] commit ae543965
    
     ("selftests/net: Cover the IP_LOCAL_PORT_RANGE
    socket option")
    Signed-off-by: default avatarMaxim Galaganov <max@internet.ru>
    Revie...
    c85636a2
sockopt.c 37.6 KB