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 * greater than it are types, Ethernet type/length values less than or
31 * equal to it are lengths.
33 #define IEEE_802_3_MAX_LEN 1500
36 #define ETHERTYPE_UNK 0x0000
40 * http://www.iana.org/assignments/ethernet-numbers
41 * TCP/IP Illustrated, Volume 1
43 * tcpdump's ethertype.h
44 * http://www.cavebear.com/CaveBear/Ethernet/
45 * http://standards.ieee.org/regauth/ethertype/type-pub.html
46 * http://standards.ieee.org/regauth/ethertype/eth.txt
47 * (The first of the two IEEE URLs is the one that the "EtherType Field
48 * Public Assignments" link on the page at
50 * http://standards.ieee.org/regauth/ethertype/index.shtml
52 * goes to, but it is redirected to the second of those - i.e., both
53 * of the IEEE URLs ultimately go to the same page.)
56 /* Order these values by number */
58 #ifndef ETHERTYPE_XNS_IDP
59 #define ETHERTYPE_XNS_IDP 0x0600
63 #define ETHERTYPE_IP 0x0800
66 #ifndef ETHERTYPE_X25L3
67 #define ETHERTYPE_X25L3 0x0805
71 #define ETHERTYPE_ARP 0x0806
74 #ifndef ETHERTYPE_VINES_IP
75 #define ETHERTYPE_VINES_IP 0x0bad
78 #ifndef ETHERTYPE_VINES_ECHO
79 #define ETHERTYPE_VINES_ECHO 0x0baf
82 #ifndef ETHERTYPE_TRAIN
84 * Created by Microsoft Network Monitor as a summary packet.
86 #define ETHERTYPE_TRAIN 0x1984
89 #ifndef ETHERTYPE_CGMP
90 #define ETHERTYPE_CGMP 0x2001
93 #ifndef ETHERTYPE_CENTRINO_PROMISC
94 #define ETHERTYPE_CENTRINO_PROMISC 0x2452 /* Intel Centrino promiscuous packets */
97 #ifndef ETHERTYPE_3C_NBP_DGRAM
98 #define ETHERTYPE_3C_NBP_DGRAM 0x3c07
101 #ifndef ETHERTYPE_EPL_V1
102 #define ETHERTYPE_EPL_V1 0x3E3F
105 #ifndef ETHERTYPE_DEC
106 #define ETHERTYPE_DEC 0x6000
109 #ifndef ETHERTYPE_DNA_DL
110 #define ETHERTYPE_DNA_DL 0x6001
113 #ifndef ETHERTYPE_DNA_RC
114 #define ETHERTYPE_DNA_RC 0x6002
117 #ifndef ETHERTYPE_DNA_RT
118 #define ETHERTYPE_DNA_RT 0x6003
121 #ifndef ETHERTYPE_LAT
122 #define ETHERTYPE_LAT 0x6004
125 #ifndef ETHERTYPE_DEC_DIAG
126 #define ETHERTYPE_DEC_DIAG 0x6005
129 #ifndef ETHERTYPE_DEC_CUST
130 #define ETHERTYPE_DEC_CUST 0x6006
133 #ifndef ETHERTYPE_DEC_SCA
134 #define ETHERTYPE_DEC_SCA 0x6007
137 #ifndef ETHERTYPE_ETHBRIDGE
138 #define ETHERTYPE_ETHBRIDGE 0x6558 /* transparent Ethernet bridging [RFC1701]*/
141 #ifndef ETHERTYPE_RAW_FR
142 #define ETHERTYPE_RAW_FR 0x6559 /* Raw Frame Relay [RFC1701] */
145 #ifndef ETHERTYPE_REVARP
146 #define ETHERTYPE_REVARP 0x8035
149 #ifndef ETHERTYPE_DEC_LB
150 #define ETHERTYPE_DEC_LB 0x8038
153 #ifndef ETHERTYPE_DEC_LAST
154 #define ETHERTYPE_DEC_LAST 0x8041 /* DEC Local Area Systems Transport */
157 #ifndef ETHERTYPE_ATALK
158 #define ETHERTYPE_ATALK 0x809b
161 #ifndef ETHERTYPE_SNA
162 #define ETHERTYPE_SNA 0x80d5
165 #ifndef ETHERTYPE_AARP
166 #define ETHERTYPE_AARP 0x80f3
169 #ifndef ETHERTYPE_VLAN
170 #define ETHERTYPE_VLAN 0x8100 /* 802.1Q Virtual LAN */
173 #ifndef ETHERTYPE_IPX
174 #define ETHERTYPE_IPX 0x8137
177 #ifndef ETHERTYPE_SNMP
178 #define ETHERTYPE_SNMP 0x814c /* SNMP over Ethernet, RFC 1089 */
181 #ifndef ETHERTYPE_WCP
182 #define ETHERTYPE_WCP 0x80ff /* Wellfleet Compression Protocol */
185 #ifndef ETHERTYPE_STP
186 #define ETHERTYPE_STP 0x8181 /* STP, HIPPI-ST */
189 #ifndef ETHERTYPE_ISMP
190 #define ETHERTYPE_ISMP 0x81fd /* Cabletron Interswitch Message Protocol */
193 #ifndef ETHERTYPE_ISMP_TBFLOOD
194 #define ETHERTYPE_ISMP_TBFLOOD 0x81ff /* Cabletron Interswitch Message Protocol */
197 #ifndef ETHERTYPE_IPv6
198 #define ETHERTYPE_IPv6 0x86dd
201 #ifndef ETHERTYPE_WLCCP
202 #define ETHERTYPE_WLCCP 0x872d /* Cisco Wireless Lan Context Control Protocol */
205 #ifndef ETHERTYPE_MAC_CONTROL
206 #define ETHERTYPE_MAC_CONTROL 0x8808
209 #ifndef ETHERTYPE_SLOW_PROTOCOLS
210 #define ETHERTYPE_SLOW_PROTOCOLS 0x8809
213 #ifndef ETHERTYPE_PPP
214 #define ETHERTYPE_PPP 0x880b /* no, this is not PPPoE */
217 #ifndef ETHERTYPE_COBRANET
218 #define ETHERTYPE_COBRANET 0x8819 /* Cirrus cobranet */
221 #ifndef ETHERTYPE_MPLS
222 #define ETHERTYPE_MPLS 0x8847 /* MPLS unicast packet */
225 #ifndef ETHERTYPE_MPLS_MULTI
226 #define ETHERTYPE_MPLS_MULTI 0x8848 /* MPLS multicast packet */
229 #ifndef ETHERTYPE_FOUNDRY
230 #define ETHERTYPE_FOUNDRY 0x885a /* Some Foundry proprietary protocol */
233 #ifndef ETHERTYPE_PPPOED
234 #define ETHERTYPE_PPPOED 0x8863 /* PPPoE Discovery Protocol */
237 #ifndef ETHERTYPE_PPPOES
238 #define ETHERTYPE_PPPOES 0x8864 /* PPPoE Session Protocol */
241 #ifndef ETHERTYPE_INTEL_ANS
242 #define ETHERTYPE_INTEL_ANS 0x886d /* Intel ANS (NIC teaming) http://www.intel.com/support/network/adapter/ans/probes.htm */
245 #ifndef ETHERTYPE_MS_NLB_HEARTBEAT
246 #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 */
249 #ifndef ETHERTYPE_HOMEPLUG
250 #define ETHERTYPE_HOMEPLUG 0x887B /* IEEE assigned Ethertype */
253 #ifndef ETHERTYPE_CDMA2000_A10_UBS
254 #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 */
257 #ifndef ETHERTYPE_EAPOL
258 #define ETHERTYPE_EAPOL 0x888e /* 802.1x Authentication */
261 #ifndef ETHERTYPE_PROFINET
262 #define ETHERTYPE_PROFINET 0x8892 /* PROFIBUS PROFINET protocol */
265 #ifndef ETHERTYPE_HYPERSCSI
266 #define ETHERTYPE_HYPERSCSI 0x889A /* HyperSCSI */
269 #ifndef ETHERTYPE_CSM_ENCAPS
270 #define ETHERTYPE_CSM_ENCAPS 0x889B /* Mindspeed Technologies www.mindspeed.com */
273 #ifndef ETHERTYPE_TELKONET
274 #define ETHERTYPE_TELKONET 0x88A1 /* Telkonet powerline ethernet */
277 #ifndef ETHERTYPE_AOE
278 #define ETHERTYPE_AOE 0x88A2
281 #ifndef ETHERTYPE_EPL_V2
282 #define ETHERTYPE_EPL_V2 0x88AB
285 #ifndef ETHERTYPE_BRDWALK
286 #define ETHERTYPE_BRDWALK 0x88AE
289 #ifndef ETHERTYPE_IEEE802_OUI_EXTENDED
290 #define ETHERTYPE_IEEE802_OUI_EXTENDED 0x88B7 /* IEEE 802a OUI Extended Ethertype */
293 #ifndef ETHERTYPE_IEC61850_GOOSE
294 #define ETHERTYPE_IEC61850_GOOSE 0x88b8 /* IEC 61850 is a global standard for the use in utility communication,*/
295 #endif /* in particular for the information exchange between IED's in a power */
296 /* transmission or distribution substation. */
297 /* There are three types of application services
298 that use a specific EtherType. GOOSE uses
299 EtherType field 88b8, GSE management services
300 uses EtherType field 88b9. These two protocols
301 are defined in IEC 61850-8-1. SV (Sampled
302 Value Transmission) uses EtherType field
303 88ba; the protocol is defined in IEC 61850-9-1
304 and IEC 61850-9-2. */
306 #ifndef ETHERTYPE_IEC61850_GSE
307 #define ETHERTYPE_IEC61850_GSE 0x88b9 /* IEC 61850 is a global standard for the use in utility communication,*/
308 #endif /* in particular for the information exchange between IED's in a power */
310 #ifndef ETHERTYPE_IEC61850_SV
311 #define ETHERTYPE_IEC61850_SV 0x88ba /* IEC 61850 is a global standard for the use in utility communication,*/
312 #endif /* in particular for the information exchange between IED's in a power */
314 #ifndef ETHERTYPE_TIPC
315 #define ETHERTYPE_TIPC 0x88ca /* TIPC (Transparent Inter Process Communication, */
316 #endif /* http://tipc.sourceforge.net/) Ericsson Research Canada Inc */
318 #ifndef ETHERTYPE_RSN_PREAUTH
319 #define ETHERTYPE_RSN_PREAUTH 0x88c7 /* 802.11i Pre-Authentication */
322 #ifndef ETHERTYPE_LLDP
323 #define ETHERTYPE_LLDP 0x88cc /* IEEE 802.1AB Link Layer Discovery Protocol (LLDP) */
326 #ifndef ETHERTYPE_3GPP2
327 #define ETHERTYPE_3GPP2 0x88d2 /* This will be used in a revision of the Interoperabi */
328 #endif /* Specification (IOS) for cdma2000 Access Network Interfaces (document numbers A.S0011-B */
329 /* through A.S0017-B v1.0). This document already uses the Ether type 8881 */
331 #ifndef ETHERTYPE_MRP
332 #define ETHERTYPE_MRP 0x88e3 /* IEC 61158-6-10 Media Redundancy Protocol (MRP) */
335 #ifndef ETHERTYPE_LOOP
336 #define ETHERTYPE_LOOP 0x9000 /* used for layer 2 testing (do i see my own frames on the wire) */
339 #ifndef ETHERTYPE_RTMAC
340 #define ETHERTYPE_RTMAC 0x9021 /* RTnet: Real-Time Media Access Control */
343 #ifndef ETHERTYPE_RTCFG
344 #define ETHERTYPE_RTCFG 0x9022 /* RTnet: Real-Time Configuration Protocol */
347 #ifndef ETHERTYPE_LLT
348 #define ETHERTYPE_LLT 0xCAFE /* Veritas Low Latency Transport (not officially registered) */
351 #ifndef ETHERTYPE_FCFT
352 /* type used to transport FC frames+MDS hdr internal to Cisco's MDS switch */
353 #define ETHERTYPE_FCFT 0xFCFC
356 extern const value_string etype_vals[];
358 #endif /* etypes.h */