aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-tcp.h
diff options
context:
space:
mode:
authorsahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2006-04-28 09:44:02 +0000
committersahlberg <sahlberg@f5534014-38df-0310-8fa8-9805f1628bb7>2006-04-28 09:44:02 +0000
commit586cb50d01342c24330d563eb57a52407dc7287e (patch)
tree0e5208ed1349436eaf45cac131dc457704beb7b3 /epan/dissectors/packet-tcp.h
parent5f0df4eda2e679c846cf2bd8206fad7870b6d26e (diff)
tcp analysis updates to prepare for later tcp reassembly updates
now that we have se_tree_lookup32_le we can do the tracking of pdu boundaries much more efficiently. track pdu boundaries by a new tcp_multisegment_pdu structure that is indexed by sequence numbers and let this structure replace the older tcp_next_pdu structure. with se_tree_lookup32_le we no longer need to track segment by segment and can get rid of the two hash tables tcp_pdu_tracking_table tcp_pdu_skipping_table Neither do we need the tree tcp_pdu_time_table anymore so that one is gone as well. remove various other functions that are no longer needed due to removing the structure and the tables/tree this part of the code shoul;d be much more readable now and also a bit faster git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@18024 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'epan/dissectors/packet-tcp.h')
-rw-r--r--epan/dissectors/packet-tcp.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/epan/dissectors/packet-tcp.h b/epan/dissectors/packet-tcp.h
index 061d77c498..669b232e6e 100644
--- a/epan/dissectors/packet-tcp.h
+++ b/epan/dissectors/packet-tcp.h
@@ -107,8 +107,10 @@ struct tcp_acked {
guint32 dupack_frame; /* dup ack to frame # */
};
-struct tcp_next_pdu {
- struct tcp_next_pdu *next;
+/* One instance of this structure is created for each pdu that spans across
+ * multiple tcp segments.
+ */
+struct tcp_multisegment_pdu {
guint32 seq;
guint32 nxtpdu;
guint32 first_frame;
@@ -137,10 +139,10 @@ typedef struct _tcp_flow_t {
gint16 win_scale; /* -1 is we dont know */
guint32 lastsegmentflags;
- /* this list is used to track when PDUs may start
- inside a segment.
- */
- struct tcp_next_pdu *pdu_seq;
+ /* This tree is indexed by sequence number and keeps track of all
+ * all pdus spanning multiple segments for this flow.
+ */
+ se_tree_t *multisegment_pdus;
} tcp_flow_t;