sctp: add sock_reuseport for the sock in __sctp_hash_endpoint
authorXin Long <lucien.xin@gmail.com>
Mon, 12 Nov 2018 10:27:16 +0000 (18:27 +0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 12 Nov 2018 17:09:51 +0000 (09:09 -0800)
commit76c6d988aeb3c15d57ea0c245a3b5f27802c1fbe
tree5508ea6085cda96f528f98229a2317536b776bad
parent532ae2f10e6eab2ec66ecad805d57d3d70cea020
sctp: add sock_reuseport for the sock in __sctp_hash_endpoint

This is a part of sk_reuseport support for sctp. It defines a helper
sctp_bind_addrs_check() to check if the bind_addrs in two socks are
matched. It will add sock_reuseport if they are completely matched,
and return err if they are partly matched, and alloc sock_reuseport
if all socks are not matched at all.

It will work until sk_reuseport support is added in
sctp_get_port_local() in the next patch.

v1->v2:
  - use 'laddr->valid && laddr2->valid' check instead as Marcelo
    pointed in sctp_bind_addrs_check().

Acked-by: Neil Horman <nhorman@tuxdriver.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/sctp.h
include/net/sctp/structs.h
net/core/sock_reuseport.c
net/sctp/bind_addr.c
net/sctp/input.c
net/sctp/socket.c