aboutsummaryrefslogtreecommitdiffstats
path: root/packet-osi.c
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2001-03-30 10:51:50 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2001-03-30 10:51:50 +0000
commit63e7a79cb10b89e63824f9cc5a0a2c90ddd974a9 (patch)
treeea1b2b6021449726e2e9fbb2bee9621526b216b3 /packet-osi.c
parent7670b81e2c7572d1debc0d56dc9eaba385e30277 (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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@3211 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-osi.c')
-rw-r--r--packet-osi.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/packet-osi.c b/packet-osi.c
index 53c7bc5274..e3588acb28 100644
--- a/packet-osi.c
+++ b/packet-osi.c
@@ -2,7 +2,7 @@
* Routines for ISO/OSI network and transport protocol packet disassembly
* Main entrance point and common functions
*
- * $Id: packet-osi.c,v 1.40 2001/03/29 08:05:06 guy Exp $
+ * $Id: packet-osi.c,v 1.41 2001/03/30 10:51:50 guy Exp $
* Laurent Deniel <deniel@worldnet.fr>
* Ralf Schneider <Ralf.Schneider@t-online.de>
*
@@ -224,9 +224,9 @@ const value_string nlpid_vals[] = {
{ 0, NULL },
};
-static dissector_table_t subdissector_table;
+dissector_table_t osinl_subdissector_table;
-void dissect_osi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
+static void dissect_osi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
guint8 nlpid;
@@ -235,7 +235,7 @@ void dissect_osi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
nlpid = tvb_get_guint8(tvb, 0);
/* do lookup with the subdissector table */
- if (dissector_try_port(subdissector_table, nlpid, tvb, pinfo, tree))
+ if (dissector_try_port(osinl_subdissector_table, nlpid, tvb, pinfo, tree))
return;
switch (nlpid) {
@@ -272,7 +272,7 @@ proto_register_osi(void)
/* There's no "OSI" protocol *per se*, but we do register a
dissector table so various protocols running at the
network layer can register themselves. */
- subdissector_table = register_dissector_table("osinl");
+ osinl_subdissector_table = register_dissector_table("osinl");
}
void