aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2006-03-20 10:52:53 +0000
committerRonnie Sahlberg <ronnie_sahlberg@ozemail.com.au>2006-03-20 10:52:53 +0000
commitf331077a60e033e416dfa6fc83d73a8c8d20d56e (patch)
tree48c4368660ebe9fee09f1ef9cc2638198269666e /epan
parent17cee445d75cb021e4932d2700e4f84bf58afc30 (diff)
waste a couple of bytes per tcp conversation and make the tree for acked_packets (i.e. packets that have interesting tcp properties such as being retransmissions etc) hang off the per conversation tcpd struct instead of being global.
while this should improve performance by unmeasurably little it does have the sideeffect that once we finish the rewrite tcp analysis might actually work and work well even for tcp over tcp tunnelling. this also means that if you include packet-tcp.h you also need to include emem.h . svn path=/trunk/; revision=17681
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-aim-chat.c1
-rw-r--r--epan/dissectors/packet-aim.c1
-rw-r--r--epan/dissectors/packet-bittorrent.c1
-rw-r--r--epan/dissectors/packet-cast.c1
-rw-r--r--epan/dissectors/packet-cmp.c13
-rw-r--r--epan/dissectors/packet-cops.c1
-rw-r--r--epan/dissectors/packet-dec-dnart.c3
-rw-r--r--epan/dissectors/packet-dhcp-failover.c1
-rw-r--r--epan/dissectors/packet-dlsw.c1
-rw-r--r--epan/dissectors/packet-dns.c1
-rw-r--r--epan/dissectors/packet-dsi.c1
-rw-r--r--epan/dissectors/packet-edonkey.c1
-rw-r--r--epan/dissectors/packet-gnutella.c1
-rw-r--r--epan/dissectors/packet-icep.c2
-rw-r--r--epan/dissectors/packet-ipdc.c1
-rw-r--r--epan/dissectors/packet-isns.c1
-rw-r--r--epan/dissectors/packet-kerberos.c2
-rw-r--r--epan/dissectors/packet-kpasswd.c3
-rw-r--r--epan/dissectors/packet-laplink.c1
-rw-r--r--epan/dissectors/packet-mq.c1
-rw-r--r--epan/dissectors/packet-mysql.c1
-rw-r--r--epan/dissectors/packet-nbns.c2
-rw-r--r--epan/dissectors/packet-ndmp.c1
-rw-r--r--epan/dissectors/packet-ndps.c2
-rw-r--r--epan/dissectors/packet-netsync.c3
-rw-r--r--epan/dissectors/packet-pgsql.c1
-rw-r--r--epan/dissectors/packet-rpc.c2
-rw-r--r--epan/dissectors/packet-s5066.c1
-rw-r--r--epan/dissectors/packet-skinny.c1
-rw-r--r--epan/dissectors/packet-slsk.c1
-rw-r--r--epan/dissectors/packet-socks.c2
-rw-r--r--epan/dissectors/packet-srvloc.c2
-rw-r--r--epan/dissectors/packet-ssh.c2
-rw-r--r--epan/dissectors/packet-tali.c1
-rw-r--r--epan/dissectors/packet-tcp.c10
-rw-r--r--epan/dissectors/packet-tcp.h4
-rw-r--r--epan/dissectors/packet-tns.c1
-rw-r--r--epan/dissectors/packet-xot.c1
-rw-r--r--epan/dissectors/packet-ymsg.c1
39 files changed, 55 insertions, 22 deletions
diff --git a/epan/dissectors/packet-aim-chat.c b/epan/dissectors/packet-aim-chat.c
index 5ce087c6ea..9b59b39fa4 100644
--- a/epan/dissectors/packet-aim-chat.c
+++ b/epan/dissectors/packet-aim-chat.c
@@ -37,6 +37,7 @@
#include <epan/packet.h>
#include <epan/strutil.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#include "packet-aim.h"
diff --git a/epan/dissectors/packet-aim.c b/epan/dissectors/packet-aim.c
index 18407aa585..a49ad74e4d 100644
--- a/epan/dissectors/packet-aim.c
+++ b/epan/dissectors/packet-aim.c
@@ -40,6 +40,7 @@
#include <epan/packet.h>
#include <epan/strutil.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#include "packet-aim.h"
diff --git a/epan/dissectors/packet-bittorrent.c b/epan/dissectors/packet-bittorrent.c
index 1be80b59db..c76ed44480 100644
--- a/epan/dissectors/packet-bittorrent.c
+++ b/epan/dissectors/packet-bittorrent.c
@@ -37,6 +37,7 @@
#include <epan/conversation.h>
#include <epan/packet.h>
#include <epan/strutil.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
diff --git a/epan/dissectors/packet-cast.c b/epan/dissectors/packet-cast.c
index ab2201ff38..49077b9ae4 100644
--- a/epan/dissectors/packet-cast.c
+++ b/epan/dissectors/packet-cast.c
@@ -32,6 +32,7 @@
#include <epan/packet.h>
#include <epan/prefs.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
diff --git a/epan/dissectors/packet-cmp.c b/epan/dissectors/packet-cmp.c
index 7d050212dd..86c14f0e31 100644
--- a/epan/dissectors/packet-cmp.c
+++ b/epan/dissectors/packet-cmp.c
@@ -47,6 +47,7 @@
#include "packet-crmf.h"
#include "packet-pkix1explicit.h"
#include "packet-pkix1implicit.h"
+#include <epan/emem.h>
#include "packet-tcp.h"
#include <epan/prefs.h>
#include <epan/nstime.h>
@@ -182,7 +183,7 @@ static int hf_cmp_PKIFailureInfo_missingTimeStamp = -1;
static int hf_cmp_PKIFailureInfo_badPOP = -1;
/*--- End of included file: packet-cmp-hf.c ---*/
-#line 64 "packet-cmp-template.c"
+#line 65 "packet-cmp-template.c"
/* Initialize the subtree pointers */
static gint ett_cmp = -1;
@@ -226,7 +227,7 @@ static gint ett_cmp_GenRepContent = -1;
static gint ett_cmp_ErrorMsgContent = -1;
/*--- End of included file: packet-cmp-ett.c ---*/
-#line 68 "packet-cmp-template.c"
+#line 69 "packet-cmp-template.c"
static const char *object_identifier_id;
@@ -1315,7 +1316,7 @@ dissect_cmp_OOBCertHash(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, pa
/*--- End of included file: packet-cmp-fn.c ---*/
-#line 73 "packet-cmp-template.c"
+#line 74 "packet-cmp-template.c"
static int
dissect_cmp_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
@@ -1488,7 +1489,7 @@ dissect_cmp_http(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
tree = proto_item_add_subtree(item, ett_cmp);
}
- return dissect_cmp_pdu(tvb, pinfo, tree);
+ dissect_cmp_pdu(tvb, pinfo, tree);
}
@@ -1958,7 +1959,7 @@ void proto_register_cmp(void) {
"", HFILL }},
/*--- End of included file: packet-cmp-hfarr.c ---*/
-#line 279 "packet-cmp-template.c"
+#line 280 "packet-cmp-template.c"
};
/* List of subtrees */
@@ -2004,7 +2005,7 @@ void proto_register_cmp(void) {
&ett_cmp_ErrorMsgContent,
/*--- End of included file: packet-cmp-ettarr.c ---*/
-#line 285 "packet-cmp-template.c"
+#line 286 "packet-cmp-template.c"
};
module_t *cmp_module;
diff --git a/epan/dissectors/packet-cops.c b/epan/dissectors/packet-cops.c
index d45aa9bda1..ca5f63b6af 100644
--- a/epan/dissectors/packet-cops.c
+++ b/epan/dissectors/packet-cops.c
@@ -63,6 +63,7 @@
#include "isprint.h"
#include <epan/packet.h>
+#include <epan/emem.h>
#include "packet-ipv6.h"
#include "packet-tcp.h"
diff --git a/epan/dissectors/packet-dec-dnart.c b/epan/dissectors/packet-dec-dnart.c
index 6770bf5443..9b621e44ca 100644
--- a/epan/dissectors/packet-dec-dnart.c
+++ b/epan/dissectors/packet-dec-dnart.c
@@ -53,7 +53,8 @@
#include <gmodule.h>
#include <epan/packet.h>
#include <epan/proto.h>
-#include <epan/dissectors/packet-tcp.h>
+#include <epan/emem.h>
+#include "packet-tcp.h"
#include <epan/etypes.h>
#include <epan/ppptypes.h>
diff --git a/epan/dissectors/packet-dhcp-failover.c b/epan/dissectors/packet-dhcp-failover.c
index 971cdf034e..22f26ee2ec 100644
--- a/epan/dissectors/packet-dhcp-failover.c
+++ b/epan/dissectors/packet-dhcp-failover.c
@@ -48,6 +48,7 @@
#include <epan/packet.h>
#include <epan/strutil.h>
#include <epan/prefs.h>
+#include <epan/emem.h>
#include "packet-arp.h"
#include "packet-tcp.h"
diff --git a/epan/dissectors/packet-dlsw.c b/epan/dissectors/packet-dlsw.c
index e60d0130f2..8b24c5e370 100644
--- a/epan/dissectors/packet-dlsw.c
+++ b/epan/dissectors/packet-dlsw.c
@@ -34,6 +34,7 @@
#include <string.h>
#include <glib.h>
#include <epan/packet.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
static int proto_dlsw = -1;
diff --git a/epan/dissectors/packet-dns.c b/epan/dissectors/packet-dns.c
index f6e984a2bd..2dff93c5b5 100644
--- a/epan/dissectors/packet-dns.c
+++ b/epan/dissectors/packet-dns.c
@@ -36,6 +36,7 @@
#include <glib.h>
#include <epan/packet.h>
+#include <epan/emem.h>
#include <epan/ipproto.h>
#include <epan/addr_resolv.h>
#include "packet-dns.h"
diff --git a/epan/dissectors/packet-dsi.c b/epan/dissectors/packet-dsi.c
index 7604a587c6..16fba4e58d 100644
--- a/epan/dissectors/packet-dsi.c
+++ b/epan/dissectors/packet-dsi.c
@@ -33,6 +33,7 @@
#include <glib.h>
#include <epan/packet.h>
+#include <epan/emem.h>
#include <epan/prefs.h>
#include "packet-tcp.h"
diff --git a/epan/dissectors/packet-edonkey.c b/epan/dissectors/packet-edonkey.c
index e04ee1758e..d08fa74c8e 100644
--- a/epan/dissectors/packet-edonkey.c
+++ b/epan/dissectors/packet-edonkey.c
@@ -38,6 +38,7 @@
#include <epan/packet.h>
#include <epan/prefs.h>
+#include <epan/emem.h>
#include "packet-edonkey.h"
#include "packet-tcp.h"
diff --git a/epan/dissectors/packet-gnutella.c b/epan/dissectors/packet-gnutella.c
index 1c6ccec981..d3728918b2 100644
--- a/epan/dissectors/packet-gnutella.c
+++ b/epan/dissectors/packet-gnutella.c
@@ -35,6 +35,7 @@
#include <epan/packet.h>
+#include <epan/emem.h>
#include "packet-gnutella.h"
#include "packet-tcp.h"
diff --git a/epan/dissectors/packet-icep.c b/epan/dissectors/packet-icep.c
index 92b0f14f9f..b5d31a7b31 100644
--- a/epan/dissectors/packet-icep.c
+++ b/epan/dissectors/packet-icep.c
@@ -53,8 +53,8 @@
#include <glib.h>
#include <epan/packet.h>
-#include <epan/dissectors/packet-tcp.h>
#include <epan/emem.h>
+#include "packet-tcp.h"
#if 0
#define DBG(str, args...) do {\
diff --git a/epan/dissectors/packet-ipdc.c b/epan/dissectors/packet-ipdc.c
index 36f0681c2c..0508d67f24 100644
--- a/epan/dissectors/packet-ipdc.c
+++ b/epan/dissectors/packet-ipdc.c
@@ -38,6 +38,7 @@
#include <math.h>
#include <epan/packet.h>
+#include <epan/emem.h>
#include "packet-ipdc.h"
#include "packet-tcp.h"
#include <epan/packet.h>
diff --git a/epan/dissectors/packet-isns.c b/epan/dissectors/packet-isns.c
index 163426b7a1..c65cc50465 100644
--- a/epan/dissectors/packet-isns.c
+++ b/epan/dissectors/packet-isns.c
@@ -48,6 +48,7 @@
#include <glib.h>
#include <epan/packet.h>
+#include <epan/emem.h>
#include <epan/conversation.h>
#include "packet-tcp.h"
#include <epan/prefs.h>
diff --git a/epan/dissectors/packet-kerberos.c b/epan/dissectors/packet-kerberos.c
index 10e4701411..fbc25d36a6 100644
--- a/epan/dissectors/packet-kerberos.c
+++ b/epan/dissectors/packet-kerberos.c
@@ -82,6 +82,7 @@
#include <epan/strutil.h>
#include <epan/conversation.h>
+#include <epan/emem.h>
#include <epan/dissectors/packet-kerberos.h>
#include <epan/dissectors/packet-netbios.h>
#include <epan/dissectors/packet-tcp.h>
@@ -95,7 +96,6 @@
#include <epan/dissectors/packet-dcerpc.h>
#include <epan/dissectors/packet-gssapi.h>
-#include <epan/emem.h>
#define UDP_PORT_KERBEROS 88
#define TCP_PORT_KERBEROS 88
diff --git a/epan/dissectors/packet-kpasswd.c b/epan/dissectors/packet-kpasswd.c
index 9d8cb5b2a8..2dc863b82e 100644
--- a/epan/dissectors/packet-kpasswd.c
+++ b/epan/dissectors/packet-kpasswd.c
@@ -30,7 +30,8 @@
#endif
#include <epan/packet.h>
-#include <epan/dissectors/packet-tcp.h>
+#include <epan/emem.h>
+#include "packet-tcp.h"
#include "packet-kerberos.h"
#include "packet-ber.h"
#include <epan/prefs.h>
diff --git a/epan/dissectors/packet-laplink.c b/epan/dissectors/packet-laplink.c
index 9f02295074..821baa5d1c 100644
--- a/epan/dissectors/packet-laplink.c
+++ b/epan/dissectors/packet-laplink.c
@@ -36,6 +36,7 @@
#include <epan/packet.h>
#include <epan/strutil.h>
#include <epan/conversation.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#include <epan/prefs.h>
diff --git a/epan/dissectors/packet-mq.c b/epan/dissectors/packet-mq.c
index 3c458d641e..2f8940072e 100644
--- a/epan/dissectors/packet-mq.c
+++ b/epan/dissectors/packet-mq.c
@@ -70,6 +70,7 @@
#include <glib.h>
#include <epan/packet.h>
+#include <epan/emem.h>
#include <epan/conversation.h>
#include <epan/reassemble.h>
#include <epan/prefs.h>
diff --git a/epan/dissectors/packet-mysql.c b/epan/dissectors/packet-mysql.c
index 46fb2f74ef..857935d7a2 100644
--- a/epan/dissectors/packet-mysql.c
+++ b/epan/dissectors/packet-mysql.c
@@ -38,6 +38,7 @@
#include <glib.h>
#include <epan/packet.h>
#include <epan/conversation.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#include <epan/reassemble.h>
diff --git a/epan/dissectors/packet-nbns.c b/epan/dissectors/packet-nbns.c
index a36d56eed0..599d4c61a3 100644
--- a/epan/dissectors/packet-nbns.c
+++ b/epan/dissectors/packet-nbns.c
@@ -33,12 +33,12 @@
#include <glib.h>
#include <epan/packet.h>
+#include <epan/emem.h>
#include "packet-dns.h"
#include "packet-netbios.h"
#include "packet-tcp.h"
#include "packet-frame.h"
#include <epan/prefs.h>
-#include <epan/emem.h>
static int proto_nbns = -1;
static int hf_nbns_flags = -1;
diff --git a/epan/dissectors/packet-ndmp.c b/epan/dissectors/packet-ndmp.c
index 632a4a2070..bdae132fea 100644
--- a/epan/dissectors/packet-ndmp.c
+++ b/epan/dissectors/packet-ndmp.c
@@ -40,6 +40,7 @@
#include <epan/packet.h>
#include <epan/conversation.h>
+#include <epan/emem.h>
#include "packet-rpc.h"
#include "packet-tcp.h"
#include "packet-scsi.h"
diff --git a/epan/dissectors/packet-ndps.c b/epan/dissectors/packet-ndps.c
index c1405169c2..e03c86ac3d 100644
--- a/epan/dissectors/packet-ndps.c
+++ b/epan/dissectors/packet-ndps.c
@@ -32,12 +32,12 @@
#include <glib.h>
#include <epan/packet.h>
#include <epan/prefs.h>
+#include <epan/emem.h>
#include "packet-ipx.h"
#include "packet-tcp.h"
#include <epan/conversation.h>
#include "packet-ndps.h"
#include <epan/reassemble.h>
-#include <epan/emem.h>
#include <epan/expert.h>
/* Limit the number of items we can add to the tree. */
diff --git a/epan/dissectors/packet-netsync.c b/epan/dissectors/packet-netsync.c
index 1068adb7ba..db41dfff2f 100644
--- a/epan/dissectors/packet-netsync.c
+++ b/epan/dissectors/packet-netsync.c
@@ -39,7 +39,8 @@
#include <epan/addr_resolv.h>
#include <epan/prefs.h>
#include <epan/strutil.h>
-#include <epan/dissectors/packet-tcp.h>
+#include <epan/emem.h>
+#include "packet-tcp.h"
/*
* See
diff --git a/epan/dissectors/packet-pgsql.c b/epan/dissectors/packet-pgsql.c
index 4bf34c8cac..16c73b727e 100644
--- a/epan/dissectors/packet-pgsql.c
+++ b/epan/dissectors/packet-pgsql.c
@@ -32,6 +32,7 @@
#include <epan/packet.h>
#include <epan/conversation.h>
#include <epan/prefs.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#include <epan/reassemble.h>
diff --git a/epan/dissectors/packet-rpc.c b/epan/dissectors/packet-rpc.c
index d146ce2263..81e7497e09 100644
--- a/epan/dissectors/packet-rpc.c
+++ b/epan/dissectors/packet-rpc.c
@@ -35,6 +35,7 @@
#include <ctype.h>
#include <epan/packet.h>
#include <epan/conversation.h>
+#include <epan/emem.h>
#include "packet-rpc.h"
#include "packet-frame.h"
#include "packet-tcp.h"
@@ -43,7 +44,6 @@
#include <epan/dissectors/rpc_defrag.h>
#include "packet-nfs.h"
#include <epan/tap.h>
-#include <epan/emem.h>
#include <epan/strutil.h>
/*
diff --git a/epan/dissectors/packet-s5066.c b/epan/dissectors/packet-s5066.c
index a9e3da8d0c..fd17556e05 100644
--- a/epan/dissectors/packet-s5066.c
+++ b/epan/dissectors/packet-s5066.c
@@ -31,6 +31,7 @@
#include <gmodule.h>
#include <epan/packet.h>
#include <epan/prefs.h>
+#include <epan/emem.h>
#include <epan/dissectors/packet-tcp.h> /* For tcp_dissect_pdus() */
/* Forward reference */
diff --git a/epan/dissectors/packet-skinny.c b/epan/dissectors/packet-skinny.c
index 5aa2ac55cf..bb856bc685 100644
--- a/epan/dissectors/packet-skinny.c
+++ b/epan/dissectors/packet-skinny.c
@@ -44,6 +44,7 @@
#include <epan/packet.h>
#include <epan/prefs.h>
+#include <epan/emem.h>
#include "packet-rtp.h"
#include "packet-tcp.h"
diff --git a/epan/dissectors/packet-slsk.c b/epan/dissectors/packet-slsk.c
index 498aa600c3..45c6de803e 100644
--- a/epan/dissectors/packet-slsk.c
+++ b/epan/dissectors/packet-slsk.c
@@ -42,6 +42,7 @@
#include <epan/packet.h>
#include <epan/tvbuff.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#include <epan/prefs.h>
#include <epan/strutil.h>
diff --git a/epan/dissectors/packet-socks.c b/epan/dissectors/packet-socks.c
index 2ff0a73f56..1e893cfa09 100644
--- a/epan/dissectors/packet-socks.c
+++ b/epan/dissectors/packet-socks.c
@@ -77,10 +77,10 @@
#include <epan/addr_resolv.h>
#include <epan/conversation.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#include "packet-udp.h"
#include <epan/strutil.h>
-#include <epan/emem.h>
#define compare_packet(X) (X == (pinfo->fd->num))
diff --git a/epan/dissectors/packet-srvloc.c b/epan/dissectors/packet-srvloc.c
index edbc5fc766..409a35c74c 100644
--- a/epan/dissectors/packet-srvloc.c
+++ b/epan/dissectors/packet-srvloc.c
@@ -48,9 +48,9 @@
#include <epan/packet.h>
#include <epan/strutil.h>
#include <epan/prefs.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#include <epan/reassemble.h>
-#include <epan/emem.h>
#include <epan/expert.h>
static proto_item *expert_item = NULL;
diff --git a/epan/dissectors/packet-ssh.c b/epan/dissectors/packet-ssh.c
index 5fd86cd0c8..5c5092f8f9 100644
--- a/epan/dissectors/packet-ssh.c
+++ b/epan/dissectors/packet-ssh.c
@@ -37,11 +37,11 @@
#include <glib.h>
#include <epan/packet.h>
#include <epan/conversation.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#include <epan/reassemble.h>
#include <epan/prefs.h>
-#include <epan/emem.h>
/* get from openssh ssh2.h */
#define SSH2_MSG_DISCONNECT 1
diff --git a/epan/dissectors/packet-tali.c b/epan/dissectors/packet-tali.c
index 07b535d148..5e9fe3b0a7 100644
--- a/epan/dissectors/packet-tali.c
+++ b/epan/dissectors/packet-tali.c
@@ -40,6 +40,7 @@
#include <epan/packet.h>
#include <epan/prefs.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#define TALI_SYNC_LENGTH 4
diff --git a/epan/dissectors/packet-tcp.c b/epan/dissectors/packet-tcp.c
index f0fad540b0..7032e854e3 100644
--- a/epan/dissectors/packet-tcp.c
+++ b/epan/dissectors/packet-tcp.c
@@ -37,6 +37,7 @@
#include <epan/ip_opts.h>
#include <epan/follow.h>
#include <epan/prefs.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#include "packet-ip.h"
#include "packet-frame.h"
@@ -44,7 +45,6 @@
#include <epan/strutil.h>
#include <epan/reassemble.h>
#include <epan/tap.h>
-#include <epan/emem.h>
#include <epan/slab.h>
#include <epan/expert.h>
@@ -212,7 +212,6 @@ static SLAB_FREE_LIST_DEFINE(tcp_unacked_t)
static GHashTable *tcp_pdu_tracking_table = NULL;
static GHashTable *tcp_pdu_skipping_table = NULL;
-static se_tree_t *tcp_analyze_acked_table = NULL;
static se_tree_t *tcp_pdu_time_table = NULL;
static void
@@ -266,6 +265,8 @@ get_tcp_conversation_data(packet_info *pinfo)
tcpd->flow2.window=0;
tcpd->flow2.win_scale=-1;
tcpd->flow2.pdu_seq=NULL;
+ tcpd->acked_table=se_tree_create_non_persistent(SE_TREE_TYPE_RED_BLACK, "tcp_analyze_acked_table");
+
conversation_add_proto_data(conv, proto_tcp, tcpd);
}
@@ -495,7 +496,7 @@ tcp_get_relative_seq_ack(guint32 *seq, guint32 *ack, guint32 *win, struct tcp_an
static void
tcp_analyze_get_acked_struct(guint32 frame, gboolean createflag, struct tcp_analysis *tcpd)
{
- tcpd->ta=se_tree_lookup32(tcp_analyze_acked_table, frame);
+ tcpd->ta=se_tree_lookup32(tcpd->acked_table, frame);
if((!tcpd->ta) && createflag){
tcpd->ta=se_alloc(sizeof(struct tcp_acked));
tcpd->ta->frame_acked=0;
@@ -504,7 +505,7 @@ tcp_analyze_get_acked_struct(guint32 frame, gboolean createflag, struct tcp_anal
tcpd->ta->flags=0;
tcpd->ta->dupack_num=0;
tcpd->ta->dupack_frame=0;
- se_tree_insert32(tcp_analyze_acked_table, frame, (void *)tcpd->ta);
+ se_tree_insert32(tcpd->acked_table, frame, (void *)tcpd->ta);
}
}
@@ -3086,7 +3087,6 @@ proto_register_tcp(void)
&try_heuristic_first);
tcp_pdu_time_table=se_tree_create(SE_TREE_TYPE_RED_BLACK, "tcp_pdu_time_table");
- tcp_analyze_acked_table=se_tree_create(SE_TREE_TYPE_RED_BLACK, "tcp_analyze_acked_table");
register_init_routine(tcp_analyze_seq_init);
register_init_routine(tcp_desegment_init);
register_init_routine(tcp_fragment_init);
diff --git a/epan/dissectors/packet-tcp.h b/epan/dissectors/packet-tcp.h
index e762da3e4a..061d77c498 100644
--- a/epan/dissectors/packet-tcp.h
+++ b/epan/dissectors/packet-tcp.h
@@ -173,6 +173,10 @@ struct tcp_analysis {
* similar
*/
struct tcp_acked *ta;
+ /* This structure contains a tree containing all the various ta's
+ * keyed by frame number.
+ */
+ se_tree_t *acked_table;
};
diff --git a/epan/dissectors/packet-tns.c b/epan/dissectors/packet-tns.c
index c54ea8747d..3a3ee76120 100644
--- a/epan/dissectors/packet-tns.c
+++ b/epan/dissectors/packet-tns.c
@@ -33,6 +33,7 @@
#include <string.h>
#include <glib.h>
#include <epan/packet.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#include "packet-tns.h"
diff --git a/epan/dissectors/packet-xot.c b/epan/dissectors/packet-xot.c
index b29b07cb9a..6f1febb4c2 100644
--- a/epan/dissectors/packet-xot.c
+++ b/epan/dissectors/packet-xot.c
@@ -35,6 +35,7 @@
#include <string.h>
#include <glib.h>
#include <epan/packet.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#include <epan/prefs.h>
diff --git a/epan/dissectors/packet-ymsg.c b/epan/dissectors/packet-ymsg.c
index d77adcbae3..554835314d 100644
--- a/epan/dissectors/packet-ymsg.c
+++ b/epan/dissectors/packet-ymsg.c
@@ -33,6 +33,7 @@
#include <string.h>
#include <glib.h>
#include <epan/packet.h>
+#include <epan/emem.h>
#include "packet-tcp.h"
#include <epan/prefs.h>