Subject: [PATCH net-next 00/24] sctp: support SCTP_FUTURE/CURRENT/ALL_ASSOC

From: Xin Long <[email-masked]>
Date: Mon, 28 Jan 2019 15:08:22 +0800

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