aboutsummaryrefslogtreecommitdiffstats
path: root/packet-osi.c
diff options
context:
space:
mode:
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2003-09-20 03:31:25 +0000
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>2003-09-20 03:31:25 +0000
commit208fe3e5a7d36325083e191ef696b2f37292d049 (patch)
treef7eca4024fdbf19efe47ab82372881465c4945ca /packet-osi.c
parentb2f60bb4d08cec3f9e968e16de7bc0e81f567eed (diff)
From Akira Endoh: handle the NLPID for PPP.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@8500 f5534014-38df-0310-8fa8-9805f1628bb7
Diffstat (limited to 'packet-osi.c')
-rw-r--r--packet-osi.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/packet-osi.c b/packet-osi.c
index 8bd85d59d0..afc00cafb0 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.62 2003/06/10 05:38:52 guy Exp $
+ * $Id: packet-osi.c,v 1.63 2003/09/20 03:31:25 guy Exp $
* Laurent Deniel <laurent.deniel@free.fr>
* Ralf Schneider <Ralf.Schneider@t-online.de>
*
@@ -224,11 +224,12 @@ const value_string nlpid_vals[] = {
};
static dissector_table_t osinl_subdissector_table;
-static dissector_handle_t data_handle;
+static dissector_handle_t data_handle, ppp_handle;
static void dissect_osi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
guint8 nlpid;
+ tvbuff_t *new_tvb;
pinfo->current_proto = "OSI";
@@ -254,6 +255,14 @@ static void dissect_osi(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
}
call_dissector(data_handle,tvb, pinfo, tree);
break;
+ case NLPID_PPP:
+ /* XXX - we should put the NLPID into the protocol tree.
+ We should also probably have a subdissector table for
+ those protocols whose PDUs *aren't* defined to begin
+ with an NLPID. */
+ new_tvb = tvb_new_subset(tvb, 1, -1, -1);
+ call_dissector(ppp_handle, new_tvb, pinfo, tree);
+ break;
default:
if (check_col(pinfo->cinfo, COL_PROTOCOL)) {
col_set_str(pinfo->cinfo, COL_PROTOCOL, "ISO");
@@ -292,4 +301,5 @@ proto_reg_handoff_osi(void)
dissector_add("null.type", BSD_AF_ISO, osi_handle);
dissector_add("gre.proto", SAP_OSINL5, osi_handle);
data_handle = find_dissector("data");
+ ppp_handle = find_dissector("ppp");
}