diff options
author | Guy Harris <guy@alum.mit.edu> | 2016-01-17 20:49:25 -0800 |
---|---|---|
committer | Guy Harris <guy@alum.mit.edu> | 2016-01-18 04:50:12 +0000 |
commit | 609ea4baa62a523434cdd8ff350d56d135d588ae (patch) | |
tree | 9a40fb15ddfe3a055023efa63759767123cd49b3 /epan/dissectors/packet-fddi.c | |
parent | 8ec153f93816a302a325e40924f4e13383ad8eaf (diff) |
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.c | 17 |
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); |