aboutsummaryrefslogtreecommitdiffstats
path: root/packet-osi.h
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2001-03-30 10:51:50 +0000
committerGuy Harris <guy@alum.mit.edu>2001-03-30 10:51:50 +0000
commita8cbb073d4db9e6194718dc7f280a629dc42e854 (patch)
treeea1b2b6021449726e2e9fbb2bee9621526b216b3 /packet-osi.h
parent4f61e8c410c2e68b92bea146a2648e78c6f35f2d (diff)
NLPID's of 0x08 and 0x09 should be labeled as Q.933 and LMI,
respectively, not Q.931 and Q.2931, in Frame Relay. When dissecting Q.933-style multiprotocol encapsulated Frame Relay frames, use the "osinl" dissector table to check for OSI network layer protocols, include the NLPID in the tvbuff you hand to "dissector_try_port()" with that dissector table, and put the NLPID into the protocol tree as an invisible item - the NLPID is considered part of the PDU for those protocols, so you have to include it in the tvbuff, and the dissector will put it into the protocol tree. Also, make sure the top-level entry for the Frame Relay protocol includes all the bytes preceding the payload, and none of the payload bytes. Export a routine to do Q.933-style dissection, and have the WCP dissector call it, rather than duplicating that code in the WCP dissector. Don't register OSI network layer protocols with the "fr.ietf" dissector table; it's now sufficient to register them with the "osinl" dissector table, as the Frame Relay dissector now checks that. Get rid of unnecessary checks for protocols being enabled (if the dissector is always called through handles or dissector tables, the common code for handles and dissector tables will do the checks for you). Get rid of some unnecessary #includes. svn path=/trunk/; revision=3211
Diffstat (limited to 'packet-osi.h')
-rw-r--r--packet-osi.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/packet-osi.h b/packet-osi.h
index b5c759228b..c7d1bbeed0 100644
--- a/packet-osi.h
+++ b/packet-osi.h
@@ -1,6 +1,6 @@
/* packet-osi.h
*
- * $Id: packet-osi.h,v 1.5 2000/11/18 10:38:25 guy Exp $
+ * $Id: packet-osi.h,v 1.6 2001/03/30 10:51:50 guy Exp $
*
* Ethereal - Network traffic analyzer
* By Gerald Combs <gerald@zing.org>
@@ -97,16 +97,19 @@
#define BIT_15 0x4000
#define BIT_16 0x8000
+/*
+ * Dissector table for NLPIDs for protocols whose packets begin with
+ * the NLPID.
+ */
+dissector_table_t osinl_subdissector_table;
/*
* published API functions
*/
-extern void dissect_osi( tvbuff_t *, packet_info *, proto_tree *);
extern gchar *print_nsap_net ( const u_char *, int );
extern gchar *print_area ( const u_char *, int );
extern gchar *print_system_id( const u_char *, int );
extern gchar *calc_checksum ( tvbuff_t *, int, u_int, u_int );
#endif /* _PACKET_OSI_H */
-