diff options
Diffstat (limited to 'include/linux/sctp.h')
| -rw-r--r-- | include/linux/sctp.h | 37 | 
1 files changed, 37 insertions, 0 deletions
diff --git a/include/linux/sctp.h b/include/linux/sctp.h index da803dfc7a39..b36c76635f18 100644 --- a/include/linux/sctp.h +++ b/include/linux/sctp.h @@ -102,11 +102,15 @@ enum sctp_cid {  	/* AUTH Extension Section 4.1 */  	SCTP_CID_AUTH			= 0x0F, +	/* sctp ndata 5.1. I-DATA */ +	SCTP_CID_I_DATA			= 0x40, +  	/* PR-SCTP Sec 3.2 */  	SCTP_CID_FWD_TSN		= 0xC0,  	/* Use hex, as defined in ADDIP sec. 3.1 */  	SCTP_CID_ASCONF			= 0xC1, +	SCTP_CID_I_FWD_TSN		= 0xC2,  	SCTP_CID_ASCONF_ACK		= 0x80,  	SCTP_CID_RECONF			= 0x82,  }; /* enum */ @@ -240,6 +244,23 @@ struct sctp_data_chunk {  	struct sctp_datahdr data_hdr;  }; +struct sctp_idatahdr { +	__be32 tsn; +	__be16 stream; +	__be16 reserved; +	__be32 mid; +	union { +		__u32 ppid; +		__be32 fsn; +	}; +	__u8 payload[0]; +}; + +struct sctp_idata_chunk { +	struct sctp_chunkhdr chunk_hdr; +	struct sctp_idatahdr data_hdr; +}; +  /* DATA Chuck Specific Flags */  enum {  	SCTP_DATA_MIDDLE_FRAG	= 0x00, @@ -596,6 +617,22 @@ struct sctp_fwdtsn_chunk {  	struct sctp_fwdtsn_hdr fwdtsn_hdr;  }; +struct sctp_ifwdtsn_skip { +	__be16 stream; +	__u8 reserved; +	__u8 flags; +	__be32 mid; +}; + +struct sctp_ifwdtsn_hdr { +	__be32 new_cum_tsn; +	struct sctp_ifwdtsn_skip skip[0]; +}; + +struct sctp_ifwdtsn_chunk { +	struct sctp_chunkhdr chunk_hdr; +	struct sctp_ifwdtsn_hdr fwdtsn_hdr; +};  /* ADDIP   * Section 3.1.1 Address Configuration Change Chunk (ASCONF)  |