summaryrefslogtreecommitdiff
path: root/print-ether.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Convert the IPv6 printer to use netdissect.Guy Harris2010-11-071-1/+1
|
* Use ND_PRINT().Guy Harris2010-11-061-14/+14
|
* added support and test case for QinQ packetsMichael Richardson2010-10-071-1/+7
|
* reworked print-ether to use netdissectMichael Richardson2010-10-071-46/+52
|
* Process VLAN frames and Alteon jumbo frames in the Ethernet printer.Guy Harris2010-02-211-89/+86
| | | | | | | | | | | | | | | | | Instead of having the Ethernet-type handler process the VLAN and Alteon jumbo frame Ethernet type values, process them in the Ethernet (and Linux cooked-mode) dissectors. This makes it easier for the right MAC addresses to be printed for those packets. As part of that, rename ether_encap_print() to ethertype_print() - it doesn't print encapsulated Ethernet frames, it prints payloads whose packet type is indicated by an Ethernet type field value - and remove the no-longer-needed "extracted Ethernet type" argument. That also lets us eliminate it from the SNAP print routine. Make ether_print() take a function, and an argument to pass to that function, as parameters, so that, for example, the ATM LANE printer can use it and put the LEC ID into the link-layer headeer printout.
* Don't directly fetch multi-byte integers from packets.Guy Harris2010-02-211-13/+20
| | | | | | | | Use the EXTRACT_ macros to extract multi-byte integral values from packets, rather than just dereferencing pointers into the packet; there is no guarantee that the packet data will be aligned on the right boundary, and there is no guarantee that, if they're not, a direct access will work correctly.
* From FreeBSD: handle the non-standard Ethertypes for PPPoE that someGuy Harris2009-07-251-0/+2
| | | | 3Com hardware uses.
* From William J. Hulley: support for the Transparent Ethernet BridgeGuy Harris2009-02-261-0/+1
| | | | ethertype in GRE.
* From Andrew Silent: Realtek Remote Control Protocol support (seeguy2008-02-061-1/+6
| | | | OpenRRCP.org.ru for details).
* add basic support for the IEEE Link Discovery Protocol as per 802.1abhannes2007-08-031-1/+6
|
* change 802.1ag pre-standard codepoint to standard codepointhannes2007-07-231-1/+3
|
* add skeleton support for 802.1ag CFMhannes2006-10-121-1/+6
|
* hexdump only - if (unrecognized llc proto) && encapsulation == (jumbo || vlan)hannes2006-02-201-7/+10
|
* add basic support for MPCP 802.3ah frame printerhannes2006-02-101-1/+6
|
* Have print_llc() clear out the extracted_ethertype argument, rather thanguy2005-11-131-3/+2
| | | | | | | | | | | | | | having its callers do so - some of its callers *weren't* doing so, leaving random junk in that argument in some cases. When checking for "802.3-encapsulated" IPX, check the raw values of the SSAP and DSAP for 0xFF, don't check them after the low-order bit has been masked off. The "flag" values in the LLC header aren't bits, they're combinations of bits, including the combination "no bits"; don't use "bittok2str()" on them. Also, combine the proper bits, namely the C/R bit (which we weren't combining) and the P/F bit (which we were).
* add support for the IEEE slow protocols LACP, MARKER as per 802.3adhannes2005-07-101-1/+6
|
* Add a flag to suppress the "default_print()" call made in variousguy2005-07-071-5/+5
| | | | | | | | link-layer print routines if no other print routine claimed the packet. Test whether that flag is set rather than testing whether neither of -x or -q were specified, and have -x, -q, *and* -X set that flag, so that -X suppresses it just as -x does. That way you don't get those pckets dumped twice if -X was specified.
* do not auto-hexdump loopback packets as the payload is uninterestinghannes2005-07-011-2/+2
|
* Have separate "struct tok" PID-to-name tables for different OUIs; don'tguy2005-04-251-17/+1
|
* refactored ip_print() so that chained header parser (ESP/AH) canmcr2005-04-061-3/+5
| | | | more easily call the inner parts.
* -resolve (print the name) the OUI field in the SNAP printerhannes2005-01-251-1/+17
| | | | | | | -add the rfc 2684 PIDs as pseudo ethertypes -display cosmetics: place a ":" after the LLC printer to indicate that a new proto layer starts
* - hack the ethertype_values[] table to accomodate GRE flavourshannes2004-06-121-1/+2
| | | | | - call the IP6, IPX, ATALK, MPLS dissectors within the GRE dissector - be more verbose about the GRE proto-id (hidden under the eflag)
* NDO-ized print-arp.cmcr2004-04-301-2/+9
|
* removed explicit snapend definition.mcr2004-04-051-3/+1
|
* update changes filemcr2004-03-301-1/+6
|
* Fix up a bunch of comments - the on-the-wire length field in aguy2004-03-171-2/+2
| | | | pcap_pkthdr is "len", not "length".
* add support for Jumbo Ethertype 0x8870 and embedded OSI traffichannes2004-02-181-1/+32
|
* print ethertypes in hex and fix qflag handling for unknown ethertypeshannes2003-12-291-3/+9
|
* backout last commit and make the loopback decoder simply return a 0hannes2003-12-291-7/+3
|
* - handle the case where we know the ethertype but do not have a printer for ithannes2003-12-291-2/+6
| | | | | | the loopback protocol is a good example: the patch prints at least the ethertype plus the length rather than a empty line
* Have the configure script arrange that the Makefile define _U_guy2003-11-161-4/+4
| | | | | | | | | | appropriately, and that GNUmakefile and the MSVC++ project file define it apppriately, as we do with libpcap, rather than defining it in "interface.h". Undo the rcsid-shuffling and addition of extra #includes, as we no longer need to arrange that "interface.h" be included before using _U_ in an RCS ID or copyright.
* From Neil Spring:guy2003-11-151-4/+4
| | | | | | | | | | | use "_U_" in the definitions of "rcsid[]", to eliminate complaints about those variables being unused; move the definitions after the include of "interface.h", or add an include of "interface.h", so that "_U_" is defined. Include "config.h" before including "tcpdump-stdinc.h" in "missing/datalinks.c".
* Define "ethertype_values[]" in "print-ether.c", make it not static, andguy2003-07-011-1/+34
| | | | | | | | | | | | | have "ethertype.h" just declare it, so that 1) we only have one such table, shared by all dissectors that use it and 2) GCC 3.3 doesn't complain that it's defined but not used in those dissectors that incldue "ethertype.h" but don't use "ethertype_values[]".
* hide the 802.1Q header if eflag, print ethertype during 802.1Q stack ↵hannes2003-05-281-33/+32
| | | | recursion if eflag, misc. cleanups
* forgot message log on last commit, sorry :-(hannes2003-05-221-3/+1
| | | | | here we are: - suppress printing the ethertype when encaps is 802.2
* *** empty log message ***hannes2003-05-221-12/+16
|
* fix typo from previous commithannes2003-05-081-2/+2
|
* align eflag printing style with ppp printerhannes2003-05-081-3/+3
|
* Hoist a bunch of stuff that should be done by all if_print routines intoguy2002-12-191-28/+5
| | | | | | tcpdump.c. Have if_print routines return the length of the link-layer header, so that the common code knows how to skip the link-layer header when printing the packet in hex/ASCII.
* Add a new routine "default_print_packet()", which takes a pointer to theguy2002-12-181-5/+4
| | | | | | | | | | | | | | | | | | | | | | | beginning of the raw packet data, the captured length of the raw packet data, and the length of the link-layer header, and: if "-e" was specified, prints all the raw packet data; if "-e" was not specified, prints all the raw packet data past the link-layer header, if there is any. Use that routine in all the "xxx_if_print()" routines if "-x" was specified. Make "arcnet_encap_print()" static - it's not used outside "print-arcnet.c". Add missing info printing code to "atm_if_print()". Print the packet data in "lane_if_print()", not in "lane_print()", as "lane_print()" can be called from other "xxx_if_print()" routines, and those routines will also print the packet data if "-x" was specified - no need to print it twice.
* We no longer use "packetp" for anything, so eliminate it. (If anyguy2002-12-181-6/+4
| | | | | | | | | | | | | dissector really needs source and destination MAC addresses, we should make global pointers to them - which would be null for packets lacking MAC addresses, so dissectors that need them will need to do something sensible if those pointers are null.) Don't fake up an Ethernet header if there aren't any MAC addresses to use when faking it up. "bp_chaddr" in "print-bootp.c" is an array, so "bp->bp_chaddr" cannot be null, and there's no need to test for it not being null.
* Get rid of the "-Wno-unused" flag, and fix up most of theguy2002-09-051-4/+4
| | | | | | | | | | | | | | | unused-parameter problems reported by GCC. Add an _U_ tag to label parameters as unused if the function is called through a pointer (so that you can't change its signature by removing parameters) or if there are unused parameters only because the function isn't complete. Add some additional bounds checks the necessity for which was revealed while cleaning up unused-parameter problems. Make some routines static. "lcp_print()", defined in "print-lcp.c", isn't called anywhere - "print-ppp.c" has the code to dissect LCP. Get rid of "print-lcp.c".
* Added support for Win32, based on WinPcap.risso2002-08-011-6/+2
|
* "support" for the loopback ethertype 0x9000hannes2002-07-121-1/+5
|
* whitespace cleanupitojun2002-06-111-3/+3
|
* Get rid of unneeded incomplete definitions of "struct mbuf" and "structguy2002-06-011-4/+1
| | | | | rtentry", and unneded includes of <sys/uio.h>, <sys/file.h>, and <sys/ioctl.h>.
* Only do "-x" printing in the top-level interface print routine; don't doguy2002-05-291-6/+11
| | | | | | | it in the routines, called by the top-level routines, to dissect Ethernet, FDDI, or Token Ring packets, as those routines might also be called for bridged frames over ATM, and the interface print routine for ATM will also do "-x" printing.
* Support RFC 2684 bridging of Ethernet, 802.5 Token Ring, and FDDI, andguy2002-04-071-18/+26
| | | | RFC 2684 encapsulation of BPDUs.
* From Heinz-Ado Arnolds <Ado.Arnolds@dhm-systems.de>: mark IPX packetsguy2001-11-251-1/+2
| | | | according to whether they're Ethernet II, 802.3, or 802.2.
* Add SIGINFO handler from LBLfenner2001-07-041-2/+6
| | | | | The rest of the low-level print-*.c handlers need the infodelay wrapping too.