On Sun, Nov 18, 2018 at 04:08:50PM +0800, Xin Long wrote: > This patchset mainly adds the Event Subscription sockopt described in > rfc6525#section-6.2: > > "Subscribing to events as described in [RFC6458] uses a setsockopt() > call with the SCTP_EVENT socket option. This option takes the > following structure, which specifies the association, the event type > (using the same value found in the event type field), and an on/off > boolean. > > struct sctp_event { > sctp_assoc_t se_assoc_id; > uint16_t se_type; > uint8_t se_on; > }; > > The user fills in the se_type field with the same value found in the > strreset_type field, i.e., SCTP_STREAM_RESET_EVENT. The user will > also fill in the se_assoc_id field with either the association to set > this event on (this field is ignored for one-to-one style sockets) or > one of the reserved constant values defined in [RFC6458]. Finally, > the se_on field is set with a 1 to enable the event or a 0 to disable > the event." > > As for the old SCTP_EVENTS Option with struct sctp_event_subscribe, > it's being DEPRECATED. > > v1->v2: > - fix some key word in changelog that triggerred the filters at > vger.kernel.org. > v2->v3: > - fix an array out of bounds noticed by Neil in patch 1/4. > > Xin Long (4): > sctp: define subscribe in sctp_sock as __u16 > sctp: add subscribe per asoc > sctp: rename enum sctp_event to sctp_event_type > sctp: add sockopt SCTP_EVENT > > include/net/sctp/constants.h | 2 +- > include/net/sctp/sm.h | 4 +- > include/net/sctp/structs.h | 4 +- > include/net/sctp/ulpevent.h | 39 ++++++++------ > include/uapi/linux/sctp.h | 13 ++++- > net/sctp/associola.c | 2 + > net/sctp/chunk.c | 8 ++- > net/sctp/primitive.c | 2 +- > net/sctp/sm_sideeffect.c | 12 ++--- > net/sctp/sm_statetable.c | 2 +- > net/sctp/socket.c | 125 ++++++++++++++++++++++++++++++++++++++++--- > net/sctp/stream_interleave.c | 12 +++-- > net/sctp/ulpqueue.c | 8 +-- > 13 files changed, 183 insertions(+), 50 deletions(-) > > -- > 2.1.0 > > Series Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx>