2 * Defines ethernet packet types, similar to tcpdump's ethertype.h
4 * Wireshark - Network traffic analyzer
5 * By Gerald Combs <gerald@wireshark.org>
6 * Copyright 1998 Gerald Combs
8 * SPDX-License-Identifier: GPL-2.0-or-later
14 #include "ws_symbol_export.h"
18 #endif /* __cplusplus */
20 #include <epan/value_string.h>
23 * Maximum length of an IEEE 802.3 frame; Ethernet type/length values
24 * less than or equal to it are lengths.
26 #define IEEE_802_3_MAX_LEN 1500
29 * Minimum length of an Ethernet II frame; Ethernet type/length values
30 * greater than or equal to it are types.
32 #define ETHERNET_II_MIN_LEN 1536
35 #define ETHERTYPE_UNK 0x0000
39 * http://www.iana.org/assignments/ethernet-numbers
40 * TCP/IP Illustrated, Volume 1
42 * tcpdump's ethertype.h
43 * http://www.cavebear.com/CaveBear/Ethernet/
44 * http://standards.ieee.org/regauth/ethertype/type-pub.html
45 * http://standards.ieee.org/regauth/ethertype/eth.txt
46 * (The first of the two IEEE URLs is the one that the "EtherType Field
47 * Public Assignments" link on the page at
49 * http://standards.ieee.org/regauth/ethertype/index.shtml
51 * goes to, but it is redirected to the second of those - i.e., both
52 * of the IEEE URLs ultimately go to the same page.)
55 /* Order these values by number */
57 #ifndef ETHERTYPE_XNS_IDP
58 #define ETHERTYPE_XNS_IDP 0x0600
62 #define ETHERTYPE_IP 0x0800
65 #ifndef ETHERTYPE_X25L3
66 #define ETHERTYPE_X25L3 0x0805
70 #define ETHERTYPE_ARP 0x0806
74 #define ETHERTYPE_WOL 0x0842 /* Wake on LAN. Not offically registered. */
77 #ifndef ETHERTYPE_WMX_M2M
78 #define ETHERTYPE_WMX_M2M 0x08F0
82 #define ETHERTYPE_BPQ 0x08FF /* AX.25 over ethernet (not officially registered) */
85 #ifndef ETHERTYPE_VINES_IP
86 #define ETHERTYPE_VINES_IP 0x0BAD
89 #ifndef ETHERTYPE_VINES_ECHO
90 #define ETHERTYPE_VINES_ECHO 0x0BAF
93 #ifndef ETHERTYPE_C15_HBEAT
94 #define ETHERTYPE_C15_HBEAT 0x0C15
97 #ifndef ETHERTYPE_TRAIN
98 #define ETHERTYPE_TRAIN 0x1984 /* Created by Microsoft Network Monitor as a summary packet */
101 #ifndef ETHERTYPE_CGMP
102 #define ETHERTYPE_CGMP 0x2001
105 #ifndef ETHERTYPE_GIGAMON
106 #define ETHERTYPE_GIGAMON 0x22E5 /* Gigamon Header */
109 #ifndef ETHERTYPE_MSRP
110 #define ETHERTYPE_MSRP 0x22EA
113 #ifndef ETHERTYPE_AVBTP
114 #define ETHERTYPE_AVBTP 0x22F0
117 #ifndef ETHERTYPE_ROHC /* ROHC (Robust Header Compression) is an IP header compression protocol specified in */
118 #define ETHERTYPE_ROHC 0x22F1 /* IETF RFC 3095 "RObust Header Compression (ROHC): Framework and four profiles: RTP, */
119 #endif /* UDP, ESP, and uncompressed". The specification is available at
120 * http://www.ietf.org/rfc/rfc3095.txt.
123 #ifndef ETHERTYPE_TRILL
124 #define ETHERTYPE_TRILL 0x22F3 /* Internet Engineering Task Force */
127 #ifndef ETHERTYPE_L2ISIS
128 #define ETHERTYPE_L2ISIS 0x22F4 /* Internet Engineering Task Force */
131 #ifndef ETHERTYPE_CENTRINO_PROMISC
132 #define ETHERTYPE_CENTRINO_PROMISC 0x2452 /* Intel Centrino promiscuous packets */
135 #ifndef ETHERTYPE_3C_NBP_DGRAM
136 #define ETHERTYPE_3C_NBP_DGRAM 0x3C07
139 #ifndef ETHERTYPE_EPL_V1
140 #define ETHERTYPE_EPL_V1 0x3E3F
143 #ifndef ETHERTYPE_C15_CH
144 #define ETHERTYPE_C15_CH 0x4742
147 #ifndef ETHERTYPE_DEC
148 #define ETHERTYPE_DEC 0x6000
151 #ifndef ETHERTYPE_DNA_DL
152 #define ETHERTYPE_DNA_DL 0x6001
155 #ifndef ETHERTYPE_DNA_RC
156 #define ETHERTYPE_DNA_RC 0x6002
159 #ifndef ETHERTYPE_DNA_RT
160 #define ETHERTYPE_DNA_RT 0x6003
163 #ifndef ETHERTYPE_LAT
164 #define ETHERTYPE_LAT 0x6004
167 #ifndef ETHERTYPE_DEC_DIAG
168 #define ETHERTYPE_DEC_DIAG 0x6005
171 #ifndef ETHERTYPE_DEC_CUST
172 #define ETHERTYPE_DEC_CUST 0x6006
175 #ifndef ETHERTYPE_DEC_SCA
176 #define ETHERTYPE_DEC_SCA 0x6007
179 #ifndef ETHERTYPE_ETHBRIDGE
180 #define ETHERTYPE_ETHBRIDGE 0x6558 /* transparent Ethernet bridging [RFC1701]*/
183 #ifndef ETHERTYPE_RAW_FR
184 #define ETHERTYPE_RAW_FR 0x6559 /* Raw Frame Relay [RFC1701] */
187 #ifndef ETHERTYPE_REVARP
188 #define ETHERTYPE_REVARP 0x8035
191 #ifndef ETHERTYPE_DEC_LB
192 #define ETHERTYPE_DEC_LB 0x8038
195 #ifndef ETHERTYPE_DEC_LAST
196 #define ETHERTYPE_DEC_LAST 0x8041 /* DEC Local Area Systems Transport */
199 #ifndef ETHERTYPE_ATALK
200 #define ETHERTYPE_ATALK 0x809B
203 #ifndef ETHERTYPE_SNA
204 #define ETHERTYPE_SNA 0x80D5
207 #ifndef ETHERTYPE_DLR
208 #define ETHERTYPE_DLR 0x80E1 /* Allen-Bradley Company, Inc., EtherNet/IP Device Level Ring */
211 #ifndef ETHERTYPE_AARP
212 #define ETHERTYPE_AARP 0x80F3
215 #ifndef ETHERTYPE_VLAN
216 #define ETHERTYPE_VLAN 0x8100 /* 802.1Q Virtual LAN */
219 #ifndef ETHERTYPE_NSRP
220 #define ETHERTYPE_NSRP 0x8133
223 #ifndef ETHERTYPE_IPX
224 #define ETHERTYPE_IPX 0x8137
227 #ifndef ETHERTYPE_SNMP
228 #define ETHERTYPE_SNMP 0x814C /* SNMP over Ethernet, RFC 1089 */
231 #ifndef ETHERTYPE_WCP
232 #define ETHERTYPE_WCP 0x80FF /* Wellfleet Compression Protocol */
235 #ifndef ETHERTYPE_STP
236 #define ETHERTYPE_STP 0x8181 /* STP, HIPPI-ST */
239 #ifndef ETHERTYPE_ISMP
240 #define ETHERTYPE_ISMP 0x81FD /* Cabletron Interswitch Message Protocol */
243 #ifndef ETHERTYPE_ISMP_TBFLOOD
244 #define ETHERTYPE_ISMP_TBFLOOD 0x81FF /* Cabletron Interswitch Message Protocol */
247 #ifndef ETHERTYPE_QNX_QNET6
248 #define ETHERTYPE_QNX_QNET6 0x8204 /* 0x8204 QNX QNET/LWL4 for QNX6 OS; 0x8203 for QNX4 OS QNET */
251 #ifndef ETHERTYPE_IPv6
252 #define ETHERTYPE_IPv6 0x86DD
255 #ifndef ETHERTYPE_WLCCP
256 #define ETHERTYPE_WLCCP 0x872D /* Cisco Wireless Lan Context Control Protocol */
259 #ifndef ETHERTYPE_MINT
260 #define ETHERTYPE_MINT 0x8783 /* Motorola Media Independent Network Transport */
263 #ifndef ETHERTYPE_MAC_CONTROL
264 #define ETHERTYPE_MAC_CONTROL 0x8808
267 #ifndef ETHERTYPE_SLOW_PROTOCOLS
268 #define ETHERTYPE_SLOW_PROTOCOLS 0x8809
271 #ifndef ETHERTYPE_PPP
272 #define ETHERTYPE_PPP 0x880B /* no, this is not PPPoE */
275 #ifndef ETHERTYPE_COBRANET
276 #define ETHERTYPE_COBRANET 0x8819 /* Cirrus cobranet */
279 #ifndef ETHERTYPE_MPLS
280 #define ETHERTYPE_MPLS 0x8847 /* MPLS unicast packet */
283 #ifndef ETHERTYPE_MPLS_MULTI
284 #define ETHERTYPE_MPLS_MULTI 0x8848 /* MPLS multicast packet */
287 #ifndef ETHERTYPE_FOUNDRY
288 #define ETHERTYPE_FOUNDRY 0x885A /* Some Foundry proprietary protocol */
291 #ifndef ETHERTYPE_PPPOED
292 #define ETHERTYPE_PPPOED 0x8863 /* PPPoE Discovery Protocol */
295 #ifndef ETHERTYPE_PPPOES
296 #define ETHERTYPE_PPPOES 0x8864 /* PPPoE Session Protocol */
299 #ifndef ETHERTYPE_LINK_CTL
300 #define ETHERTYPE_LINK_CTL 0x886C /* HPNA, wlan link local tunnel */
303 #ifndef ETHERTYPE_INTEL_ANS
304 #define ETHERTYPE_INTEL_ANS 0x886D /* Intel ANS (NIC teaming) http://www.intel.com/support/network/adapter/ans/probes.htm */
307 #ifndef ETHERTYPE_MS_NLB_HEARTBEAT
308 #define ETHERTYPE_MS_NLB_HEARTBEAT 0x886F /* MS Network Load Balancing heartbeat http://www.microsoft.com/technet/treeview/default.asp?url=/TechNet/prodtechnol/windows2000serv/deploy/confeat/nlbovw.asp */
311 #ifndef ETHERTYPE_JUMBO_LLC
312 #define ETHERTYPE_JUMBO_LLC 0x8870 /* 802.2 jumbo frames http://tools.ietf.org/html/draft-ietf-isis-ext-eth */
315 #ifndef ETHERTYPE_BRCM_TYPE
316 #define ETHERTYPE_BRCM_TYPE 0x8874 /* Broadcom Ethernet switches management tag */
319 #ifndef ETHERTYPE_HOMEPLUG
320 #define ETHERTYPE_HOMEPLUG 0x887B /* IEEE assigned Ethertype */
323 #ifndef ETHERTYPE_CDMA2000_A10_UBS
324 #define ETHERTYPE_CDMA2000_A10_UBS 0x8881 /* the byte stream protocol that is used for IP based micro-mobility bearer interfaces (A10) in CDMA2000(R)-based wireless networks */
327 #ifndef ETHERTYPE_ATMOE
328 #define ETHERTYPE_ATMOE 0x8884 /* A simple ATM over Ethernet encapsulation */
331 #ifndef ETHERTYPE_EAPOL
332 #define ETHERTYPE_EAPOL 0x888E /* 802.1x Authentication */
335 #ifndef ETHERTYPE_PROFINET
336 #define ETHERTYPE_PROFINET 0x8892 /* PROFIBUS PROFINET protocol */
339 #ifndef ETHERTYPE_REALTEK
340 #define ETHERTYPE_REALTEK 0x8899 /* Realtek Layer 2 Protocols */
343 #ifndef ETHERTYPE_HYPERSCSI
344 #define ETHERTYPE_HYPERSCSI 0x889A /* HyperSCSI */
347 #ifndef ETHERTYPE_CSM_ENCAPS
348 #define ETHERTYPE_CSM_ENCAPS 0x889B /* Mindspeed Technologies www.mindspeed.com */
351 #ifndef ETHERTYPE_TELKONET
352 #define ETHERTYPE_TELKONET 0x88A1 /* Telkonet powerline ethernet */
355 #ifndef ETHERTYPE_AOE
356 #define ETHERTYPE_AOE 0x88A2
359 #ifndef ETHERTYPE_ECATF
360 #define ETHERTYPE_ECATF 0x88A4 /* Ethernet type for EtherCAT frames */
363 #ifndef ETHERTYPE_IEEE_802_1AD
364 #define ETHERTYPE_IEEE_802_1AD 0x88A8 /* IEEE 802.1ad Provider Bridge, Q-in-Q */
367 #ifndef ETHERTYPE_EPL_V2
368 #define ETHERTYPE_EPL_V2 0x88AB /* communication profile for Real-Time Ethernet */
371 #ifndef ETHERTYPE_XIMETA
372 #define ETHERTYPE_XIMETA 0x88AD /* XiMeta Technology Americas Inc. proprietary communication protocol */
375 #ifndef ETHERTYPE_BRDWALK
376 #define ETHERTYPE_BRDWALK 0x88AE
379 #ifndef ETHERTYPE_WAI
380 #define ETHERTYPE_WAI 0x88B4 /* Instant Wireless Network Communications, Co. Ltd. */
381 #endif /* WAI is a new authentication protocol that
382 will be used to access authentication in
383 IP based networks. This protocol establishes
384 a logic channel between a station and access
385 equipment by using an EtherType Field to
386 accomplish authentication. */
388 #ifndef ETHERTYPE_EXPERIMENTAL_ETH1
389 #define ETHERTYPE_EXPERIMENTAL_ETH1 0x88B5 /* IEEE Std 802 - Local Experimental Ethertype 1. */
392 #ifndef ETHERTYPE_EXPERIMENTAL_ETH2
393 #define ETHERTYPE_EXPERIMENTAL_ETH2 0x88B6 /* IEEE Std 802 - Local Experimental Ethertype 2. */
396 #ifndef ETHERTYPE_IEEE802_OUI_EXTENDED
397 #define ETHERTYPE_IEEE802_OUI_EXTENDED 0x88B7 /* IEEE 802a OUI Extended Ethertype */
400 #ifndef ETHERTYPE_IEC61850_GOOSE
401 #define ETHERTYPE_IEC61850_GOOSE 0x88B8 /* IEC 61850 is a global standard for the use in utility communication,*/
402 #endif /* in particular for the information exchange between IED's in a power */
403 /* transmission or distribution substation. */
404 /* There are three types of application services
405 that use a specific EtherType. GOOSE uses
406 EtherType field 88b8, GSE management services
407 uses EtherType field 88b9. These two protocols
408 are defined in IEC 61850-8-1. SV (Sampled
409 Value Transmission) uses EtherType field
410 88ba; the protocol is defined in IEC 61850-9-1
411 and IEC 61850-9-2. */
413 #ifndef ETHERTYPE_IEC61850_GSE
414 #define ETHERTYPE_IEC61850_GSE 0x88B9 /* IEC 61850 is a global standard for the use in utility communication,*/
415 #endif /* in particular for the information exchange between IED's in a power */
417 #ifndef ETHERTYPE_IEC61850_SV
418 #define ETHERTYPE_IEC61850_SV 0x88BA /* IEC 61850 is a global standard for the use in utility communication,*/
419 #endif /* in particular for the information exchange between IED's in a power */
421 #ifndef ETHERTYPE_TIPC
422 #define ETHERTYPE_TIPC 0x88CA /* TIPC (Transparent Inter Process Communication, */
423 #endif /* http://tipc.sourceforge.net/) Ericsson Research Canada Inc */
425 #ifndef ETHERTYPE_RSN_PREAUTH
426 #define ETHERTYPE_RSN_PREAUTH 0x88C7 /* 802.11i Pre-Authentication */
429 #ifndef ETHERTYPE_LLDP
430 #define ETHERTYPE_LLDP 0x88CC /* IEEE 802.1AB Link Layer Discovery Protocol (LLDP) */
433 #ifndef ETHERTYPE_SERCOS
434 #define ETHERTYPE_SERCOS 0x88CD /* SERCOS interface real-time protocol for motion control */
437 #ifndef ETHERTYPE_3GPP2
438 #define ETHERTYPE_3GPP2 0x88D2 /* This will be used in a revision of the Interoperabi */
439 #endif /* Specification (IOS) for cdma2000 Access Network Interfaces (document numbers A.S0011-B */
440 /* through A.S0017-B v1.0). This document already uses the Ether type 8881 */
442 #ifndef ETHERTYPE_CESOETH
443 #define ETHERTYPE_CESOETH 0x88D8 /* Circuit Emulation Services over Ethernet (MEF 8) */
446 #ifndef ETHERTYPE_LLTD
447 #define ETHERTYPE_LLTD 0x88D9 /* Link Layer Topology Discovery (LLTD) */
450 #ifndef ETHERTYPE_WSMP /* Wireless Access in a Vehicle Environment */
451 #define ETHERTYPE_WSMP 0x88DC /* (WAVE) Short Message Protocol (WSM) as defined */
452 #endif /* in IEEE P1609.3. */
454 #ifndef ETHERTYPE_VMLAB
455 #define ETHERTYPE_VMLAB 0x88DE /* VMware LabManager (used to be Akimbi Systems) */
458 #ifndef ETHERTYPE_HOMEPLUG_AV
459 #define ETHERTYPE_HOMEPLUG_AV 0x88E1 /* HomePlug AV */
462 #ifndef ETHERTYPE_MRP
463 #define ETHERTYPE_MRP 0x88E3 /* IEC 61158-6-10 Media Redundancy Protocol (MRP) */
466 #ifndef ETHERTYPE_MACSEC
467 #define ETHERTYPE_MACSEC 0x88E5 /* IEEE 802.1ae Media access control security (MACSEC) */
470 #ifndef ETHERTYPE_IEEE_802_1AH
471 #define ETHERTYPE_IEEE_802_1AH 0x88E7 /* IEEE 802.1ah Provider Backbone Bridge Mac-in-Mac */
474 #ifndef ETHERTYPE_ELMI
475 #define ETHERTYPE_ELMI 0x88EE /* Ethernet Local Management Interface (E-LMI) (MEF16) */
478 #ifndef ETHERTYPE_MVRP
479 #define ETHERTYPE_MVRP 0x88F5 /* IEEE 802.1ak Multiple VLAN Registration Protocol */
482 #ifndef ETHERTYPE_MMRP
483 #define ETHERTYPE_MMRP 0x88F6 /* IEEE 802.1ak Multiple MAC Registration Protocol */
486 #ifndef ETHERTYPE_PTP
487 #define ETHERTYPE_PTP 0x88F7 /* IEEE1588v2 (PTPv2) over Ethernet */
488 #endif /* in particular for the information exchange between IED's in a power */
489 /* transmission or distribution substation. */
490 /* There are three types of application services */
492 #ifndef ETHERTYPE_NCSI
493 #define ETHERTYPE_NCSI 0x88F8 /* DMTF NC-SI: Network Controller Sideband Interface */
496 #ifndef ETHERTYPE_PRP
497 #define ETHERTYPE_PRP 0x88FB /* Parallel Redundancy Protocol (IEC62439 Part 3) */
500 #ifndef ETHERTYPE_FLIP
501 #define ETHERTYPE_FLIP 0x8901 /* Nokia Solutions and Networks Flow Layer Internal Protocol */
504 #ifndef ETHERTYPE_CFM
505 #define ETHERTYPE_CFM 0x8902 /* IEEE 802.1ag Connectivity Fault Management(CFM) protocol */
508 #ifndef ETHERTYPE_DCE
509 #define ETHERTYPE_DCE 0x8903 /* Cisco Systems Inc DCE */
512 #ifndef ETHERTYPE_FCOE
513 #define ETHERTYPE_FCOE 0x8906 /* Fibre Channel over Ethernet */
516 #ifndef ETHERTYPE_CMD
517 #define ETHERTYPE_CMD 0x8909 /* Cisco Systems Inc - Cisco MetaData */
520 #ifndef ETHERTYPE_IEEE80211_DATA_ENCAP
521 #define ETHERTYPE_IEEE80211_DATA_ENCAP 0x890d /* IEEE 802.11 data encapsulation */
524 #ifndef ETHERTYPE_LINX
525 #define ETHERTYPE_LINX 0x8911 /* ENEA LINX IPC protocol over Ethernet */
528 #ifndef ETHERTYPE_FIP
529 #define ETHERTYPE_FIP 0x8914 /* FCoE Initialization Protocol */
532 #ifndef ETHERTYPE_ROCE
533 #define ETHERTYPE_ROCE 0x8915 /* Infiniband RDMA over Converged Ethernet */
536 #ifndef ETHERTYPE_MIH
537 #define ETHERTYPE_MIH 0x8917 /* Media Independent Handover Protocol */
540 #ifndef ETHERTYPE_TTE_PCF
541 #define ETHERTYPE_TTE_PCF 0x891D /* TTEthernet Protocol Control Frame */
544 #ifndef ETHERTYPE_VNTAG
545 #define ETHERTYPE_VNTAG 0x8926 /* VN-Tag */
548 #ifndef ETHERTYPE_SEL_L2
549 #define ETHERTYPE_SEL_L2 0x892B /* Schweitzer Engineering Labs Layer 2 */
552 #ifndef ETHERTYPE_BLUECOM
553 #define ETHERTYPE_BLUECOM 0x892D /* Bachmann bluecom protocol */
556 #ifndef ETHERTYPE_HSR
557 #define ETHERTYPE_HSR 0x892F /* High-availability Seamless Redundancy (IEC62439 Part 3) */
560 #ifndef ETHERTYPE_IEEE_1905
561 #define ETHERTYPE_IEEE_1905 0x893A /* IEEE 1905 */
564 #ifndef ETHERTYPE_IEEE_802_1BR
565 #define ETHERTYPE_IEEE_802_1BR 0x893F /* IEEE 802.1br E-Tag, Bridge Port Extension */
568 #ifndef ETHERTYPE_ECP
569 #define ETHERTYPE_ECP 0x8940 /* Edge Control Protocol */
572 #ifndef ETHERTYPE_NSH
573 #define ETHERTYPE_NSH 0x894F /* Network Service Header (draft-ietf-sfc-nsh-01.txt) */
576 #ifndef ETHERTYPE_LOOP
577 #define ETHERTYPE_LOOP 0x9000 /* used for layer 2 testing (do i see my own frames on the wire) */
580 #ifndef ETHERTYPE_RTMAC
581 #define ETHERTYPE_RTMAC 0x9021 /* RTnet: Real-Time Media Access Control */
584 #ifndef ETHERTYPE_RTCFG
585 #define ETHERTYPE_RTCFG 0x9022 /* RTnet: Real-Time Configuration Protocol */
588 #ifndef ETHERTYPE_QINQ_OLD
589 #define ETHERTYPE_QINQ_OLD 0x9100 /* QinQ: old non-standard 802.1ad */
592 #ifndef ETHERTYPE_6LOWPAN
593 #define ETHERTYPE_6LOWPAN 0xA0ED /* RFC 4944: Transmission of IPv6 Packets over IEEE 802.15.4 Networks */
596 #ifndef ETHERTYPE_LLT
597 #define ETHERTYPE_LLT 0xCAFE /* Veritas Low Latency Transport (not officially registered) */
600 #ifndef ETHERTYPE_XIP
601 #define ETHERTYPE_XIP 0xC0DE /* eXpressive Internet Protocol (not officially registered) */
604 #ifndef ETHERTYPE_NWP
605 #define ETHERTYPE_NWP 0xC0DF /* Neighborhood Watch Protocol (not officially registered) */
608 #ifndef ETHERTYPE_TDMOE
609 #define ETHERTYPE_TDMOE 0xD00D /* Digium TDMoE packets (not officially registered) */
612 #ifndef ETHERTYPE_FCFT
613 #define ETHERTYPE_FCFT 0xFCFC /* used to transport FC frames+MDS hdr internal to Cisco's MDS switch */
616 WS_DLL_PUBLIC const value_string etype_vals[];
620 #endif /* __cplusplus */
622 #endif /* __ETYPES_H__ */
625 * Editor modelines - http://www.wireshark.org/tools/modelines.html
630 * indent-tabs-mode: t
633 * vi: set shiftwidth=8 tabstop=8 noexpandtab:
634 * :indentSize=8:tabSize=8:noTabs=false: