This patchset mostly does 3 things: 1. add per endpint asconf flag and use asconf flag properly and add SCTP_ASCONF_SUPPORTED sockopt. 2. use auth flag properly and add SCTP_AUTH_SUPPORTED sockopt. 3. remove the 'global feature switch' to discard chunks. Xin Long (8): sctp: add asconf_enable in struct sctp_endpoint sctp: not set peer.asconf_capable in sctp_association_init sctp: check asoc peer.asconf_capable before processing asconf sctp: add SCTP_ASCONF_SUPPORTED sockopt sctp: use ep and asoc auth_enable properly sctp: add sctp_auth_init and sctp_auth_free sctp: add SCTP_AUTH_SUPPORTED sockopt sctp: remove net sctp.x_enable working as a global switch include/net/sctp/auth.h | 2 + include/net/sctp/structs.h | 1 + include/uapi/linux/sctp.h | 2 + net/sctp/associola.c | 9 -- net/sctp/auth.c | 101 ++++++++++++++++++-- net/sctp/endpointola.c | 64 ++----------- net/sctp/sm_make_chunk.c | 18 ++-- net/sctp/sm_statefuns.c | 6 +- net/sctp/sm_statetable.c | 28 +++--- net/sctp/socket.c | 230 ++++++++++++++++++++++++++++++++++++++------- 10 files changed, 325 insertions(+), 136 deletions(-) -- 2.1.0