26#include <ws_symbol_export.h>
45 TCPCLV3_TYPE_MASK = 0xf0,
46 TCPCLV3_DATA_SEGMENT = 0x10,
47 TCPCLV3_ACK_SEGMENT = 0x20,
48 TCPCLV3_REFUSE_BUNDLE = 0x30,
49 TCPCLV3_KEEP_ALIVE = 0x40,
50 TCPCLV3_SHUTDOWN = 0x50,
51 TCPCLV3_LENGTH = 0x60,
56 TCPCLV3_BUNDLE_ACK_FLAG = 0x01,
57 TCPCLV3_REACTIVE_FRAG_FLAG = 0x02,
58 TCPCLV3_CONNECTOR_RCVR_FLAG = 0x04,
63 TCPCLV3_DATA_FLAGS = 0x03,
64 TCPCLV3_DATA_END_FLAG = 0x01,
65 TCPCLV3_DATA_START_FLAG = 0x02,
66} Tcpclv3DataSegmentFlag;
70 TCPCLV3_SHUTDOWN_FLAGS = 0x03,
71 TCPCLV3_SHUTDOWN_REASON = 0x02,
72 TCPCLV3_SHUTDOWN_DELAY = 0x01,
77 TCPCLV3_REFUSE_REASON_UNKNOWN = 0x00,
78 TCPCLV3_REFUSE_REASON_RX_COMPLETE = 0x01,
79 TCPCLV3_REFUSE_REASON_RX_EXHAUSTED = 0x02,
80 TCPCLV3_REFUSE_REASON_RX_RETRANSMIT = 0x03,
86 TCPCLV4_MSGTYPE_INVALID = 0x00,
87 TCPCLV4_MSGTYPE_XFER_SEGMENT = 0x01,
88 TCPCLV4_MSGTYPE_XFER_ACK = 0x02,
89 TCPCLV4_MSGTYPE_XFER_REFUSE = 0x03,
90 TCPCLV4_MSGTYPE_KEEPALIVE = 0x04,
91 TCPCLV4_MSGTYPE_SESS_TERM = 0x05,
92 TCPCLV4_MSGTYPE_MSG_REJECT = 0x06,
93 TCPCLV4_MSGTYPE_SESS_INIT = 0x07,
97 TCPCLV4_SESSEXT_INVALID = 0x00,
98} Tcpclv4SessExtenionType;
101 TCPCLV4_XFEREXT_INVALID = 0x00,
102 TCPCLV4_XFEREXT_TRANSFER_LEN = 0x01,
103} Tcpclv4XferExtenionType;
106 TCPCLV4_CONTACT_FLAG_CANTLS = 0x01,
110 TCPCLV4_SESS_TERM_FLAG_REPLY = 0x01,
111} Tcpclv4SessTermFlag;
114 TCPCLV4_TRANSFER_FLAG_START = 0x02,
115 TCPCLV4_TRANSFER_FLAG_END = 0x01,
116} Tcpclv4TransferFlag;
119 TCPCLV4_EXTENSION_FLAG_CRITICAL = 0x01,
120} Tcpclv4ExtensionFlag;
Definition packet_info.h:43
Definition wmem_list.c:23
Persistent state associated with a TCP conversation.
Definition packet-tcpcl.h:180
bool contact_negotiated
True when contact negotiation is finished.
Definition packet-tcpcl.h:190
tcpcl_peer_t * passive
Information for the passive side of the session.
Definition packet-tcpcl.h:184
tcpcl_peer_t * active
Information for the active side of the session.
Definition packet-tcpcl.h:182
tcpcl_frame_loc_t * session_tls_start
The last frame before TLS handshake.
Definition packet-tcpcl.h:194
uint8_t * version
Definition packet-tcpcl.h:188
bool sess_negotiated
True when session negotiation is finished.
Definition packet-tcpcl.h:197
uint16_t sess_keepalive
Negotiated session keepalive.
Definition packet-tcpcl.h:199
bool session_use_tls
Negotiated use of TLS from can_tls of the peers.
Definition packet-tcpcl.h:192
Context for a single packet dissection.
Definition packet-tcpcl.h:203
tcpcl_frame_loc_t * cur_loc
Dissection cursor.
Definition packet-tcpcl.h:206
bool is_contact
True if the dissection is on a contact header.
Definition packet-tcpcl.h:208
tcpcl_peer_t * rx_peer
The receiving peer.
Definition packet-tcpcl.h:212
tcpcl_peer_t * tx_peer
The sending peer.
Definition packet-tcpcl.h:210
tvbuff_t * xferload
Possible transfer payload.
Definition packet-tcpcl.h:214
Finer grained locating than just the frame number.
Definition packet-tcpcl.h:123
uint32_t frame_num
Index of the frame.
Definition packet-tcpcl.h:125
int raw_offset
Offset within the source TVB.
Definition packet-tcpcl.h:129
int src_ix
Source index within the frame.
Definition packet-tcpcl.h:127
Definition packet-tcpcl.h:143
uint8_t version
TCPCL version seen from this peer.
Definition packet-tcpcl.h:154
uint32_t port
Port for the this peer.
Definition packet-tcpcl.h:147
bool chdr_missing
True if a contact header was not seen at the start of connection.
Definition packet-tcpcl.h:150
tcpcl_frame_loc_t * chdr_seen
Frame number in which the contact header starts.
Definition packet-tcpcl.h:152
address addr
Address for this peer.
Definition packet-tcpcl.h:145
uint16_t keepalive
Keepalive duration (s) from v4 SESS_INIT.
Definition packet-tcpcl.h:161
bool can_tls
CAN_TLS flag from the contact header.
Definition packet-tcpcl.h:156
wmem_map_t * transfers
Map from transfer ID uint64_t* to tcpcl_transfer_t* sent from this peer.
Definition packet-tcpcl.h:176
uint64_t transfer_mru
Transfer MRU.
Definition packet-tcpcl.h:165
uint64_t segment_mru
Segment MRU.
Definition packet-tcpcl.h:163
wmem_map_t * frame_loc_to_transfer
Map from tcpcl_frame_loc_t* to possible associated transfer ID uint64_t*.
Definition packet-tcpcl.h:173
uint8_t sess_term_reason
SESS_TERM reason.
Definition packet-tcpcl.h:170
tcpcl_frame_loc_t * sess_term_seen
Frame number in which the SESS_TERM message starts.
Definition packet-tcpcl.h:168
tcpcl_frame_loc_t * sess_init_seen
Frame number in which the v4 SESS_INIT message starts.
Definition packet-tcpcl.h:159
Definition packet-tcpcl.h:132
wmem_list_t * ack_list
Ordered list of ack_meta_t* for XFER_ACK as seen in the first scan.
Definition packet-tcpcl.h:137
uint64_t * total_length
Optional Transfer Length extension.
Definition packet-tcpcl.h:140
wmem_list_t * seg_list
Ordered list of seg_meta_t* for XFER_SEGMENT as seen in the first scan.
Definition packet-tcpcl.h:134
Definition tvbuff-int.h:35