aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-eth.c
AgeCommit message (Collapse)AuthorFilesLines
2015-12-09new_register_dissector -> register_dissector for dissector directory.Michael Mann1-3/+3
Change-Id: Ie39ef054a4a942687bd079f3a4d8c2cc55d5f22c Reviewed-on: https://code.wireshark.org/review/12485 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-11-13register_dissector -> new_register_dissectorMichael Mann1-9/+12
Picking off "easy" dissectors that only have one or two exit points at most. Change-Id: I3d5e576b796556ef070bb36d8b55da0b175dcba8 Reviewed-on: https://code.wireshark.org/review/11805 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-11-03Remaining ADDRESS macro to address function conversionsJoão Valverde1-2/+2
Change-Id: I8bc9af431e70243b05f4f0ce8c2b8ee451383788 Reviewed-on: https://code.wireshark.org/review/11463 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-29"Color dissector filters" are just filters.Guy Harris1-4/+4
Rename the color_dissector_filters.[ch] files to just dissector_filters.[ch], and rename the routines not to include the string "color_", as those filters can be used as color filters *or* display filters. Remove "color_" from other places where we're not doing colorization. In the GTK+ code, combine the two loops that add menu items for filters in the dissector-provided filters list into one. Change-Id: I08ecccc6b1b1be675e4129a0589f36c9f240407c Reviewed-on: https://code.wireshark.org/review/11379 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2015-10-22Use address functions instead of ADDRESS macros in asn1 and epanGerald Combs1-4/+4
Replace CMP_ADDRESS, COPY_ADDRESS, et al with their lower-case equivalents in the asn1 and epan directories. Change-Id: I4043b0931d4353d60cffbd829e30269eb8d08cf4 Reviewed-on: https://code.wireshark.org/review/11200 Petri-Dish: Michal Labedzki <michal.labedzki@tieto.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-07-22PCLI: Expand protocol supportLuke Mewburn1-0/+2
1. Implement "Decode As" for PCLI payload instead of assuming IP. Currently supported subdissectors are Ethernet and IP. 2. Implement multiple "flavors" of PCLI with different header formats: pcli: 4 byte CCCID pcli8: 8 byte header (including CCCID) pcli12: 4 byte CCCID, 8 byte NTP timestamp pcli20: 4 byte CCCID, 8 byte NTP timestamp, 8 byte case ID All flavors currently using "Decode As" for payload. 3. Optionally append CCCID to protocol item in tree using preference "pcli.summary_in_tree". 4. Obsolete preference "pcli.udp_port". Bug: 9266 Bug: 11220 Change-Id: Ie4bca06665985ef1eb77db767771a5a82357e242 Reviewed-on: https://code.wireshark.org/review/8608 Reviewed-by: Evan Huus <eapache@gmail.com> Petri-Dish: Evan Huus <eapache@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-06-25Add proper "Decode As" mechanism for L2TPv3 subdissectors instead of preference.Michael Mann1-0/+2
Change-Id: I87f6f9f40e1c33148de43b53a8881d51416f5d2c Reviewed-on: https://code.wireshark.org/review/7898 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-03-03Replace tvb_get_ptr calls with a better API choice.Michael Mann1-6/+6
Just reduces the overall tvb_get_ptr usage count in the dissector directory. Change-Id: I455dc4cc9b082ecccdd254a2e5121f3353b5a812 Reviewed-on: https://code.wireshark.org/review/7491 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-03-01Use COPY_ADDRESS_SHALLOW instead of duplicating TVB_SET_ADDRESS and ↵Michael Mann1-4/+4
SET_ADDRESS calls for the same address. Change-Id: I0c9cc5d574fdd73ecf1f8b32dbbf0ddb2b885116 Reviewed-on: https://code.wireshark.org/review/7437 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-02-21Convert dissectors to use address_with_resolution_to_str instead of two ↵Michael Mann1-6/+6
separate calls for address string and name resolution. Change-Id: I7c8cfbcf201b3b73afe731302572646ce7833d64 Reviewed-on: https://code.wireshark.org/review/7284 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-02-13Micro optimization, only do tvb_get_ptr() once for dst and srcAndersBroman1-9/+9
respectivly. Change-Id: I1cdc5742057830a47ea71769fb54ab8dfdd3de14 Reviewed-on: https://code.wireshark.org/review/7096 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-01-07SET_ADDRESS -> TVB_SET_ADDRESS to "hide" some of the tvb_get_ptr use.Michael Mann1-6/+6
Not all changes were able to remove their corresponding tvb_get_ptr, because there are other API dependent on the (tvb_get)pointer, but future iterations optimizing those other APIs will then be able to remove it. Change-Id: Id7cefd440b81834de1d1aace7cd0789b1c871a22 Reviewed-on: https://code.wireshark.org/review/6358 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-01-02tshark: Add endpoints statisticsMichael Mann1-1/+1
"stat name" has been official changed to "endpoints" for all dissectors, rather than a mixture of "host"/"endpoints" based on dissector. Change-Id: If34bcb5165b493948e784ba038ab202803a59843 Reviewed-on: https://code.wireshark.org/review/6154 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-12-26Fix assertion when applying conversation colorPascal Quantin1-2/+2
Packet scoped memory cannot be used here; let's use the pinfo pool Change-Id: If76605f7a3021f5900fd46ce7d1c642a518c902f Reviewed-on: https://code.wireshark.org/review/6061 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-12-23Deleting unneccessary #includes from dissectors.Martin Mathieson1-2/+0
Second batch (packet-eth.c -> packet-icmpv6.d). Will look at cleaning up and committing script afterwards. Change-Id: I14295758b81a59115d8c88899f166cc3d5d17594 Reviewed-on: https://code.wireshark.org/review/6013 Reviewed-by: Martin Mathieson <martin.r.mathieson@googlemail.com>
2014-12-21Replace ether_to_str with either address_to_str or tvb_ether_to_str.Michael Mann1-6/+6
Change-Id: I8cce9fddbfe950e27e96ea8a5a6d2e0921ff4260 Reviewed-on: https://code.wireshark.org/review/5933 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-12-21Cleanup use of #includes in non-generated epan/dissector/*.cBill Meier1-2/+0
Specifically: - Set packet.h to be the first wireshark #include after config.h and "system" #includes. packet.h added as an #include in some cases when missing. - Remove some #includes included (directly/indirectly) in packet.h. E.g., glib.h. (Done only for those files including packet.h). - As needed, move "system" #includes to be after config.h and before wireshark #includes. - Rework various #include file specifications for consistency. - Misc. Change-Id: Ifaa1a14b50b69fbad38ea4838a49dfe595c54c95 Reviewed-on: https://code.wireshark.org/review/5923 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-12-21Have a heur_dissector_list_t be an opaque handle.Guy Harris1-2/+2
This allows dissector lists to be looked up by name, so they can be shared by multiple dissectors. (This means that there's no "udplite" heuristic dissector list, but there shouldn't be one - protocols can run atop UDP or UDPLite equally well, and they share a port namespace and uint dissector table, so they should share a heuristic dissector table as well.) Change-Id: Ifb2d2c294938c06d348a159adea7a57db8d770a7 Reviewed-on: https://code.wireshark.org/review/5936 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-12-19Use new color_dissector_filters.[ch] to refactor (color) conversation ↵Michael Mann1-1/+1
generation in GTK menus. Change-Id: I5868a40b71a989a3a1522cb091064bb0aaec6daf Reviewed-on: https://code.wireshark.org/review/5828 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-12-11eth,mp2t: Rename ei[] filter names duplicating hf[] filter names.Bill Meier1-1/+1
Change-Id: I1a9e8344866ce5a5bbd48b07c49baa398ce161f7 Reviewed-on: https://code.wireshark.org/review/5724 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-12-10Refactor "color" conversation filtersMichael Mann1-0/+14
Have dissectors register their desire to be part of "color" conversation filters and have the GUI use that registered list. GUI actually using API will come in a separate commit. Change-Id: I5ffe922d97894fe7bf3182056b76ab5839a9461a Reviewed-on: https://code.wireshark.org/review/5658 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-11-13Add dissector table for sFlow header dissection.Michael Mann1-0/+2
Change-Id: I189a5b2d5f769395fa5e387f8be49b81903fb252 Reviewed-on: https://code.wireshark.org/review/5262 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-11-09Create a subdissector table for juniper payload protocols.Michael Mann1-0/+2
Change-Id: I60fd9c6c486b9b3b90e32fb9ccce3973569cc2ee Reviewed-on: https://code.wireshark.org/review/5204 Reviewed-by: Michael Mann <mmann78@netscape.net> Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Evan Huus <eapache@gmail.com>
2014-11-01Ethernet: fix a trivial typoPascal Quantin1-1/+1
Change-Id: Ibf623aa9e7153e7d54dda1000face1bac42a0088 Reviewed-on: https://code.wireshark.org/review/5045 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
2014-09-29Add editor modelines; fix indentation as needed.Bill Meier1-213/+226
Change-Id: I1ad94654343e5a018a0b3159481d45ffb3a91263 Reviewed-on: https://code.wireshark.org/review/4363 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-09-16Fix spelling: cant-->can't, wont-->won't, etcBill Meier1-1/+1
Change-Id: I4497f1b8b6eab0e576d9dd31b732965f9a6679c6 Reviewed-on: https://code.wireshark.org/review/4124 Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-08-21packet-erf: added dissector table for "erf.types.type" type field.Wasim Abu Moch1-0/+2
1- removed unnecessary include <wiretap/erf.h> 2- used fall through in protocol switch case instead of calling same function with same params. fixes/changes after review with Evan Huus, changes ETH/IPv4/IPv6/Infiniband/InfinibandLink to use dissector table instead of direct function calls. other protocols should be called in the same way, we'll do it when have the time. instead of calling subdissector directly from packet-erf.c code it's easier to declare this and each time we need to register a new protocol over erf format we sould easily extend it from the protcol module instead using "dissector_add_uint()" function. the change is still backward compatible, if no upper protocol is registered for the specifc type an old fasion direct function call is performed. Change-Id: I3ae1ccfdd49ab8f90667185296cc950dc2184475 Reviewed-on: https://code.wireshark.org/review/3670 Petri-Dish: Evan Huus <eapache@gmail.com> Reviewed-by: Evan Huus <eapache@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-08-18Refactor "common" hostlist/endpoint table functionality.Michael Mann1-1/+29
This is very similar in architecture to the changes made to the Conversation table functionality. Since all conversations have endpoints/hostlists, the "registered" list is shared for both. Change-Id: Ie8c6910a68a1b3f27c5b18c4494f49b9404a7b31 Reviewed-on: https://code.wireshark.org/review/3214 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-07-30Apply refactored "conversation" (tap) data to TShark.Michael Mann1-1/+1
I intentionally left the fields displayed alone (so they don't exactly match Wireshark GUI), because as Guy points out in bug 6310, not sure its A Bug or A Feature. But at least all types of conversations allowed are in sync with Wireshark GUI. Bug:6310 Change-Id: I722837df510a39dadc1f9a07a99275509516698c Reviewed-on: https://code.wireshark.org/review/3212 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-07-26Refactor "common" Conversation table functionality.Michael Mann1-0/+31
Refactor (non-GUI) conversation table functionality from gtk/Qt to epan. Also refactor "common GUI" conversation table functionality. The idea is to not have to modify the GUI when a dissector adds a new "conversation type" Change-Id: I11f08d0d7edd631218663ba4b902c4a4c849acda Reviewed-on: https://code.wireshark.org/review/3113 Reviewed-by: Gerald Combs <gerald@wireshark.org>
2014-06-20Rename dissector_add_handle() to dissector_add_for_decode_as().Guy Harris1-1/+1
Hopefully that name makes it clear what the routiner's purpose is, and will encourage people to use it rather than using dissector_add_uint() with a bogus integer value. Change-Id: Ic5be456d0ad40b176aab01712ab7b13aed5de2a8 Reviewed-on: https://code.wireshark.org/review/2483 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2014-05-26Optimize dissect_eth_common(): cache result of get_ether_name()Jakub Zawadzki1-18/+22
In Anders profile output[1] is looks like that get_ether_name() is called four times, twice for src and dst. get_ether_name() takes ~2% of Ir, so caching result should reduce Ir count by 1%. Similar thing was already done for UDP and TCP - 5235dc6ca0d7ec4e6c1fe38cae34763366830629 [1] http://www.wireshark.org/lists/wireshark-dev/201405/msg00063.html Change-Id: I9ca582b0522387dbfaad866a48a0934693a2849f Reviewed-on: https://code.wireshark.org/review/1808 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Evan Huus <eapache@gmail.com>
2014-05-21Change the signature of dissector_try_heuristic() to return hdtbl_entryAndersBroman1-2/+4
which can be used to call the found heuristic dissector on the next pass. Introduce call_heur_dissector_direct() to be used to call a heuristic dissector which accepted the frame on the first pass. Change-Id: I524edd717b7d92b510bd60acfeea686d5f2b4582 Reviewed-on: https://code.wireshark.org/review/1697 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-04-14Fixed deprecated tvb_length and tvb_length_remaining.Philip Rosenberg-Watt1-7/+7
Change-Id: Icb7b703319f2d76383fe0a52294ca8c2d06bef84 Reviewed-on: https://code.wireshark.org/review/1118 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2014-03-04Remove all $Id$ from top of fileAlexis La Goutte1-2/+0
(Using sed : sed -i '/^ \* \$Id\$/,+1 d') Fix manually some typo (in export_object_dicom.c and crc16-plain.c) Change-Id: I4c1ae68d1c4afeace8cb195b53c715cf9e1227a8 Reviewed-on: https://code.wireshark.org/review/497 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2013-11-29Rename some of pint.h macros to match common style (bits number on the end).Jakub Zawadzki1-1/+1
pntohs -> pntoh16 pntohl -> pntoh32 pletohs -> pletoh16 pletohl -> pletoh32 phtons -> phton16 phtonl -> phton32 svn path=/trunk/; revision=53652
2013-11-20Convert ethertype() function into a pure dissector. Bug 9454 ↵Michael Mann1-2/+13
(https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9454) The main driving force for this was my new Decode As functionality (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9450) that wants a dissector/subdissector table relationship for all dissectors wanting to use Decode As functionality. The ethertype() function provides the value to the "ethertype" subdissector table, so I think it should be matched to a dissector. Only odd side effect is the display filter of "ethertype" returns no packets because there is no "item" associated with the dissector. svn path=/trunk/; revision=53443
2013-11-10Add missing includes in order to remove exceptions.h from proto.h (next commit).Jakub Zawadzki1-0/+2
svn path=/trunk/; revision=53230
2013-11-09include <wsutil/pint.h> only when needed.Jakub Zawadzki1-0/+1
svn path=/trunk/; revision=53196
2013-10-21Remove if (fh_tree) checks as add_ethernet_trailer() calls such functions as ↵Chris Maynard1-11/+11
dissector_try_heuristic(), expert_add_info(), and col_append_str(), which all need to be called whether fh_tree is NULL or not. #BACKPORT(1.10,1.8) svn path=/trunk/; revision=52738
2013-10-14Add dissection of NCM/MBIM data traffic based on data interface class ↵Pascal Quantin1-1/+0
protocol code svn path=/trunk/; revision=52602
2013-09-15Convert proto_tree_add_uint_format to proto_tree_add_uint_format_value if ↵Michael Mann1-6/+6
hf_ field name is the first part of the formatted string. This was done with a perl script on the dissectors directory (packet-*.c), followed by manual inspection of the output. The manual inspection yielded a few cases that really should have been proto_tree_add_uint or proto_tree_add_item, so I updated them accordingly. The script didn't catch as many as I would have liked, but it's a start. The most common (ab)use of proto_tree_add_uint_format was for appending strings to CRC/checksum values to note good or bad CRC/checksum. svn path=/trunk/; revision=52045
2013-09-11Change the name of the Cisco HDLC dissector table from chdlctype to ↵Chris Maynard1-1/+1
chdlc.protocol and change the UI name to match. It is by far much more common to name the tables after the field than to pick another name. svn path=/trunk/; revision=51958
2013-09-09expert_add_info_format_text -> expert_add_info_formatMichael Mann1-1/+1
svn path=/trunk/; revision=51852
2013-09-05Add filterable expert info to dissect_802_3() and clean up the shrapnel.Michael Mann1-2/+4
svn path=/trunk/; revision=51761
2013-09-03Similar to the IPv4 dissector's hf_ip_dst_host, hf_ip_src_host and ↵Chris Maynard1-9/+73
hf_ip_host fields, add to the Ethernet dissector: hf_eth_dst_resolved hf_eth_src_resolved hf_eth_addr_resolved and add to the IEEE802.11 dissector: hf_ieee80211_addr_da_resolved hf_ieee80211_addr_sa_resolved hf_ieee80211_addr_ra_resolved hf_ieee80211_addr_ta_resolved hf_ieee80211_addr_bssid_resolved hf_ieee80211_addr_resolved Change motivated by: http://ask.wireshark.org/questions/24314/possible-to-use-the-mac-info-in-the-wireshark-manuf-file-as-part-of-display-filter svn path=/trunk/; revision=51742
2013-07-08Fix "Could not compile color filter "Checksum Errors" from saved filters: ↵Pascal Quantin1-1/+1
eth.fcs_bad (type=Label) cannot participate in '==' comparison" warning svn path=/trunk/; revision=50448
2013-07-06Fix display filter errors caught by checkfiltername.plMichael Mann1-3/+3
svn path=/trunk/; revision=50399
2013-06-24A follow-up to r50127 to highlight the correct 4 bytes of the Ethernet FCS ↵Chris Maynard1-12/+12
for the hf_eth_fcs_good and hf_eth_fcs_bad fields. svn path=/trunk/; revision=50128
2013-06-24The Ethernet FCS is 32 bits, not 16 bits.Guy Harris1-1/+1
svn path=/trunk/; revision=50127