On Mon, Jan 28, 2019 at 03:08:22PM +0800, Xin Long wrote: > This patchset adds the support for 3 assoc_id constants: SCTP_FUTURE_ASSOC > SCTP_CURRENT_ASSOC, SCTP_ALL_ASSOC, described in rfc6458#section-7.2: > > All socket options set on a one-to-one style listening socket also > apply to all future accepted sockets. For one-to-many style sockets, > often a socket option will pass a structure that includes an assoc_id > field. This field can be filled with the association identifier of a > particular association and unless otherwise specified can be filled > with one of the following constants: > > SCTP_FUTURE_ASSOC: Specifies that only future associations created > after this socket option will be affected by this call. > > SCTP_CURRENT_ASSOC: Specifies that only currently existing > associations will be affected by this call, and future > associations will still receive the previous default value. > > SCTP_ALL_ASSOC: Specifies that all current and future associations > will be affected by this call. > > The functions for many other sockopts that use assoc_id also need to be > updated accordingly. > > Xin Long (24): > sctp: introduce SCTP_FUTURE/CURRENT/ALL_ASSOC > sctp: use SCTP_FUTURE_ASSOC for SCTP_PEER_ADDR_PARAMS sockopt > sctp: use SCTP_FUTURE_ASSOC for SCTP_RTOINFO sockopt > sctp: use SCTP_FUTURE_ASSOC for SCTP_ASSOCINFO sockopt > sctp: use SCTP_FUTURE_ASSOC for SCTP_MAXSEG sockopt > sctp: use SCTP_FUTURE_ASSOC for SCTP_LOCAL_AUTH_CHUNKS sockopt > sctp: add SCTP_FUTURE_ASSOC for SCTP_PEER_ADDR_THLDS sockopt > sctp: use SCTP_FUTURE_ASSOC for SCTP_PR_SUPPORTED sockopt > sctp: use SCTP_FUTURE_ASSOC for SCTP_RECONFIG_SUPPORTED sockopt > sctp: use SCTP_FUTURE_ASSOC for SCTP_INTERLEAVING_SUPPORTED sockopt > sctp: add SCTP_CURRENT_ASSOC for SCTP_STREAM_SCHEDULER_VALUE sockopt > sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for > SCTP_DELAYED_SACK sockopt > sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for > SCTP_DEFAULT_SEND_PARAM sockopt > sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for > SCTP_DEFAULT_SNDINFO sockopt > sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for > SCTP_CONTEXT sockopt > sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for > SCTP_MAX_BURST sockopt > sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for > SCTP_AUTH_KEY sockopt > sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for > SCTP_AUTH_ACTIVE_KEY sockopt > sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for > SCTP_AUTH_DELETE_KEY sockopt > sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for > SCTP_AUTH_DEACTIVATE_KEY sockopt > sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for > SCTP_DEFAULT_PRINFO sockopt > sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for > SCTP_ENABLE_STREAM_RESET sockopt > sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_EVENT > sockopt > sctp: add SCTP_FUTURE_ASOC and SCTP_CURRENT_ASSOC for > SCTP_STREAM_SCHEDULER sockopt > > include/net/sctp/structs.h | 4 + > include/uapi/linux/sctp.h | 4 + > net/sctp/associola.c | 9 +- > net/sctp/outqueue.c | 2 +- > net/sctp/socket.c | 773 ++++++++++++++++++++++++++++++--------------- > 5 files changed, 525 insertions(+), 267 deletions(-) > > -- > 2.1.0 > > Sorry, I'm traveling at the moment, but I'll review this as soon as I'm back on the ground Neil