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 { | |||
102 | /* AUTH Extension Section 4.1 */ | 102 | /* AUTH Extension Section 4.1 */ |
103 | SCTP_CID_AUTH = 0x0F, | 103 | SCTP_CID_AUTH = 0x0F, |
104 | 104 | ||
105 | /* sctp ndata 5.1. I-DATA */ | ||
106 | SCTP_CID_I_DATA = 0x40, | ||
107 | |||
105 | /* PR-SCTP Sec 3.2 */ | 108 | /* PR-SCTP Sec 3.2 */ |
106 | SCTP_CID_FWD_TSN = 0xC0, | 109 | SCTP_CID_FWD_TSN = 0xC0, |
107 | 110 | ||
108 | /* Use hex, as defined in ADDIP sec. 3.1 */ | 111 | /* Use hex, as defined in ADDIP sec. 3.1 */ |
109 | SCTP_CID_ASCONF = 0xC1, | 112 | SCTP_CID_ASCONF = 0xC1, |
113 | SCTP_CID_I_FWD_TSN = 0xC2, | ||
110 | SCTP_CID_ASCONF_ACK = 0x80, | 114 | SCTP_CID_ASCONF_ACK = 0x80, |
111 | SCTP_CID_RECONF = 0x82, | 115 | SCTP_CID_RECONF = 0x82, |
112 | }; /* enum */ | 116 | }; /* enum */ |
@@ -240,6 +244,23 @@ struct sctp_data_chunk { | |||
240 | struct sctp_datahdr data_hdr; | 244 | struct sctp_datahdr data_hdr; |
241 | }; | 245 | }; |
242 | 246 | ||
247 | struct sctp_idatahdr { | ||
248 | __be32 tsn; | ||
249 | __be16 stream; | ||
250 | __be16 reserved; | ||
251 | __be32 mid; | ||
252 | union { | ||
253 | __u32 ppid; | ||
254 | __be32 fsn; | ||
255 | }; | ||
256 | __u8 payload[0]; | ||
257 | }; | ||
258 | |||
259 | struct sctp_idata_chunk { | ||
260 | struct sctp_chunkhdr chunk_hdr; | ||
261 | struct sctp_idatahdr data_hdr; | ||
262 | }; | ||
263 | |||
243 | /* DATA Chuck Specific Flags */ | 264 | /* DATA Chuck Specific Flags */ |
244 | enum { | 265 | enum { |
245 | SCTP_DATA_MIDDLE_FRAG = 0x00, | 266 | SCTP_DATA_MIDDLE_FRAG = 0x00, |
@@ -596,6 +617,22 @@ struct sctp_fwdtsn_chunk { | |||
596 | struct sctp_fwdtsn_hdr fwdtsn_hdr; | 617 | struct sctp_fwdtsn_hdr fwdtsn_hdr; |
597 | }; | 618 | }; |
598 | 619 | ||
620 | struct sctp_ifwdtsn_skip { | ||
621 | __be16 stream; | ||
622 | __u8 reserved; | ||
623 | __u8 flags; | ||
624 | __be32 mid; | ||
625 | }; | ||
626 | |||
627 | struct sctp_ifwdtsn_hdr { | ||
628 | __be32 new_cum_tsn; | ||
629 | struct sctp_ifwdtsn_skip skip[0]; | ||
630 | }; | ||
631 | |||
632 | struct sctp_ifwdtsn_chunk { | ||
633 | struct sctp_chunkhdr chunk_hdr; | ||
634 | struct sctp_ifwdtsn_hdr fwdtsn_hdr; | ||
635 | }; | ||
599 | 636 | ||
600 | /* ADDIP | 637 | /* ADDIP |
601 | * Section 3.1.1 Address Configuration Change Chunk (ASCONF) | 638 | * Section 3.1.1 Address Configuration Change Chunk (ASCONF) |