aboutsummaryrefslogtreecommitdiffstats
path: root/ui/tap-sctp-analysis.h
diff options
context:
space:
mode:
authorruengeler <ruengeler@wireshark.org>2015-10-05 15:55:40 +0200
committerMichael Tüxen <tuexen@wireshark.org>2015-10-05 17:38:08 +0000
commitd52322efb3ab782871312950876803334ec018b9 (patch)
treea9049aa52e49c31f8d346ae2bcfe842694c2f776 /ui/tap-sctp-analysis.h
parenta24eeb931ea90b1fe63019c4e07065089e236351 (diff)
SCTP I-DATA support
Change-Id: I459942b9e3287d500dda517568252d4cb56d3216 Reviewed-on: https://code.wireshark.org/review/10802 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Michael Tüxen <tuexen@wireshark.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Tüxen <tuexen@wireshark.org>
Diffstat (limited to 'ui/tap-sctp-analysis.h')
-rw-r--r--ui/tap-sctp-analysis.h26
1 files changed, 24 insertions, 2 deletions
diff --git a/ui/tap-sctp-analysis.h b/ui/tap-sctp-analysis.h
index b7fabd19db..18f0b86886 100644
--- a/ui/tap-sctp-analysis.h
+++ b/ui/tap-sctp-analysis.h
@@ -56,6 +56,7 @@ extern "C" {
#define SCTP_SHUTDOWN_COMPLETE_CHUNK_ID 14
#define SCTP_AUTH_CHUNK_ID 15
#define SCTP_NR_SACK_CHUNK_ID 16
+#define SCTP_I_DATA_CHUNK_ID 0x40
#define SCTP_ASCONF_ACK_CHUNK_ID 0x80
#define SCTP_PKTDROP_CHUNK_ID 0x81
#define SCTP_RE_CONFIG_CHUNK_ID 0x82
@@ -65,7 +66,7 @@ extern "C" {
#define SCTP_IETF_EXT 0xFF
#define IS_SCTP_CHUNK_TYPE(t) \
- (((t) <= 16) || ((t) == 0xC0) || ((t) == 0xC1) || ((t) == 0x80) || ((t) == 0x81))
+ (((t) <= 16) || ((t) == 0x40) || ((t) == 0xC0) || ((t) == 0xC1) || ((t) == 0x80) || ((t) == 0x81))
#define CHUNK_TYPE_LENGTH 1
#define CHUNK_FLAGS_LENGTH 1
@@ -99,11 +100,31 @@ extern "C" {
#define DATA_CHUNK_STREAM_ID_LENGTH 2
#define DATA_CHUNK_STREAM_SEQ_NUMBER_LENGTH 2
#define DATA_CHUNK_PAYLOAD_PROTOCOL_ID_LENGTH 4
+#define I_DATA_CHUNK_RESERVED_LENGTH 2
+#define I_DATA_CHUNK_MID_LENGTH 4
+#define I_DATA_CHUNK_PAYLOAD_PROTOCOL_ID_LENGTH 4
+#define I_DATA_CHUNK_FSN_LENGTH 4
+#define I_DATA_CHUNK_RESERVED_OFFSET (DATA_CHUNK_STREAM_ID_OFFSET + \
+ DATA_CHUNK_STREAM_ID_LENGTH)
+#define I_DATA_CHUNK_MID_OFFSET (I_DATA_CHUNK_RESERVED_OFFSET + \
+ I_DATA_CHUNK_RESERVED_LENGTH)
+#define I_DATA_CHUNK_PAYLOAD_PROTOCOL_ID_OFFSET (I_DATA_CHUNK_MID_OFFSET + \
+ I_DATA_CHUNK_MID_LENGTH)
+#define I_DATA_CHUNK_FSN_OFFSET (I_DATA_CHUNK_MID_OFFSET + \
+ I_DATA_CHUNK_MID_LENGTH)
+#define I_DATA_CHUNK_PAYLOAD_OFFSET (I_DATA_CHUNK_PAYLOAD_PROTOCOL_ID_OFFSET + \
+ I_DATA_CHUNK_PAYLOAD_PROTOCOL_ID_LENGTH)
#define DATA_CHUNK_HEADER_LENGTH (CHUNK_HEADER_LENGTH + \
DATA_CHUNK_TSN_LENGTH + \
DATA_CHUNK_STREAM_ID_LENGTH + \
DATA_CHUNK_STREAM_SEQ_NUMBER_LENGTH + \
DATA_CHUNK_PAYLOAD_PROTOCOL_ID_LENGTH)
+#define I_DATA_CHUNK_HEADER_LENGTH (CHUNK_HEADER_LENGTH + \
+ DATA_CHUNK_TSN_LENGTH + \
+ DATA_CHUNK_STREAM_ID_LENGTH + \
+ I_DATA_CHUNK_RESERVED_LENGTH + \
+ I_DATA_CHUNK_MID_LENGTH +\
+ I_DATA_CHUNK_PAYLOAD_PROTOCOL_ID_LENGTH)
#define MAX_ADDRESS_LEN 47
#define SCTP_ABORT_CHUNK_T_BIT 0x01
@@ -159,7 +180,8 @@ static const value_string chunk_type_values[] = {
{ SCTP_CWR_CHUNK_ID, "CWR" },
{ SCTP_SHUTDOWN_COMPLETE_CHUNK_ID, "SHUTDOWN_COMPLETE" },
{ SCTP_AUTH_CHUNK_ID, "AUTH" },
- { SCTP_NR_SACK_CHUNK_ID, "NR-SACK" },
+ { SCTP_NR_SACK_CHUNK_ID, "NR_SACK" },
+ { SCTP_I_DATA_CHUNK_ID, "I_DATA" },
{ SCTP_ASCONF_ACK_CHUNK_ID, "ASCONF_ACK" },
{ SCTP_PKTDROP_CHUNK_ID, "PKTDROP" },
{ SCTP_RE_CONFIG_CHUNK_ID, "RE_CONFIG" },