diff options
-rw-r--r-- | Makefile.am | 3 | ||||
-rw-r--r-- | Makefile.nmake | 3 | ||||
-rw-r--r-- | packet-llc.c | 26 | ||||
-rw-r--r-- | packet-nt-oui.c | 54 |
4 files changed, 60 insertions, 26 deletions
diff --git a/Makefile.am b/Makefile.am index d38e4d1431..7ffeeb538b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ # Makefile.am # Automake file for Ethereal # -# $Id: Makefile.am,v 1.619 2003/09/03 06:27:03 guy Exp $ +# $Id: Makefile.am,v 1.620 2003/09/03 06:38:14 guy Exp $ # # Ethereal - Network traffic analyzer # By Gerald Combs <gerald@ethereal.com> @@ -311,6 +311,7 @@ DISSECTOR_SRC = \ packet-nlm.c \ packet-nlsp.c \ packet-nntp.c \ + packet-nt-oui.c \ packet-nt-sonmp.c \ packet-ntlmssp.c \ packet-ntp.c \ diff --git a/Makefile.nmake b/Makefile.nmake index a6c6279157..cfe7647d10 100644 --- a/Makefile.nmake +++ b/Makefile.nmake @@ -1,7 +1,7 @@ ## Makefile for building ethereal.exe with Microsoft C and nmake ## Use: $(MAKE) /$(MAKEFLAGS) -f makefile.nmake # -# $Id: Makefile.nmake,v 1.332 2003/09/03 06:27:03 guy Exp $ +# $Id: Makefile.nmake,v 1.333 2003/09/03 06:38:15 guy Exp $ include config.nmake include <win32.mak> @@ -252,6 +252,7 @@ DISSECTOR_SRC = \ packet-nlm.c \ packet-nlsp.c \ packet-nntp.c \ + packet-nt-oui.c \ packet-nt-sonmp.c \ packet-ntlmssp.c \ packet-ntp.c \ diff --git a/packet-llc.c b/packet-llc.c index e32fc34ac4..aa06bb5e07 100644 --- a/packet-llc.c +++ b/packet-llc.c @@ -2,7 +2,7 @@ * Routines for IEEE 802.2 LLC layer * Gilbert Ramirez <gram@alumni.rice.edu> * - * $Id: packet-llc.c,v 1.114 2003/09/03 06:27:03 guy Exp $ + * $Id: packet-llc.c,v 1.115 2003/09/03 06:38:15 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -67,8 +67,6 @@ static gint ett_llc_ctrl = -1; static dissector_table_t subdissector_table; static dissector_table_t xid_subdissector_table; -static dissector_table_t nortel_subdissector_table; - static dissector_handle_t bpdu_handle; static dissector_handle_t eth_handle; static dissector_handle_t fddi_handle; @@ -167,7 +165,7 @@ http://www.cisco.com/univercd/cc/td/doc/product/software/ios113ed/113ed_cr/ibm_r { OUI_ATM_FORUM, "ATM Forum" }, { OUI_CABLE_BPDU, "DOCSIS Spanning Tree" }, /* DOCSIS spanning tree BPDU */ { OUI_APPLE_ATALK, "Apple (AppleTalk)" }, - { OUI_NORTEL, "Nortel Networks SONMP" }, + { OUI_NORTEL, "Nortel Networks SONMP" }, { 0, NULL } }; @@ -521,24 +519,6 @@ dissect_snap(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, call_dissector(bpdu_handle, next_tvb, pinfo, tree); break; - case OUI_NORTEL: - /* Nortel Networks - * Synoptics Networks Management Protocol - * protocol ID's 0x01a1, 0x01a2, 0x01a3 - */ - if (tree) { - proto_tree_add_uint(snap_tree, hf_pid,tvb, offset+3,2, etype); - } - next_tvb = tvb_new_subset(tvb, offset + 5, -1, -1); - if (XDLC_IS_INFORMATION(control)) { - /* do lookup with the subdissector table */ - if (!dissector_try_port(nortel_subdissector_table, - etype, next_tvb, pinfo, tree)) - call_dissector(data_handle, next_tvb, pinfo, tree); - } else - call_dissector(data_handle, next_tvb, pinfo, tree); - break; - default: /* * Do we have information for this OUI? @@ -630,8 +610,6 @@ proto_register_llc(void) "LLC SAP", FT_UINT8, BASE_HEX); xid_subdissector_table = register_dissector_table("llc.xid_dsap", "LLC XID SAP", FT_UINT8, BASE_HEX); - nortel_subdissector_table = register_dissector_table("llc.nortel_pid", - "Nortel OUI PID", FT_UINT16, BASE_HEX); register_dissector("llc", dissect_llc, proto_llc); } diff --git a/packet-nt-oui.c b/packet-nt-oui.c new file mode 100644 index 0000000000..16ecd94cac --- /dev/null +++ b/packet-nt-oui.c @@ -0,0 +1,54 @@ +/* packet-nt-oui.c + * Register an LLC dissector table for Nortel's OUI 00:00:0c + * + * $Id: packet-nt-oui.c,v 1.1 2003/09/03 06:38:15 guy Exp $ + * + * Ethereal - Network traffic analyzer + * By Gerald Combs <gerald@ethereal.com> + * Copyright 1998 Gerald Combs + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#include "config.h" + +#include <epan/packet.h> +#include "packet-llc.h" +#include "oui.h" + +static int hf_llc_nortel_pid = -1; + +static const value_string nortel_pid_vals[] = { + { 0x01a1, "SONMP flatnet hello" }, + { 0x01a2, "SONMP segment hello" }, + { 0x01a3, "SONMP bridge hello" }, + { 0, NULL } +}; + +/* + * NOTE: there's no dissector here, just registration routines to set + * up the dissector table for the Nortel OUI. + */ +void +proto_register_nortel_oui(void) +{ + static hf_register_info hf = { + &hf_llc_nortel_pid, + { "PID", "llc.nortel_pid", FT_UINT16, BASE_HEX, + VALS(nortel_pid_vals), 0x0, "", HFILL }, + }; + + llc_add_oui(OUI_NORTEL, "llc.nortel_pid", "Nortel OUI PID", &hf); +} |