[SCTP]: Implement the Supported Extensions Parameter
SCTP Supported Extenions parameter is specified in Section 4.2.7 of the ADD-IP draft (soon to be RFC). The parameter is encoded as: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Parameter Type = 0x8008 | Parameter Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHUNK TYPE 1 | CHUNK TYPE 2 | CHUNK TYPE 3 | CHUNK TYPE 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | .... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | CHUNK TYPE N | PAD | PAD | PAD | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ It contains a list of chunks that a particular SCTP extension uses. Current extensions supported are Partial Reliability (FWD-TSN) and ADD-IP (ASCONF and ASCONF-ACK). When implementing new extensions (AUTH, PKT-DROP, etc..), new chunks need to be added to this parameter. Parameter processing would be modified to negotiate support for these new features. Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
76c72d4f44
commit
131a47e31a
@ -180,6 +180,9 @@ typedef enum {
|
||||
SCTP_PARAM_SUPPORTED_ADDRESS_TYPES = __constant_htons(12),
|
||||
SCTP_PARAM_ECN_CAPABLE = __constant_htons(0x8000),
|
||||
|
||||
/* Add-IP: Supported Extensions, Section 4.2 */
|
||||
SCTP_PARAM_SUPPORTED_EXT = __constant_htons(0x8008),
|
||||
|
||||
/* PR-SCTP Sec 3.1 */
|
||||
SCTP_PARAM_FWD_TSN_SUPPORT = __constant_htons(0xc000),
|
||||
|
||||
@ -296,6 +299,12 @@ typedef struct sctp_adaptation_ind_param {
|
||||
__be32 adaptation_ind;
|
||||
} __attribute__((packed)) sctp_adaptation_ind_param_t;
|
||||
|
||||
/* ADDIP Section 4.2.7 Supported Extensions Parameter */
|
||||
typedef struct sctp_supported_ext_param {
|
||||
struct sctp_paramhdr param_hdr;
|
||||
__u8 chunks[0];
|
||||
} __attribute__((packed)) sctp_supported_ext_param_t;
|
||||
|
||||
/* RFC 2960. Section 3.3.3 Initiation Acknowledgement (INIT ACK) (2):
|
||||
* The INIT ACK chunk is used to acknowledge the initiation of an SCTP
|
||||
* association.
|
||||
|
Reference in New Issue
Block a user