summaryrefslogtreecommitdiff
path: root/epan/dissectors/packet-fddi.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2016-01-17 20:49:25 -0800
committerGuy Harris <guy@alum.mit.edu>2016-01-18 04:50:12 +0000
commit609ea4baa62a523434cdd8ff350d56d135d588ae (patch)
tree9a40fb15ddfe3a055023efa63759767123cd49b3 /epan/dissectors/packet-fddi.c
parent8ec153f93816a302a325e40924f4e13383ad8eaf (diff)
downloadwireshark-609ea4baa62a523434cdd8ff350d56d135d588ae.tar.gz
Directly call the FDDI and "raw IP" dissectors from the nettl dissector.
Just get handles for the dissectors, don't go through the wtap_encap dissector table. Change-Id: I459249b98741cc069495c84ad4c47c0aa6768096 Reviewed-on: https://code.wireshark.org/review/13383 Reviewed-by: Guy Harris <guy@alum.mit.edu>
Diffstat (limited to 'epan/dissectors/packet-fddi.c')
-rw-r--r--epan/dissectors/packet-fddi.c17
1 files changed, 8 insertions, 9 deletions
diff --git a/epan/dissectors/packet-fddi.c b/epan/dissectors/packet-fddi.c
index f2680249bc..cdf6731b57 100644
--- a/epan/dissectors/packet-fddi.c
+++ b/epan/dissectors/packet-fddi.c
@@ -56,6 +56,8 @@ static gint ett_fddi_fc = -1;
static int fddi_tap = -1;
+static dissector_handle_t fddi_handle, fddi_bitswapped_handle;
+
static gboolean fddi_padding = FALSE;
#define FDDI_PADDING ((fddi_padding) ? 3 : 0)
@@ -512,7 +514,12 @@ proto_register_fddi(void)
* Called from various dissectors for encapsulated FDDI frames.
* We assume the MAC addresses in them aren't bitswapped.
*/
- register_dissector("fddi", dissect_fddi_not_bitswapped, proto_fddi);
+ fddi_handle = register_dissector("fddi", dissect_fddi_not_bitswapped, proto_fddi);
+
+ /*
+ * Here, we assume they are bitswapped.
+ */
+ fddi_bitswapped_handle = register_dissector("fddi_bitswapped", dissect_fddi_bitswapped, proto_fddi);
fddi_module = prefs_register_protocol(proto_fddi, NULL);
prefs_register_bool_preference(fddi_module, "padding",
@@ -528,20 +535,12 @@ proto_register_fddi(void)
void
proto_reg_handoff_fddi(void)
{
- dissector_handle_t fddi_handle, fddi_bitswapped_handle;
-
/*
* Get a handle for the LLC dissector.
*/
llc_handle = find_dissector("llc");
data_handle = find_dissector("data");
- fddi_handle = find_dissector("fddi");
- dissector_add_uint("wtap_encap", WTAP_ENCAP_FDDI, fddi_handle);
- dissector_add_uint("sflow_245.header_protocol", SFLOW_245_HEADER_FDDI, fddi_handle);
-
- fddi_bitswapped_handle =
- create_dissector_handle(dissect_fddi_bitswapped, proto_fddi);
dissector_add_uint("wtap_encap", WTAP_ENCAP_FDDI_BITSWAPPED,
fddi_bitswapped_handle);