summaryrefslogtreecommitdiff
path: root/usr/src/uts/common/netinet
diff options
context:
space:
mode:
authorGeorge Shepherd <George.Shepherd@Sun.COM>2009-04-24 06:20:28 -0700
committerGeorge Shepherd <George.Shepherd@Sun.COM>2009-04-24 06:20:28 -0700
commit47b333251f6569b2d2a85df530163c314e6eb46c (patch)
treece4f138517230eec1634e9dc19c415d6ce46a505 /usr/src/uts/common/netinet
parentdc4bf86d3869090fa08d98d7030728be986fd289 (diff)
downloadillumos-gate-47b333251f6569b2d2a85df530163c314e6eb46c.tar.gz
6753556 When receiving INIT_ACK with missing mandatory parameter the resulting ABORT chunk is malformed.
Diffstat (limited to 'usr/src/uts/common/netinet')
-rw-r--r--usr/src/uts/common/netinet/sctp.h31
1 files changed, 30 insertions, 1 deletions
diff --git a/usr/src/uts/common/netinet/sctp.h b/usr/src/uts/common/netinet/sctp.h
index 9c43cc77e4..57ab865ab1 100644
--- a/usr/src/uts/common/netinet/sctp.h
+++ b/usr/src/uts/common/netinet/sctp.h
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -692,6 +692,35 @@ typedef struct sctp_parm_hdr {
uint16_t sph_len;
} sctp_parm_hdr_t;
+/*
+ * The following extend sctp_parm_hdr_t
+ * with cause-specfic content used to fill
+ * CAUSE blocks in ABORT or ERROR chunks.
+ * The overall size of the CAUSE block will
+ * be sizeof (sctp_parm_hdr_t) plus the size
+ * of the extended cause structure,
+ */
+
+/*
+ * Invalid stream-identifier extended cause.
+ * SCTP_ERR_BAD_SID
+ */
+typedef struct sctp_bsc {
+ uint16_t bsc_sid;
+ uint16_t bsc_pad; /* RESV = 0 */
+} sctp_bsc_t;
+
+/*
+ * Missing parameter extended cause, currently
+ * only one missing parameter is supported.
+ * SCTP_ERR_MISSING_PARM
+ */
+typedef struct sctp_mpc {
+ uint32_t mpc_num;
+ uint16_t mpc_param;
+ uint16_t mpc_pad;
+} sctp_mpc_t;
+
/* Error causes */
#define SCTP_ERR_UNKNOWN 0
#define SCTP_ERR_BAD_SID 1