diff options
author | sfisher <sfisher@f5534014-38df-0310-8fa8-9805f1628bb7> | 2010-08-16 17:19:42 +0000 |
---|---|---|
committer | sfisher <sfisher@f5534014-38df-0310-8fa8-9805f1628bb7> | 2010-08-16 17:19:42 +0000 |
commit | 0269a035cfd7ce99a38a64b4e2cef13b414f3d5f (patch) | |
tree | 6150da8e73fcf1f924639f6dbb19986098f21d47 | |
parent | 624f04ed9391b973e76395b9c0cd4c51445aacb6 (diff) |
Modernize the SONMP ("SynOptics Network Management Protocol") dissector by renaming it to NDP ("Nortel Discovery Protocol") and do some basic cleanup.
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@33815 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r-- | epan/dissectors/Makefile.common | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-llc.c | 2 | ||||
-rw-r--r-- | epan/dissectors/packet-ndp.c (renamed from epan/dissectors/packet-nt-sonmp.c) | 166 | ||||
-rw-r--r-- | epan/dissectors/packet-nt-oui.c | 6 | ||||
-rw-r--r-- | epan/prefs.c | 6 | ||||
-rw-r--r-- | wka.tmpl | 8 |
6 files changed, 103 insertions, 87 deletions
diff --git a/epan/dissectors/Makefile.common b/epan/dissectors/Makefile.common index 4385583a9d..5ee27d4a1c 100644 --- a/epan/dissectors/Makefile.common +++ b/epan/dissectors/Makefile.common @@ -684,6 +684,7 @@ DISSECTOR_SRC = \ packet-ncp-sss.c \ packet-ncs.c \ packet-ndmp.c \ + packet-ndp.c \ packet-ndps.c \ packet-netbios.c \ packet-netdump.c \ @@ -705,7 +706,6 @@ DISSECTOR_SRC = \ packet-nsip.c \ packet-nsrp.c \ packet-nt-oui.c \ - packet-nt-sonmp.c \ packet-nt-tpcp.c \ packet-ntlmssp.c \ packet-ntp.c \ diff --git a/epan/dissectors/packet-llc.c b/epan/dissectors/packet-llc.c index acd58e4c50..46ea990918 100644 --- a/epan/dissectors/packet-llc.c +++ b/epan/dissectors/packet-llc.c @@ -189,7 +189,7 @@ const value_string oui_vals[] = { http://www.cisco.com/univercd/cc/td/doc/product/software/ios113ed/113ed_cr/ibm_r/brprt1/brsrb.htm */ { OUI_CISCO, "Cisco" }, - { OUI_NORTEL, "Nortel Networks SONMP" }, + { OUI_NORTEL, "Nortel Discovery Protocol" }, { OUI_CISCO_90, "Cisco IOS 9.0 Compatible" }, { OUI_FORCE10, "Force10 Networks" }, { OUI_ERICSSON, "Ericsson Group" }, diff --git a/epan/dissectors/packet-nt-sonmp.c b/epan/dissectors/packet-ndp.c index 9ddb0497f9..92e4933270 100644 --- a/epan/dissectors/packet-nt-sonmp.c +++ b/epan/dissectors/packet-ndp.c @@ -1,5 +1,6 @@ -/* packet-sonmp.c -* Routines for the disassembly of the "Nortel Networks / SynOptics Network Management Protocol" +/* packet-ndp.c +* Routines for the disassembly of the Nortel Discovery Protocol, formerly +* the SynOptics Network Management Protocol (SONMP). * (c) Copyright Giles Scott <giles.scott1 [AT] arubanetworks.com> * * $Id$ @@ -21,6 +22,14 @@ * 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. +* +* This protocol has gone by many names over the years: +* +* Bay Discovery Protocol (BDP), Bay Topology Protocol, Bay Network Management +* Protocol (BNMP), Nortel Management MIB (NMM), Nortel Topology Discovery +* Protocol (NTDP), SynOptics Network Management Protocol (SONMP). +* (source: Wikipedia article on "Nortel Discovery Protocol") +* */ #include "config.h" @@ -48,7 +57,7 @@ /* chassis types */ /* Last updated from version 229 ("200609010000Z") of SnpxChassisType in SYNOPTICS-ROOT-MIB.mib */ -static const value_string sonmp_chassis_val[] = +static const value_string ndp_chassis_val[] = { {1, "other"}, {2, "3000"}, @@ -215,24 +224,24 @@ static const value_string sonmp_chassis_val[] = }; /* from synro179.mib - SnpxBackplaneType */ -static const value_string sonmp_backplane_val[] = +static const value_string ndp_backplane_val[] = { {1, "Other"}, - {2, "ethernet"}, - {3, "ethernet and tokenring"}, - {4, "ethernet and FDDI"}, - {5, "ethernet, tokenring and FDDI"}, - {6, "ethernet and tokenring with redundant power"}, - {7, "ethernet, tokenring, FDDI with redundant power"}, - {8, "token ring"}, - {9, "ethernet, tokenring and fast ethernet"}, - {10, "ethernet and fast ethernet"}, - {11, "ethernet, tokenring, fast ethernet with redundant power"}, - {12, "ethernet, fast ethernet and gigabit ethernet"}, + {2, "Ethernet"}, + {3, "Ethernet and Tokenring"}, + {4, "Ethernet and FDDI"}, + {5, "Ethernet, Tokenring and FDDI"}, + {6, "Ethernet and Tokenring with redundant power"}, + {7, "Ethernet, Tokenring, FDDI with redundant power"}, + {8, "Token Ring"}, + {9, "Ethernet, Tokenring and Fast Ethernet"}, + {10, "Ethernet and Fast Ethernet"}, + {11, "Ethernet, Tokenring, Fast Ethernet with redundant power"}, + {12, "Ethernet, Fast Ethernet and Gigabit Ethernet"}, {0, NULL} }; -static const value_string sonmp_nmm_state_val[] = +static const value_string ndp_state_val[] = { {1, "Topology Change"}, {2, "Heartbeat"}, @@ -241,33 +250,33 @@ static const value_string sonmp_nmm_state_val[] = }; -/* Offsets in SONMP NMM Hello structure. */ -#define SONMP_IP_ADDRESS 0 -#define SONMP_SEGMENT_IDENTIFIER 4 -#define SONMP_CHASSIS_TYPE 7 -#define SONMP_BACKPLANE_TYPE 8 -#define SONMP_NMM_STATE 9 -#define SONMP_NUMBER_OF_LINKS 10 +/* Offsets in NDP Hello structure. */ +#define NDP_IP_ADDRESS 0 +#define NDP_SEGMENT_IDENTIFIER 4 +#define NDP_CHASSIS_TYPE 7 +#define NDP_BACKPLANE_TYPE 8 +#define NDP_STATE 9 +#define NDP_NUMBER_OF_LINKS 10 -static int proto_sonmp = -1; -static int hf_sonmp_ip_address = -1; -static int hf_sonmp_segment_identifier = -1; -static int hf_sonmp_chassis_type = -1; -static int hf_sonmp_backplane_type = -1; -static int hf_sonmp_nmm_state = -1; -static int hf_sonmp_number_of_links = -1; +static int proto_ndp = -1; +static int hf_ndp_ip_address = -1; +static int hf_ndp_segment_identifier = -1; +static int hf_ndp_chassis_type = -1; +static int hf_ndp_backplane_type = -1; +static int hf_ndp_state = -1; +static int hf_ndp_number_of_links = -1; -static gint ett_sonmp = -1; +static gint ett_ndp = -1; static void -dissect_sonmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) +dissect_ndp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { const char *hello_type; - proto_tree *sonmp_tree = NULL; + proto_tree *ndp_tree = NULL; proto_item *ti; - col_set_str(pinfo->cinfo, COL_PROTOCOL, "SONMP"); + col_set_str(pinfo->cinfo, COL_PROTOCOL, "NDP"); if (check_col(pinfo->cinfo, COL_INFO)) { hello_type = ""; @@ -285,35 +294,36 @@ dissect_sonmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) break; } } - col_add_fstr(pinfo->cinfo, COL_INFO, "SONMP - %sHello", + col_add_fstr(pinfo->cinfo, COL_INFO, "%sHello", hello_type); } if (tree) { - ti = proto_tree_add_protocol_format(tree, proto_sonmp, tvb, 0, 11, - "Nortel Networks / SynOptics Network Management Protocol"); - sonmp_tree = proto_item_add_subtree(ti, ett_sonmp); + ti = proto_tree_add_protocol_format(tree, proto_ndp, tvb, 0, 11, + "Nortel Discovery Protocol"); + + ndp_tree = proto_item_add_subtree(ti, ett_ndp); - proto_tree_add_item(sonmp_tree, hf_sonmp_ip_address, tvb, - SONMP_IP_ADDRESS, 4, FALSE); + proto_tree_add_item(ndp_tree, hf_ndp_ip_address, tvb, + NDP_IP_ADDRESS, 4, FALSE); - proto_tree_add_item(sonmp_tree, hf_sonmp_segment_identifier, tvb, - SONMP_SEGMENT_IDENTIFIER, 3, FALSE); + proto_tree_add_item(ndp_tree, hf_ndp_segment_identifier, tvb, + NDP_SEGMENT_IDENTIFIER, 3, FALSE); - proto_tree_add_item(sonmp_tree, hf_sonmp_chassis_type, tvb, - SONMP_CHASSIS_TYPE, 1, FALSE); + proto_tree_add_item(ndp_tree, hf_ndp_chassis_type, tvb, + NDP_CHASSIS_TYPE, 1, FALSE); - proto_tree_add_item(sonmp_tree, hf_sonmp_backplane_type, tvb, - SONMP_BACKPLANE_TYPE, 1, FALSE); + proto_tree_add_item(ndp_tree, hf_ndp_backplane_type, tvb, + NDP_BACKPLANE_TYPE, 1, FALSE); - proto_tree_add_item(sonmp_tree, hf_sonmp_nmm_state, tvb, - SONMP_NMM_STATE, 1, FALSE); + proto_tree_add_item(ndp_tree, hf_ndp_state, tvb, + NDP_STATE, 1, FALSE); - proto_tree_add_item(sonmp_tree, hf_sonmp_number_of_links, tvb, - SONMP_NUMBER_OF_LINKS, 1, FALSE); + proto_tree_add_item(ndp_tree, hf_ndp_number_of_links, tvb, + NDP_NUMBER_OF_LINKS, 1, FALSE); } @@ -322,57 +332,57 @@ dissect_sonmp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) void -proto_register_sonmp(void) +proto_register_ndp(void) { static hf_register_info hf[] = { - { &hf_sonmp_ip_address, - { "NMM IP address", "sonmp.ipaddress", FT_IPv4, BASE_NONE, NULL, 0x0, - "IP address of the agent (NMM)", HFILL }}, + { &hf_ndp_ip_address, + { "IP address", "ndp.ipaddress", FT_IPv4, BASE_NONE, NULL, 0x0, + "IP address of the Network Management Module (NMM))", HFILL }}, - { &hf_sonmp_segment_identifier, - { "Segment Identifier", "sonmp.segmentident", FT_UINT24, BASE_HEX, NULL, 0x0, + { &hf_ndp_segment_identifier, + { "Segment Identifier", "ndp.segmentident", FT_UINT24, BASE_HEX, NULL, 0x0, "Segment id of the segment from which the agent is sending the topology message", HFILL }}, - { &hf_sonmp_chassis_type, - { "Chassis type", "sonmp.chassis", FT_UINT8, BASE_DEC, - VALS(sonmp_chassis_val), 0x0, + { &hf_ndp_chassis_type, + { "Chassis type", "ndp.chassis", FT_UINT8, BASE_DEC, + VALS(ndp_chassis_val), 0x0, "Chassis type of the agent sending the topology message", HFILL }}, - { &hf_sonmp_backplane_type, - { "Backplane type", "sonmp.backplane", FT_UINT8, BASE_DEC, - VALS(sonmp_backplane_val), 0x0, + { &hf_ndp_backplane_type, + { "Backplane type", "ndp.backplane", FT_UINT8, BASE_DEC, + VALS(ndp_backplane_val), 0x0, "Backplane type of the agent sending the topology message", HFILL }}, - { &hf_sonmp_nmm_state, - { "NMM state", "sonmp.nmmstate", FT_UINT8, BASE_DEC, - VALS(sonmp_nmm_state_val), 0x0, - "Current state of this agent", HFILL }}, + { &hf_ndp_state, + { "State", "ndp.state", FT_UINT8, BASE_DEC, + VALS(ndp_state_val), 0x0, + "Current state of this Network Management Module (NMM)", HFILL }}, - { &hf_sonmp_number_of_links, - { "Number of links", "sonmp.numberoflinks", FT_UINT8, BASE_DEC, NULL, 0x0, + { &hf_ndp_number_of_links, + { "Number of links", "ndp.numberoflinks", FT_UINT8, BASE_DEC, NULL, 0x0, "Number of interconnect ports", HFILL }}, }; static gint *ett[] = { - &ett_sonmp, + &ett_ndp, }; - proto_sonmp = proto_register_protocol("Nortel SONMP", "SONMP", "sonmp"); - proto_register_field_array(proto_sonmp, hf, array_length(hf)); + proto_ndp = proto_register_protocol("Nortel NDP", "NDP", "ndp"); + proto_register_field_array(proto_ndp, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - register_dissector("sonmp", dissect_sonmp, proto_sonmp); + register_dissector("ndp", dissect_ndp, proto_ndp); } void -proto_reg_handoff_sonmp(void) +proto_reg_handoff_ndp(void) { - dissector_handle_t sonmp_handle; + dissector_handle_t ndp_handle; - sonmp_handle = find_dissector("sonmp"); + ndp_handle = find_dissector("ndp"); - dissector_add("llc.nortel_pid", 0x01a1, sonmp_handle); /* flatnet hello */ - dissector_add("llc.nortel_pid", 0x01a2, sonmp_handle); /* Segment hello */ + dissector_add("llc.nortel_pid", 0x01a1, ndp_handle); /* flatnet hello */ + dissector_add("llc.nortel_pid", 0x01a2, ndp_handle); /* Segment hello */ /* not got round to adding this but its really old, so I'm not sure people will see it */ /* it uses a different packet format */ - /* dissector_add("llc.nortel_pid", 0x01a3, sonmp_handle); */ /* Bridge hello */ + /* dissector_add("llc.nortel_pid", 0x01a3, ndp_handle); */ /* Bridge hello */ } diff --git a/epan/dissectors/packet-nt-oui.c b/epan/dissectors/packet-nt-oui.c index 839ed90722..8de0ef4ec6 100644 --- a/epan/dissectors/packet-nt-oui.c +++ b/epan/dissectors/packet-nt-oui.c @@ -31,9 +31,9 @@ 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" }, + { 0x01a1, "NDP flatnet hello" }, + { 0x01a2, "NDP segment hello" }, + { 0x01a3, "NDP bridge hello" }, { 0, NULL } }; diff --git a/epan/prefs.c b/epan/prefs.c index a29d3c0c90..d6831e535f 100644 --- a/epan/prefs.c +++ b/epan/prefs.c @@ -2324,6 +2324,10 @@ set_pref(gchar *pref_name, gchar *value, void *private_data _U_) * "smpp-gsm-sms" to "gsm-sms-ud", and then handle SMPP below. * * We also renamed "dcp" to "dccp", "x.25" to "x25" and "nsip" to "gprs_ns". + * + * The SynOptics Network Management Protocol (SONMP) is now known by + * its modern name, the Nortel Discovery Protocol (NDP). + * */ if (module == NULL) { if (strcmp(pref_name, "Diameter") == 0) @@ -2341,6 +2345,8 @@ set_pref(gchar *pref_name, gchar *value, void *private_data _U_) module = prefs_find_module("x25"); else if (strcmp(pref_name, "nsip") == 0) module = prefs_find_module("gprs-ns"); + else if (strcmp(pref_name, "sonmp") == 0) + module = prefs_find_module("ndp"); else if (strcmp(pref_name, "etheric") == 0 || strcmp(pref_name, "isup_thin") == 0) /* This protocols was removed 7. July 2009 */ @@ -58,10 +58,10 @@ 01-00-1D-52-00-00 Cabletron-PC-OV-MMAC-discover-(on-demand) 01-00-3C Auspex-Systems-(Serverguard) 01-00-5E/25 IPv4mcast -01-00-81-00-00-00 Synoptics-Network-Management -01-00-81-00-00-02 Synoptics-Network-Management -01-00-81-00-01-00 Bay-Networks-(Synoptics)-autodiscovery -01-00-81-00-01-01 Bay-Networks-(Synoptics)-autodiscovery +01-00-81-00-00-00 Nortel-Network-Management +01-00-81-00-00-02 Nortel-Network-Management +01-00-81-00-01-00 Nortel-autodiscovery +01-00-81-00-01-01 Nortel-autodiscovery 01-11-1E-00-00-01 EPLv2_SoC 01-11-1E-00-00-02 EPLv2_PRes 01-11-1E-00-00-03 EPLv2_SoA |