aboutsummaryrefslogtreecommitdiffstats
path: root/packet-ipx.h
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2003-04-08 02:00:54 +0000
committerGuy Harris <guy@alum.mit.edu>2003-04-08 02:00:54 +0000
commit072e149f3c95fa01dc93ecc052c9045423199f08 (patch)
tree53765381c4b43de862d2e060d466bf6122136638 /packet-ipx.h
parent2d61e4ca47178095357efe483a4c920b77df49ba (diff)
Move the definition of the structure constructed for each SPX
transmission (and shared by all retransmissions), and passed to SPX subdissectors, to "packet-ipx.h", and use the same structure in the SPX dissector and the NDPS dissector. Set up conversations and those structures without checking whether we've seen the packet before or not; just check whether we find the conversation before creating a new one, and check whether we find a structure for the packet before creating a new one. Pass it to the subdissector regardless of whether we've seen the packet before or not, and check it in the NDPS dissector regardless of whether we've seen it before or not. Don't store a "retransmission" flag in the structure - the initial transmission and the retransmissions all share a single data structure, but they don't all have the same value for the "retransmission" flag, and you can tell whether a packet is a retransmission or not by comparing its frame number with the frame number from the structure; if they're different, it's a retransmission. svn path=/trunk/; revision=7418
Diffstat (limited to 'packet-ipx.h')
-rw-r--r--packet-ipx.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/packet-ipx.h b/packet-ipx.h
index 99fbe66175..cabccc3296 100644
--- a/packet-ipx.h
+++ b/packet-ipx.h
@@ -6,7 +6,7 @@
* Portions Copyright (c) by Gilbert Ramirez 2000-2002
* Portions Copyright (c) Novell, Inc. 2002-2003
*
- * $Id: packet-ipx.h,v 1.24 2003/04/08 00:22:26 guy Exp $
+ * $Id: packet-ipx.h,v 1.25 2003/04/08 02:00:53 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@ethereal.com>
@@ -151,4 +151,18 @@ extern const value_string server_vals[];
void capture_ipx(packet_counts *);
+/*
+ * Structure passed to subdissectors of the SPX dissector.
+ * It contains fields from the SPX header, plus the frame number.
+ * It's kept in a hash table, so if an SPX packet is retransmitted,
+ * there's only one copy, and "num" is the frame number of the first
+ * transmission.
+ */
+typedef struct _spx_info{
+ guint16 spx_seq;
+ guint16 spx_ack;
+ guint16 spx_all;
+ guint32 num;
+} spx_info;
+
#endif