2 * Defines ethernet packet types, similar to tcpdump's ethertype.h
6 * Wireshark - Network traffic analyzer
7 * By Gerald Combs <gerald@wireshark.org>
8 * Copyright 1998 Gerald Combs
10 * This program is free software; you can redistribute it and/or
11 * modify it under the terms of the GNU General Public License
12 * as published by the Free Software Foundation; either version 2
13 * of the License, or (at your option) any later version.
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
20 * You should have received a copy of the GNU General Public License
21 * along with this program; if not, write to the Free Software
22 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
29 * Maximum length of an IEEE 802.3 frame; Ethernet type/length values
30 * less than or equal to it are lengths.
32 #define IEEE_802_3_MAX_LEN 1500
35 * Minimum length of an Ethernet II frame; Ethernet type/length values
36 * greater than or equal to it are types.
38 #define ETHERNET_II_MIN_LEN 1536
41 #define ETHERTYPE_UNK 0x0000
45 * http://www.iana.org/assignments/ethernet-numbers
46 * TCP/IP Illustrated, Volume 1
48 * tcpdump's ethertype.h
49 * http://www.cavebear.com/CaveBear/Ethernet/
50 * http://standards.ieee.org/regauth/ethertype/type-pub.html
51 * http://standards.ieee.org/regauth/ethertype/eth.txt
52 * (The first of the two IEEE URLs is the one that the "EtherType Field
53 * Public Assignments" link on the page at
55 * http://standards.ieee.org/regauth/ethertype/index.shtml
57 * goes to, but it is redirected to the second of those - i.e., both
58 * of the IEEE URLs ultimately go to the same page.)
61 /* Order these values by number */
63 #ifndef ETHERTYPE_XNS_IDP
64 #define ETHERTYPE_XNS_IDP 0x0600
68 #define ETHERTYPE_IP 0x0800
71 #ifndef ETHERTYPE_X25L3
72 #define ETHERTYPE_X25L3 0x0805
76 #define ETHERTYPE_ARP 0x0806
80 #define ETHERTYPE_WOL 0x0842 /* Wake on LAN. Not offically registered. */
83 #ifndef ETHERTYPE_WMX_M2M
84 #define ETHERTYPE_WMX_M2M 0x08F0
87 #ifndef ETHERTYPE_VINES_IP
88 #define ETHERTYPE_VINES_IP 0x0BAD
91 #ifndef ETHERTYPE_VINES_ECHO
92 #define ETHERTYPE_VINES_ECHO 0x0BAF
95 #ifndef ETHERTYPE_TRAIN
96 #define ETHERTYPE_TRAIN 0x1984 /* Created by Microsoft Network Monitor as a summary packet */
99 #ifndef ETHERTYPE_CGMP
100 #define ETHERTYPE_CGMP 0x2001
103 #ifndef ETHERTYPE_GIGAMON
104 #define ETHERTYPE_GIGAMON 0x22E5 /* Gigamon Header */
107 #ifndef ETHERTYPE_MSRP
108 #define ETHERTYPE_MSRP 0x22EA
111 #ifndef ETHERTYPE_AVBTP
112 #define ETHERTYPE_AVBTP 0x22F0
115 #ifndef ETHERTYPE_ROHC /* ROHC (Robust Header Compression) is an IP header compression protocol specified in */
116 #define ETHERTYPE_ROHC 0x22F1 /* IETF RFC 3095 "RObust Header Compression (ROHC): Framework and four profiles: RTP, */
117 #endif /* UDP, ESP, and uncompressed". The specification is available at
118 * http://www.ietf.org/rfc/rfc3095.txt.
121 #ifndef ETHERTYPE_TRILL /* Internet Engineering Task Force */
122 #define ETHERTYPE_TRILL 0x22F3
125 #ifndef ETHERTYPE_L2ISIS /* Internet Engineering Task Force */
126 #define ETHERTYPE_L2ISIS 0x22F4
129 #ifndef ETHERTYPE_CENTRINO_PROMISC
130 #define ETHERTYPE_CENTRINO_PROMISC 0x2452 /* Intel Centrino promiscuous packets */
133 #ifndef ETHERTYPE_3C_NBP_DGRAM
134 #define ETHERTYPE_3C_NBP_DGRAM 0x3C07
137 #ifndef ETHERTYPE_EPL_V1
138 #define ETHERTYPE_EPL_V1 0x3E3F
141 #ifndef ETHERTYPE_DEC
142 #define ETHERTYPE_DEC 0x6000
145 #ifndef ETHERTYPE_DNA_DL
146 #define ETHERTYPE_DNA_DL 0x6001
149 #ifndef ETHERTYPE_DNA_RC
150 #define ETHERTYPE_DNA_RC 0x6002
153 #ifndef ETHERTYPE_DNA_RT
154 #define ETHERTYPE_DNA_RT 0x6003
157 #ifndef ETHERTYPE_LAT
158 #define ETHERTYPE_LAT 0x6004
161 #ifndef ETHERTYPE_DEC_DIAG
162 #define ETHERTYPE_DEC_DIAG 0x6005
165 #ifndef ETHERTYPE_DEC_CUST
166 #define ETHERTYPE_DEC_CUST 0x6006
169 #ifndef ETHERTYPE_DEC_SCA
170 #define ETHERTYPE_DEC_SCA 0x6007
173 #ifndef ETHERTYPE_ETHBRIDGE
174 #define ETHERTYPE_ETHBRIDGE 0x6558 /* transparent Ethernet bridging [RFC1701]*/
177 #ifndef ETHERTYPE_RAW_FR
178 #define ETHERTYPE_RAW_FR 0x6559 /* Raw Frame Relay [RFC1701] */
181 #ifndef ETHERTYPE_REVARP
182 #define ETHERTYPE_REVARP 0x8035
185 #ifndef ETHERTYPE_DEC_LB
186 #define ETHERTYPE_DEC_LB 0x8038
189 #ifndef ETHERTYPE_DEC_LAST
190 #define ETHERTYPE_DEC_LAST 0x8041 /* DEC Local Area Systems Transport */
193 #ifndef ETHERTYPE_ATALK
194 #define ETHERTYPE_ATALK 0x809B
197 #ifndef ETHERTYPE_SNA
198 #define ETHERTYPE_SNA 0x80D5
201 #ifndef ETHERTYPE_DLR
202 #define ETHERTYPE_DLR 0x80E1 /* Allen-Bradley Company, Inc., EtherNet/IP Device Level Ring */
205 #ifndef ETHERTYPE_AARP
206 #define ETHERTYPE_AARP 0x80F3
209 #ifndef ETHERTYPE_VLAN
210 #define ETHERTYPE_VLAN 0x8100 /* 802.1Q Virtual LAN */
213 #ifndef ETHERTYPE_NSRP
214 #define ETHERTYPE_NSRP 0x8133
217 #ifndef ETHERTYPE_IPX
218 #define ETHERTYPE_IPX 0x8137
221 #ifndef ETHERTYPE_SNMP
222 #define ETHERTYPE_SNMP 0x814C /* SNMP over Ethernet, RFC 1089 */
225 #ifndef ETHERTYPE_WCP
226 #define ETHERTYPE_WCP 0x80FF /* Wellfleet Compression Protocol */
229 #ifndef ETHERTYPE_STP
230 #define ETHERTYPE_STP 0x8181 /* STP, HIPPI-ST */
233 #ifndef ETHERTYPE_ISMP
234 #define ETHERTYPE_ISMP 0x81FD /* Cabletron Interswitch Message Protocol */
237 #ifndef ETHERTYPE_ISMP_TBFLOOD
238 #define ETHERTYPE_ISMP_TBFLOOD 0x81FF /* Cabletron Interswitch Message Protocol */
241 #ifndef ETHERTYPE_QNX_QNET6
242 #define ETHERTYPE_QNX_QNET6 0x8204 /* 0x8204 QNX QNET/LWL4 for QNX6 OS; 0x8203 for QNX4 OS QNET */
245 #ifndef ETHERTYPE_IPv6
246 #define ETHERTYPE_IPv6 0x86DD
249 #ifndef ETHERTYPE_WLCCP
250 #define ETHERTYPE_WLCCP 0x872D /* Cisco Wireless Lan Context Control Protocol */
253 #ifndef ETHERTYPE_MAC_CONTROL
254 #define ETHERTYPE_MAC_CONTROL 0x8808
257 #ifndef ETHERTYPE_SLOW_PROTOCOLS
258 #define ETHERTYPE_SLOW_PROTOCOLS 0x8809
261 #ifndef ETHERTYPE_PPP
262 #define ETHERTYPE_PPP 0x880B /* no, this is not PPPoE */
265 #ifndef ETHERTYPE_COBRANET
266 #define ETHERTYPE_COBRANET 0x8819 /* Cirrus cobranet */
269 #ifndef ETHERTYPE_MPLS
270 #define ETHERTYPE_MPLS 0x8847 /* MPLS unicast packet */
273 #ifndef ETHERTYPE_MPLS_MULTI
274 #define ETHERTYPE_MPLS_MULTI 0x8848 /* MPLS multicast packet */
277 #ifndef ETHERTYPE_FOUNDRY
278 #define ETHERTYPE_FOUNDRY 0x885A /* Some Foundry proprietary protocol */
281 #ifndef ETHERTYPE_PPPOED
282 #define ETHERTYPE_PPPOED 0x8863 /* PPPoE Discovery Protocol */
285 #ifndef ETHERTYPE_PPPOES
286 #define ETHERTYPE_PPPOES 0x8864 /* PPPoE Session Protocol */
289 #ifndef ETHERTYPE_INTEL_ANS
290 #define ETHERTYPE_INTEL_ANS 0x886D /* Intel ANS (NIC teaming) http://www.intel.com/support/network/adapter/ans/probes.htm */
293 #ifndef ETHERTYPE_MS_NLB_HEARTBEAT
294 #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 */
297 #ifndef ETHERTYPE_JUMBO_LLC
298 #define ETHERTYPE_JUMBO_LLC 0x8870 /* 802.2 jumbo frames http://tools.ietf.org/html/draft-ietf-isis-ext-eth */
301 #ifndef ETHERTYPE_HOMEPLUG
302 #define ETHERTYPE_HOMEPLUG 0x887B /* IEEE assigned Ethertype */
305 #ifndef ETHERTYPE_CDMA2000_A10_UBS
306 #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 */
309 #ifndef ETHERTYPE_EAPOL
310 #define ETHERTYPE_EAPOL 0x888E /* 802.1x Authentication */
313 #ifndef ETHERTYPE_PROFINET
314 #define ETHERTYPE_PROFINET 0x8892 /* PROFIBUS PROFINET protocol */
317 #ifndef ETHERTYPE_HYPERSCSI
318 #define ETHERTYPE_HYPERSCSI 0x889A /* HyperSCSI */
321 #ifndef ETHERTYPE_CSM_ENCAPS
322 #define ETHERTYPE_CSM_ENCAPS 0x889B /* Mindspeed Technologies www.mindspeed.com */
325 #ifndef ETHERTYPE_TELKONET
326 #define ETHERTYPE_TELKONET 0x88A1 /* Telkonet powerline ethernet */
329 #ifndef ETHERTYPE_AOE
330 #define ETHERTYPE_AOE 0x88A2
333 #ifndef ETHERTYPE_ECATF
334 #define ETHERTYPE_ECATF 0x88A4 /* Ethernet type for EtherCAT frames */
337 #ifndef ETHERTYPE_IEEE_802_1AD
338 #define ETHERTYPE_IEEE_802_1AD 0x88A8 /* IEEE 802.1ad Provider Bridge, Q-in-Q */
341 #ifndef ETHERTYPE_EPL_V2
342 #define ETHERTYPE_EPL_V2 0x88AB /* communication profile for Real-Time Ethernet */
345 #ifndef ETHERTYPE_XIMETA
346 #define ETHERTYPE_XIMETA 0x88AD /* XiMeta Technology Americas Inc. proprietary communication protocol */
349 #ifndef ETHERTYPE_BRDWALK
350 #define ETHERTYPE_BRDWALK 0x88AE
353 #ifndef ETHERTYPE_WAI
354 #define ETHERTYPE_WAI 0x88B4 /* Instant Wireless Network Communications, Co. Ltd. */
355 #endif /* WAI is a new authentication protocol that
356 will be used to access authentication in
357 IP based networks. This protocol establishes
358 a logic channel between a station and access
359 equipment by using an EtherType Field to
360 accomplish authentication. */
363 #ifndef ETHERTYPE_IEEE802_OUI_EXTENDED
364 #define ETHERTYPE_IEEE802_OUI_EXTENDED 0x88B7 /* IEEE 802a OUI Extended Ethertype */
367 #ifndef ETHERTYPE_IEC61850_GOOSE
368 #define ETHERTYPE_IEC61850_GOOSE 0x88B8 /* IEC 61850 is a global standard for the use in utility communication,*/
369 #endif /* in particular for the information exchange between IED's in a power */
370 /* transmission or distribution substation. */
371 /* There are three types of application services
372 that use a specific EtherType. GOOSE uses
373 EtherType field 88b8, GSE management services
374 uses EtherType field 88b9. These two protocols
375 are defined in IEC 61850-8-1. SV (Sampled
376 Value Transmission) uses EtherType field
377 88ba; the protocol is defined in IEC 61850-9-1
378 and IEC 61850-9-2. */
380 #ifndef ETHERTYPE_IEC61850_GSE
381 #define ETHERTYPE_IEC61850_GSE 0x88B9 /* IEC 61850 is a global standard for the use in utility communication,*/
382 #endif /* in particular for the information exchange between IED's in a power */
384 #ifndef ETHERTYPE_IEC61850_SV
385 #define ETHERTYPE_IEC61850_SV 0x88BA /* IEC 61850 is a global standard for the use in utility communication,*/
386 #endif /* in particular for the information exchange between IED's in a power */
388 #ifndef ETHERTYPE_TIPC
389 #define ETHERTYPE_TIPC 0x88CA /* TIPC (Transparent Inter Process Communication, */
390 #endif /* http://tipc.sourceforge.net/) Ericsson Research Canada Inc */
392 #ifndef ETHERTYPE_RSN_PREAUTH
393 #define ETHERTYPE_RSN_PREAUTH 0x88C7 /* 802.11i Pre-Authentication */
396 #ifndef ETHERTYPE_LLDP
397 #define ETHERTYPE_LLDP 0x88CC /* IEEE 802.1AB Link Layer Discovery Protocol (LLDP) */
400 #ifndef ETHERTYPE_SERCOS
401 #define ETHERTYPE_SERCOS 0x88CD /* SERCOS interface real-time protocol for motion control */
404 #ifndef ETHERTYPE_3GPP2
405 #define ETHERTYPE_3GPP2 0x88D2 /* This will be used in a revision of the Interoperabi */
406 #endif /* Specification (IOS) for cdma2000 Access Network Interfaces (document numbers A.S0011-B */
407 /* through A.S0017-B v1.0). This document already uses the Ether type 8881 */
409 #ifndef ETHERTYPE_LLTD
410 #define ETHERTYPE_LLTD 0x88D9 /* Link Layer Topology Discovery (LLTD) */
413 #ifndef ETHERTYPE_WSMP /* Wireless Access in a Vehicle Environment */
414 #define ETHERTYPE_WSMP 0x88DC /* (WAVE) Short Message Protocol (WSM) as defined */
415 #endif /* in IEEE P1609.3. */
417 #ifndef ETHERTYPE_VMLAB
418 #define ETHERTYPE_VMLAB 0x88DE /* VMware LabManager (used to be Akimbi Systems) */
421 #ifndef ETHERTYPE_HOMEPLUG_AV
422 #define ETHERTYPE_HOMEPLUG_AV 0x88E1 /* HomePlug AV */
425 #ifndef ETHERTYPE_MRP
426 #define ETHERTYPE_MRP 0x88E3 /* IEC 61158-6-10 Media Redundancy Protocol (MRP) */
429 #ifndef ETHERTYPE_IEEE_802_1AH
430 #define ETHERTYPE_IEEE_802_1AH 0x88E7 /* IEEE 802.1ah Provider Backbone Bridge Mac-in-Mac */
433 #ifndef ETHERTYPE_MVRP
434 #define ETHERTYPE_MVRP 0x88F5 /* IEEE 802.1ak Multiple VLAN Registration Protocol */
437 #ifndef ETHERTYPE_MMRP
438 #define ETHERTYPE_MMRP 0x88F6 /* IEEE 802.1ak Multiple MAC Registration Protocol */
441 #ifndef ETHERTYPE_PTP
442 #define ETHERTYPE_PTP 0x88F7 /* IEEE1588v2 (PTPv2) over Ethernet */
443 #endif /* in particular for the information exchange between IED's in a power */
444 /* transmission or distribution substation. */
445 /* There are three types of application services */
447 #ifndef ETHERTYPE_PRP
448 #define ETHERTYPE_PRP 0x88FB /* Parallel Redundancy Protocol (IEC62439 Part 3) */
451 #ifndef ETHERTYPE_FLIP
452 #define ETHERTYPE_FLIP 0x8901 /* Nokia Siemens Networks Flow Layer Internal Protocol */
455 #ifndef ETHERTYPE_CFM
456 #define ETHERTYPE_CFM 0x8902 /* IEEE 802.1ag Connectivity Fault Management(CFM) protocol */
459 #ifndef ETHERTYPE_DCE
460 #define ETHERTYPE_DCE 0x8903 /* Cisco Systems Inc DCE */
463 #ifndef ETHERTYPE_FCOE
464 #define ETHERTYPE_FCOE 0x8906 /* Fibre Channel over Ethernet */
467 #ifndef ETHERTYPE_IEEE80211_DATA_ENCAP
468 #define ETHERTYPE_IEEE80211_DATA_ENCAP 0x890d /* IEEE 802.11 data encapsulation */
471 #ifndef ETHERTYPE_LINX
472 #define ETHERTYPE_LINX 0x8911 /* ENEA LINX IPC protocol over Ethernet */
475 #ifndef ETHERTYPE_FIP
476 #define ETHERTYPE_FIP 0x8914 /* FCoE Initialization Protocol */
479 #ifndef ETHERTYPE_TTE_PCF
480 #define ETHERTYPE_TTE_PCF 0x891D /* TTEthernet Protocol Control Frame */
483 #ifndef ETHERTYPE_HSR
484 #define ETHERTYPE_HSR 0x892F /* High-availability Seamless Redundancy (IEC62439 Part 3) */
487 #ifndef ETHERTYPE_LOOP
488 #define ETHERTYPE_LOOP 0x9000 /* used for layer 2 testing (do i see my own frames on the wire) */
491 #ifndef ETHERTYPE_RTMAC
492 #define ETHERTYPE_RTMAC 0x9021 /* RTnet: Real-Time Media Access Control */
495 #ifndef ETHERTYPE_RTCFG
496 #define ETHERTYPE_RTCFG 0x9022 /* RTnet: Real-Time Configuration Protocol */
499 #ifndef ETHERTYPE_LLT
500 #define ETHERTYPE_LLT 0xCAFE /* Veritas Low Latency Transport (not officially registered) */
503 #ifndef ETHERTYPE_TDMOE
504 #define ETHERTYPE_TDMOE 0xD00D /* Digium TDMoE packets (not officially registered) */
507 #ifndef ETHERTYPE_FCFT
508 #define ETHERTYPE_FCFT 0xFCFC /* used to transport FC frames+MDS hdr internal to Cisco's MDS switch */
511 #ifndef ETHERTYPE_ROCE
512 #define ETHERTYPE_ROCE 0x8915 /* Infiniband RDMA over Converged Ethernet */
515 WS_VAR_IMPORT const value_string etype_vals[];
517 #endif /* etypes.h */