| Wireshark 4.7.3 The Wireshark network protocol analyzer

Loading...
Searching...
No Matches
tap-sctp-analysis.h
Go to the documentation of this file.
1
11
12#ifndef __TAP_SCTP_ANALYSIS_H__
13#define __TAP_SCTP_ANALYSIS_H__
14
15#include <stdbool.h>
16#include <epan/dissectors/packet-sctp.h>
17#include <epan/address.h>
18#ifdef _WIN32
19#include <winsock2.h>
20#else
21#include <sys/types.h>
22#include <sys/socket.h>
23#include <netinet/in.h>
24#endif
25
26#ifdef __cplusplus
27 extern "C" {
28#endif /* __cplusplus */
29
30#define CHUNK_TYPE_LENGTH 1
31#define CHUNK_FLAGS_LENGTH 1
32#define CHUNK_LENGTH_LENGTH 2
33
34#define CHUNK_HEADER_OFFSET 0
35#define CHUNK_TYPE_OFFSET CHUNK_HEADER_OFFSET
36#define CHUNK_FLAGS_OFFSET (CHUNK_TYPE_OFFSET + CHUNK_TYPE_LENGTH)
37#define CHUNK_LENGTH_OFFSET (CHUNK_FLAGS_OFFSET + CHUNK_FLAGS_LENGTH)
38#define CHUNK_VALUE_OFFSET (CHUNK_LENGTH_OFFSET + CHUNK_LENGTH_LENGTH)
39
40#define INIT_CHUNK_INITIATE_TAG_LENGTH 4
41#define INIT_CHUNK_ADV_REC_WINDOW_CREDIT_LENGTH 4
42#define INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_LENGTH 2
43#define INIT_CHUNK_NUMBER_OF_INBOUND_STREAMS_LENGTH 2
44
45
46#define INIT_CHUNK_INITIATE_TAG_OFFSET CHUNK_VALUE_OFFSET
47#define INIT_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET (INIT_CHUNK_INITIATE_TAG_OFFSET + \
48 INIT_CHUNK_INITIATE_TAG_LENGTH )
49#define INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_OFFSET (INIT_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET + \
50 INIT_CHUNK_ADV_REC_WINDOW_CREDIT_LENGTH )
51#define INIT_CHUNK_NUMBER_OF_INBOUND_STREAMS_OFFSET (INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_OFFSET + \
52 INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_LENGTH )
53#define INIT_CHUNK_INITIAL_TSN_OFFSET (INIT_CHUNK_NUMBER_OF_INBOUND_STREAMS_OFFSET + \
54 INIT_CHUNK_NUMBER_OF_INBOUND_STREAMS_LENGTH )
55
56#define DATA_CHUNK_TSN_LENGTH 4
57#define DATA_CHUNK_TSN_OFFSET (CHUNK_VALUE_OFFSET + 0)
58#define DATA_CHUNK_STREAM_ID_OFFSET (DATA_CHUNK_TSN_OFFSET + DATA_CHUNK_TSN_LENGTH)
59#define DATA_CHUNK_STREAM_ID_LENGTH 2
60#define DATA_CHUNK_STREAM_SEQ_NUMBER_LENGTH 2
61#define DATA_CHUNK_PAYLOAD_PROTOCOL_ID_LENGTH 4
62#define I_DATA_CHUNK_RESERVED_LENGTH 2
63#define I_DATA_CHUNK_MID_LENGTH 4
64#define I_DATA_CHUNK_PAYLOAD_PROTOCOL_ID_LENGTH 4
65#define I_DATA_CHUNK_FSN_LENGTH 4
66#define I_DATA_CHUNK_RESERVED_OFFSET (DATA_CHUNK_STREAM_ID_OFFSET + \
67 DATA_CHUNK_STREAM_ID_LENGTH)
68#define I_DATA_CHUNK_MID_OFFSET (I_DATA_CHUNK_RESERVED_OFFSET + \
69 I_DATA_CHUNK_RESERVED_LENGTH)
70#define I_DATA_CHUNK_PAYLOAD_PROTOCOL_ID_OFFSET (I_DATA_CHUNK_MID_OFFSET + \
71 I_DATA_CHUNK_MID_LENGTH)
72#define I_DATA_CHUNK_FSN_OFFSET (I_DATA_CHUNK_MID_OFFSET + \
73 I_DATA_CHUNK_MID_LENGTH)
74#define I_DATA_CHUNK_PAYLOAD_OFFSET (I_DATA_CHUNK_PAYLOAD_PROTOCOL_ID_OFFSET + \
75 I_DATA_CHUNK_PAYLOAD_PROTOCOL_ID_LENGTH)
76#define DATA_CHUNK_HEADER_LENGTH (CHUNK_HEADER_LENGTH + \
77 DATA_CHUNK_TSN_LENGTH + \
78 DATA_CHUNK_STREAM_ID_LENGTH + \
79 DATA_CHUNK_STREAM_SEQ_NUMBER_LENGTH + \
80 DATA_CHUNK_PAYLOAD_PROTOCOL_ID_LENGTH)
81#define I_DATA_CHUNK_HEADER_LENGTH (CHUNK_HEADER_LENGTH + \
82 DATA_CHUNK_TSN_LENGTH + \
83 DATA_CHUNK_STREAM_ID_LENGTH + \
84 I_DATA_CHUNK_RESERVED_LENGTH + \
85 I_DATA_CHUNK_MID_LENGTH +\
86 I_DATA_CHUNK_PAYLOAD_PROTOCOL_ID_LENGTH)
87#define MAX_ADDRESS_LEN 47
88
89#define SCTP_ABORT_CHUNK_T_BIT 0x01
90
91#define PARAMETER_TYPE_LENGTH 2
92#define PARAMETER_LENGTH_LENGTH 2
93#define PARAMETER_HEADER_LENGTH (PARAMETER_TYPE_LENGTH + PARAMETER_LENGTH_LENGTH)
94
95#define PARAMETER_HEADER_OFFSET 0
96#define PARAMETER_TYPE_OFFSET PARAMETER_HEADER_OFFSET
97#define PARAMETER_LENGTH_OFFSET (PARAMETER_TYPE_OFFSET + PARAMETER_TYPE_LENGTH)
98#define PARAMETER_VALUE_OFFSET (PARAMETER_LENGTH_OFFSET + PARAMETER_LENGTH_LENGTH)
99
100#define IPV6_ADDRESS_LENGTH 16
101#define IPV6_ADDRESS_OFFSET PARAMETER_VALUE_OFFSET
102#define IPV4_ADDRESS_LENGTH 4
103#define IPV4_ADDRESS_OFFSET PARAMETER_VALUE_OFFSET
104#define IPV4ADDRESS_PARAMETER_ID 0x0005
105#define IPV6ADDRESS_PARAMETER_ID 0x0006
106
107#define SACK_CHUNK_CUMULATIVE_TSN_ACK_LENGTH 4
108#define SACK_CHUNK_CUMULATIVE_TSN_ACK_OFFSET (CHUNK_VALUE_OFFSET + 0)
109#define SACK_CHUNK_ADV_REC_WINDOW_CREDIT_LENGTH 4
110#define SACK_CHUNK_ADV_REC_WINDOW_CREDIT_OFFSET (SACK_CHUNK_CUMULATIVE_TSN_ACK_OFFSET + \
111 SACK_CHUNK_CUMULATIVE_TSN_ACK_LENGTH)
112
113#define INIT_CHUNK_INITIAL_TSN_LENGTH 4
114#define INIT_CHUNK_FIXED_PARAMETERS_LENGTH (INIT_CHUNK_INITIATE_TAG_LENGTH + \
115 INIT_CHUNK_ADV_REC_WINDOW_CREDIT_LENGTH + \
116 INIT_CHUNK_NUMBER_OF_OUTBOUND_STREAMS_LENGTH + \
117 INIT_CHUNK_NUMBER_OF_INBOUND_STREAMS_LENGTH + \
118 INIT_CHUNK_INITIAL_TSN_LENGTH)
119#define CHUNK_HEADER_LENGTH (CHUNK_TYPE_LENGTH + \
120 CHUNK_FLAGS_LENGTH + \
121 CHUNK_LENGTH_LENGTH)
122#define INIT_CHUNK_VARIABLE_LENGTH_PARAMETER_OFFSET (INIT_CHUNK_INITIAL_TSN_OFFSET + \
123 INIT_CHUNK_INITIAL_TSN_LENGTH )
124
125/* The below value is 255 */
126#define NUM_CHUNKS 0x100
127
128/* This variable is used as an index into arrays
129 * which store the cumulative information corresponding
130 * all chunks with Chunk Type greater > 16
131 * The value for the below variable is 17
132 */
133#define OTHER_CHUNKS_INDEX 0xfe
134
135/* VNB */
136/* This variable stores the maximum chunk type value
137 * that can be associated with a sctp chunk.
138 */
139#define MAX_SCTP_CHUNK_TYPE 256
140
144 typedef struct _tsn {
145 uint32_t frame_number;
146 uint32_t secs;
147 uint32_t usecs;
148 address src;
149 address dst;
150 uint32_t first_tsn;
151 GList *tsns;
152} tsn_t;
153
154
158 typedef struct _sctp_tmp_info {
159 uint16_t assoc_id;
160 uint16_t direction;
161 address src;
162 address dst;
163 uint16_t port1;
164 uint16_t port2;
165 uint32_t verification_tag1;
166 uint32_t verification_tag2;
167 uint32_t initiate_tag;
168 uint32_t n_tvbs;
169} sctp_tmp_info_t;
170
171
175 typedef struct _sctp_init_collision {
176 uint32_t init_vtag;
177 uint32_t initack_vtag;
178 uint32_t init_min_tsn;
179 uint32_t initack_min_tsn;
180 bool init:1;
181 bool initack:1;
182} sctp_init_collision_t;
183
184
188 struct tsn_sort {
189 uint32_t tsnumber;
190 uint32_t secs;
191 uint32_t usecs;
192 uint32_t offset;
193 uint32_t length;
194 uint32_t framenumber;
195};
196
200 typedef struct _sctp_addr_chunk {
201 uint32_t direction;
202 address addr;
203 /* The array is initialized to MAX_SCTP_CHUNK_TYPE
204 * so that there is no memory overwrite
205 * when accessed using sctp chunk type as index.
206 */
207 uint32_t addr_count[MAX_SCTP_CHUNK_TYPE];
208} sctp_addr_chunk;
209
213 typedef struct _sctp_assoc_info {
214 uint16_t assoc_id;
215 address src;
216 address dst;
217 uint16_t port1;
218 uint16_t port2;
219 uint32_t verification_tag1;
220 uint32_t verification_tag2;
221 uint32_t initiate_tag;
222 uint32_t n_tvbs;
223 GList *addr1;
224 GList *addr2;
225 uint16_t instream1;
226 uint16_t outstream1;
227 uint16_t instream2;
228 uint16_t outstream2;
229 uint32_t n_adler32_calculated;
230 uint32_t n_adler32_correct;
231 uint32_t n_crc32c_calculated;
232 uint32_t n_crc32c_correct;
233 char checksum_type[8];
234 uint32_t n_checksum_errors;
235 uint32_t n_bundling_errors;
236 uint32_t n_padding_errors;
237 uint32_t n_length_errors;
238 uint32_t n_value_errors;
239 uint32_t n_data_chunks;
240 uint32_t n_forward_chunks;
241 uint32_t n_forward_chunks_ep1;
242 uint32_t n_forward_chunks_ep2;
243 uint32_t n_data_bytes;
244 uint32_t n_packets;
245 uint32_t n_data_chunks_ep1;
246 uint32_t n_data_bytes_ep1;
247 uint32_t n_data_chunks_ep2;
248 uint32_t n_data_bytes_ep2;
249 uint32_t n_sack_chunks_ep1;
250 uint32_t n_sack_chunks_ep2;
251 uint32_t n_array_tsn1;
252 uint32_t n_array_tsn2;
253 uint32_t max_window1;
254 uint32_t max_window2;
255 uint32_t arwnd1;
256 uint32_t arwnd2;
257 bool init:1;
258 bool initack:1;
259 bool firstdata:1;
260 bool init_collision:1;
261 uint16_t initack_dir;
262 uint16_t direction;
263 uint32_t min_secs;
264 uint32_t min_usecs;
265 uint32_t max_secs;
266 uint32_t max_usecs;
267 uint32_t min_tsn1;
268 uint32_t min_tsn2;
269 uint32_t max_tsn1;
270 uint32_t max_tsn2;
271 uint32_t max_bytes1;
272 uint32_t max_bytes2;
273 sctp_init_collision_t *dir1;
274 sctp_init_collision_t *dir2;
275 GSList *min_max;
276 GList *frame_numbers;
277 GList *tsn1;
278 GPtrArray *sort_tsn1;
279 GPtrArray *sort_sack1;
280 GList *sack1;
281 GList *tsn2;
282 GPtrArray *sort_tsn2;
283 GPtrArray *sort_sack2;
284 GList *sack2;
285 bool check_address;
286 GList *error_info_list;
287 /* The array is initialized to MAX_SCTP_CHUNK_TYPE
288 * so that there is no memory overwrite
289 * when accessed using sctp chunk type as index.
290 */
291 uint32_t chunk_count[MAX_SCTP_CHUNK_TYPE];
292 uint32_t ep1_chunk_count[MAX_SCTP_CHUNK_TYPE];
293 uint32_t ep2_chunk_count[MAX_SCTP_CHUNK_TYPE];
294 GList *addr_chunk_count;
295} sctp_assoc_info_t;
296
300 typedef struct _sctp_error_info {
301 uint32_t frame_number;
302 char chunk_info[200];
303 const char *info_text;
304} sctp_error_info_t;
305
309 typedef struct _sctp_allassocs_info {
310 uint32_t sum_tvbs;
311 GList *assoc_info_list;
312 bool is_registered;
313 GList *children;
314} sctp_allassocs_info_t;
315
316
317
323 void register_tap_listener_sctp_stat(void);
324
329 const sctp_allassocs_info_t* sctp_stat_get_info(void);
330
334 void sctp_stat_scan(void);
335
339 void remove_tap_listener_sctp_stat(void);
340
347 const sctp_assoc_info_t* get_sctp_assoc_info(uint16_t assoc_id);
348
357 const sctp_assoc_info_t* get_selected_assoc(void);
358
359#ifdef __cplusplus
360}
361#endif /* __cplusplus */
362
363#endif /* __TAP_SCTP_ANALYSIS_H__ */
address.h
address
struct _address address
Holds a network or link-layer address of any supported type.
_sctp_addr_chunk
Tracks per-address chunk counts for one direction of an SCTP association.
Definition tap-sctp-analysis.h:200
_sctp_addr_chunk::addr
address addr
Definition tap-sctp-analysis.h:202
_sctp_addr_chunk::direction
uint32_t direction
Definition tap-sctp-analysis.h:201
_sctp_addr_chunk::addr_count
uint32_t addr_count[256]
Definition tap-sctp-analysis.h:207
_sctp_allassocs_info
Top-level container holding information about all SCTP associations found in a capture.
Definition tap-sctp-analysis.h:309
_sctp_allassocs_info::sum_tvbs
uint32_t sum_tvbs
Definition tap-sctp-analysis.h:310
_sctp_allassocs_info::assoc_info_list
GList * assoc_info_list
Definition tap-sctp-analysis.h:311
_sctp_allassocs_info::children
GList * children
Definition tap-sctp-analysis.h:313
_sctp_allassocs_info::is_registered
bool is_registered
Definition tap-sctp-analysis.h:312
_sctp_assoc_info
Complete statistics and metadata record for a single SCTP association.
Definition tap-sctp-analysis.h:213
_sctp_assoc_info::n_forward_chunks_ep1
uint32_t n_forward_chunks_ep1
Definition tap-sctp-analysis.h:241
_sctp_assoc_info::sort_sack2
GPtrArray * sort_sack2
Definition tap-sctp-analysis.h:283
_sctp_assoc_info::check_address
bool check_address
Definition tap-sctp-analysis.h:285
_sctp_assoc_info::outstream2
uint16_t outstream2
Definition tap-sctp-analysis.h:228
_sctp_assoc_info::chunk_count
uint32_t chunk_count[256]
Definition tap-sctp-analysis.h:291
_sctp_assoc_info::error_info_list
GList * error_info_list
Definition tap-sctp-analysis.h:286
_sctp_assoc_info::max_window1
uint32_t max_window1
Definition tap-sctp-analysis.h:253
_sctp_assoc_info::instream1
uint16_t instream1
Definition tap-sctp-analysis.h:225
_sctp_assoc_info::max_secs
uint32_t max_secs
Definition tap-sctp-analysis.h:265
_sctp_assoc_info::min_secs
uint32_t min_secs
Definition tap-sctp-analysis.h:263
_sctp_assoc_info::min_tsn1
uint32_t min_tsn1
Definition tap-sctp-analysis.h:267
_sctp_assoc_info::max_usecs
uint32_t max_usecs
Definition tap-sctp-analysis.h:266
_sctp_assoc_info::verification_tag2
uint32_t verification_tag2
Definition tap-sctp-analysis.h:220
_sctp_assoc_info::initack_dir
uint16_t initack_dir
Definition tap-sctp-analysis.h:261
_sctp_assoc_info::n_length_errors
uint32_t n_length_errors
Definition tap-sctp-analysis.h:237
_sctp_assoc_info::sack2
GList * sack2
Definition tap-sctp-analysis.h:284
_sctp_assoc_info::n_sack_chunks_ep2
uint32_t n_sack_chunks_ep2
Definition tap-sctp-analysis.h:250
_sctp_assoc_info::n_padding_errors
uint32_t n_padding_errors
Definition tap-sctp-analysis.h:236
_sctp_assoc_info::n_value_errors
uint32_t n_value_errors
Definition tap-sctp-analysis.h:238
_sctp_assoc_info::n_array_tsn2
uint32_t n_array_tsn2
Definition tap-sctp-analysis.h:252
_sctp_assoc_info::min_max
GSList * min_max
Definition tap-sctp-analysis.h:275
_sctp_assoc_info::n_tvbs
uint32_t n_tvbs
Definition tap-sctp-analysis.h:222
_sctp_assoc_info::n_data_bytes
uint32_t n_data_bytes
Definition tap-sctp-analysis.h:243
_sctp_assoc_info::min_tsn2
uint32_t min_tsn2
Definition tap-sctp-analysis.h:268
_sctp_assoc_info::n_crc32c_calculated
uint32_t n_crc32c_calculated
Definition tap-sctp-analysis.h:231
_sctp_assoc_info::n_forward_chunks_ep2
uint32_t n_forward_chunks_ep2
Definition tap-sctp-analysis.h:242
_sctp_assoc_info::outstream1
uint16_t outstream1
Definition tap-sctp-analysis.h:226
_sctp_assoc_info::ep2_chunk_count
uint32_t ep2_chunk_count[256]
Definition tap-sctp-analysis.h:293
_sctp_assoc_info::assoc_id
uint16_t assoc_id
Definition tap-sctp-analysis.h:214
_sctp_assoc_info::sack1
GList * sack1
Definition tap-sctp-analysis.h:280
_sctp_assoc_info::tsn2
GList * tsn2
Definition tap-sctp-analysis.h:281
_sctp_assoc_info::tsn1
GList * tsn1
Definition tap-sctp-analysis.h:277
_sctp_assoc_info::n_data_chunks_ep1
uint32_t n_data_chunks_ep1
Definition tap-sctp-analysis.h:245
_sctp_assoc_info::arwnd2
uint32_t arwnd2
Definition tap-sctp-analysis.h:256
_sctp_assoc_info::n_checksum_errors
uint32_t n_checksum_errors
Definition tap-sctp-analysis.h:234
_sctp_assoc_info::n_adler32_correct
uint32_t n_adler32_correct
Definition tap-sctp-analysis.h:230
_sctp_assoc_info::n_array_tsn1
uint32_t n_array_tsn1
Definition tap-sctp-analysis.h:251
_sctp_assoc_info::dir2
sctp_init_collision_t * dir2
Definition tap-sctp-analysis.h:274
_sctp_assoc_info::n_data_bytes_ep2
uint32_t n_data_bytes_ep2
Definition tap-sctp-analysis.h:248
_sctp_assoc_info::checksum_type
char checksum_type[8]
Definition tap-sctp-analysis.h:233
_sctp_assoc_info::frame_numbers
GList * frame_numbers
Definition tap-sctp-analysis.h:276
_sctp_assoc_info::sort_sack1
GPtrArray * sort_sack1
Definition tap-sctp-analysis.h:279
_sctp_assoc_info::max_window2
uint32_t max_window2
Definition tap-sctp-analysis.h:254
_sctp_assoc_info::n_adler32_calculated
uint32_t n_adler32_calculated
Definition tap-sctp-analysis.h:229
_sctp_assoc_info::addr_chunk_count
GList * addr_chunk_count
Definition tap-sctp-analysis.h:294
_sctp_assoc_info::init
bool init
Definition tap-sctp-analysis.h:257
_sctp_assoc_info::src
address src
Definition tap-sctp-analysis.h:215
_sctp_assoc_info::n_data_chunks_ep2
uint32_t n_data_chunks_ep2
Definition tap-sctp-analysis.h:247
_sctp_assoc_info::max_bytes2
uint32_t max_bytes2
Definition tap-sctp-analysis.h:272
_sctp_assoc_info::n_packets
uint32_t n_packets
Definition tap-sctp-analysis.h:244
_sctp_assoc_info::firstdata
bool firstdata
Definition tap-sctp-analysis.h:259
_sctp_assoc_info::dst
address dst
Definition tap-sctp-analysis.h:216
_sctp_assoc_info::init_collision
bool init_collision
Definition tap-sctp-analysis.h:260
_sctp_assoc_info::initack
bool initack
Definition tap-sctp-analysis.h:258
_sctp_assoc_info::addr1
GList * addr1
Definition tap-sctp-analysis.h:223
_sctp_assoc_info::initiate_tag
uint32_t initiate_tag
Definition tap-sctp-analysis.h:221
_sctp_assoc_info::port1
uint16_t port1
Definition tap-sctp-analysis.h:217
_sctp_assoc_info::n_sack_chunks_ep1
uint32_t n_sack_chunks_ep1
Definition tap-sctp-analysis.h:249
_sctp_assoc_info::dir1
sctp_init_collision_t * dir1
Definition tap-sctp-analysis.h:273
_sctp_assoc_info::n_forward_chunks
uint32_t n_forward_chunks
Definition tap-sctp-analysis.h:240
_sctp_assoc_info::n_data_chunks
uint32_t n_data_chunks
Definition tap-sctp-analysis.h:239
_sctp_assoc_info::max_tsn1
uint32_t max_tsn1
Definition tap-sctp-analysis.h:269
_sctp_assoc_info::instream2
uint16_t instream2
Definition tap-sctp-analysis.h:227
_sctp_assoc_info::arwnd1
uint32_t arwnd1
Definition tap-sctp-analysis.h:255
_sctp_assoc_info::n_crc32c_correct
uint32_t n_crc32c_correct
Definition tap-sctp-analysis.h:232
_sctp_assoc_info::addr2
GList * addr2
Definition tap-sctp-analysis.h:224
_sctp_assoc_info::n_bundling_errors
uint32_t n_bundling_errors
Definition tap-sctp-analysis.h:235
_sctp_assoc_info::max_tsn2
uint32_t max_tsn2
Definition tap-sctp-analysis.h:270
_sctp_assoc_info::min_usecs
uint32_t min_usecs
Definition tap-sctp-analysis.h:264
_sctp_assoc_info::port2
uint16_t port2
Definition tap-sctp-analysis.h:218
_sctp_assoc_info::direction
uint16_t direction
Definition tap-sctp-analysis.h:262
_sctp_assoc_info::verification_tag1
uint32_t verification_tag1
Definition tap-sctp-analysis.h:219
_sctp_assoc_info::sort_tsn2
GPtrArray * sort_tsn2
Definition tap-sctp-analysis.h:282
_sctp_assoc_info::max_bytes1
uint32_t max_bytes1
Definition tap-sctp-analysis.h:271
_sctp_assoc_info::ep1_chunk_count
uint32_t ep1_chunk_count[256]
Definition tap-sctp-analysis.h:292
_sctp_assoc_info::sort_tsn1
GPtrArray * sort_tsn1
Definition tap-sctp-analysis.h:278
_sctp_assoc_info::n_data_bytes_ep1
uint32_t n_data_bytes_ep1
Definition tap-sctp-analysis.h:246
_sctp_error_info
Describes a single protocol error detected within an SCTP chunk.
Definition tap-sctp-analysis.h:300
_sctp_error_info::frame_number
uint32_t frame_number
Definition tap-sctp-analysis.h:301
_sctp_error_info::chunk_info
char chunk_info[200]
Definition tap-sctp-analysis.h:302
_sctp_error_info::info_text
const char * info_text
Definition tap-sctp-analysis.h:303
_sctp_init_collision
Records verification tags and initial TSNs from an INIT/INIT-ACK collision.
Definition tap-sctp-analysis.h:175
_sctp_init_collision::init_vtag
uint32_t init_vtag
Definition tap-sctp-analysis.h:176
_sctp_init_collision::initack
bool initack
Definition tap-sctp-analysis.h:181
_sctp_init_collision::initack_vtag
uint32_t initack_vtag
Definition tap-sctp-analysis.h:177
_sctp_init_collision::initack_min_tsn
uint32_t initack_min_tsn
Definition tap-sctp-analysis.h:179
_sctp_init_collision::init_min_tsn
uint32_t init_min_tsn
Definition tap-sctp-analysis.h:178
_sctp_init_collision::init
bool init
Definition tap-sctp-analysis.h:180
_sctp_tmp_info
Transient per-packet info collected during SCTP dissection before a full association record exists.
Definition tap-sctp-analysis.h:158
_sctp_tmp_info::port1
uint16_t port1
Definition tap-sctp-analysis.h:163
_sctp_tmp_info::src
address src
Definition tap-sctp-analysis.h:161
_sctp_tmp_info::port2
uint16_t port2
Definition tap-sctp-analysis.h:164
_sctp_tmp_info::initiate_tag
uint32_t initiate_tag
Definition tap-sctp-analysis.h:167
_sctp_tmp_info::verification_tag1
uint32_t verification_tag1
Definition tap-sctp-analysis.h:165
_sctp_tmp_info::assoc_id
uint16_t assoc_id
Definition tap-sctp-analysis.h:159
_sctp_tmp_info::verification_tag2
uint32_t verification_tag2
Definition tap-sctp-analysis.h:166
_sctp_tmp_info::direction
uint16_t direction
Definition tap-sctp-analysis.h:160
_sctp_tmp_info::n_tvbs
uint32_t n_tvbs
Definition tap-sctp-analysis.h:168
_sctp_tmp_info::dst
address dst
Definition tap-sctp-analysis.h:162
_tsn
Represents a group of TSNs transmitted in a single SCTP packet.
Definition tap-sctp-analysis.h:144
_tsn::dst
address dst
Definition tap-sctp-analysis.h:149
_tsn::tsns
GList * tsns
Definition tap-sctp-analysis.h:151
_tsn::first_tsn
uint32_t first_tsn
Definition tap-sctp-analysis.h:150
_tsn::secs
uint32_t secs
Definition tap-sctp-analysis.h:146
_tsn::frame_number
uint32_t frame_number
Definition tap-sctp-analysis.h:145
_tsn::src
address src
Definition tap-sctp-analysis.h:148
_tsn::usecs
uint32_t usecs
Definition tap-sctp-analysis.h:147
tsn_sort
A sortable summary record for a single TSN, used when ordering TSNs for graph rendering.
Definition tap-sctp-analysis.h:188
tsn_sort::offset
uint32_t offset
Definition tap-sctp-analysis.h:192
tsn_sort::tsnumber
uint32_t tsnumber
Definition tap-sctp-analysis.h:189
tsn_sort::secs
uint32_t secs
Definition tap-sctp-analysis.h:190
tsn_sort::usecs
uint32_t usecs
Definition tap-sctp-analysis.h:191
tsn_sort::length
uint32_t length
Definition tap-sctp-analysis.h:193
tsn_sort::framenumber
uint32_t framenumber
Definition tap-sctp-analysis.h:194
tsn_t
struct _tsn tsn_t
Represents a group of TSNs transmitted in a single SCTP packet.
sctp_allassocs_info_t
struct _sctp_allassocs_info sctp_allassocs_info_t
Top-level container holding information about all SCTP associations found in a capture.
sctp_error_info_t
struct _sctp_error_info sctp_error_info_t
Describes a single protocol error detected within an SCTP chunk.
sctp_init_collision_t
struct _sctp_init_collision sctp_init_collision_t
Records verification tags and initial TSNs from an INIT/INIT-ACK collision.
sctp_stat_scan
void sctp_stat_scan(void)
Scans the SCTP statistics.
Definition tap-sctp-analysis.c:1261
register_tap_listener_sctp_stat
void register_tap_listener_sctp_stat(void)
Registers a tap listener for SCTP statistics.
Definition tap-sctp-analysis.c:1282
get_sctp_assoc_info
const sctp_assoc_info_t * get_sctp_assoc_info(uint16_t assoc_id)
Retrieves SCTP association information based on the given association ID.
Definition tap-sctp-analysis.c:1275
sctp_addr_chunk
struct _sctp_addr_chunk sctp_addr_chunk
Tracks per-address chunk counts for one direction of an SCTP association.
remove_tap_listener_sctp_stat
void remove_tap_listener_sctp_stat(void)
Removes the SCTP statistics tap listener.
Definition tap-sctp-analysis.c:1251
sctp_stat_get_info
const sctp_allassocs_info_t * sctp_stat_get_info(void)
Gets the SCTP statistics information.
Definition tap-sctp-analysis.c:1269
sctp_assoc_info_t
struct _sctp_assoc_info sctp_assoc_info_t
Complete statistics and metadata record for a single SCTP association.
get_selected_assoc
const sctp_assoc_info_t * get_selected_assoc(void)
Retrieves information about the currently selected SCTP association.
sctp_tmp_info_t
struct _sctp_tmp_info sctp_tmp_info_t
Transient per-packet info collected during SCTP dissection before a full association record exists.