Fix another typowq
[obnox/wireshark/wip.git] / epan / etypes.h
1 /* etypes.h
2  * Defines ethernet packet types, similar to tcpdump's ethertype.h
3  *
4  * $Id$
5  *
6  * Wireshark - Network traffic analyzer
7  * By Gerald Combs <gerald@wireshark.org>
8  * Copyright 1998 Gerald Combs
9  *
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.
14  *
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.
19  *
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.
23  */
24
25 #ifndef __ETYPES_H__
26 #define __ETYPES_H__
27
28 /*
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.
32  */
33 #define IEEE_802_3_MAX_LEN 1500
34
35 #ifndef ETHERTYPE_UNK
36 #define ETHERTYPE_UNK           0x0000
37 #endif
38
39 /* Sources:
40  * http://www.iana.org/assignments/ethernet-numbers
41  * TCP/IP Illustrated, Volume 1
42  * RFCs 894, 1042, 826
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
49  *
50  *      http://standards.ieee.org/regauth/ethertype/index.shtml
51  *
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.)
54  */
55
56 /* Order these values by number */
57
58 #ifndef ETHERTYPE_XNS_IDP
59 #define ETHERTYPE_XNS_IDP       0x0600
60 #endif
61
62 #ifndef ETHERTYPE_IP
63 #define ETHERTYPE_IP            0x0800
64 #endif
65
66 #ifndef ETHERTYPE_X25L3
67 #define ETHERTYPE_X25L3         0x0805
68 #endif
69
70 #ifndef ETHERTYPE_ARP
71 #define ETHERTYPE_ARP           0x0806
72 #endif
73
74 #ifndef ETHERTYPE_VINES_IP
75 #define ETHERTYPE_VINES_IP      0x0bad
76 #endif
77
78 #ifndef ETHERTYPE_VINES_ECHO
79 #define ETHERTYPE_VINES_ECHO    0x0baf
80 #endif
81
82 #ifndef ETHERTYPE_TRAIN
83 /*
84  * Created by Microsoft Network Monitor as a summary packet.
85  */
86 #define ETHERTYPE_TRAIN         0x1984
87 #endif
88
89 #ifndef ETHERTYPE_CGMP
90 #define ETHERTYPE_CGMP          0x2001
91 #endif
92
93 #ifndef ETHERTYPE_CENTRINO_PROMISC
94 #define ETHERTYPE_CENTRINO_PROMISC      0x2452  /* Intel Centrino promiscuous packets */
95 #endif
96
97 #ifndef ETHERTYPE_3C_NBP_DGRAM
98 #define ETHERTYPE_3C_NBP_DGRAM  0x3c07
99 #endif
100
101 #ifndef ETHERTYPE_EPL_V1
102 #define ETHERTYPE_EPL_V1        0x3E3F
103 #endif
104
105 #ifndef ETHERTYPE_DEC
106 #define ETHERTYPE_DEC           0x6000
107 #endif
108
109 #ifndef ETHERTYPE_DNA_DL
110 #define ETHERTYPE_DNA_DL        0x6001
111 #endif
112
113 #ifndef ETHERTYPE_DNA_RC
114 #define ETHERTYPE_DNA_RC        0x6002
115 #endif
116
117 #ifndef ETHERTYPE_DNA_RT
118 #define ETHERTYPE_DNA_RT        0x6003
119 #endif
120
121 #ifndef ETHERTYPE_LAT
122 #define ETHERTYPE_LAT           0x6004
123 #endif
124
125 #ifndef ETHERTYPE_DEC_DIAG
126 #define ETHERTYPE_DEC_DIAG      0x6005
127 #endif
128
129 #ifndef ETHERTYPE_DEC_CUST
130 #define ETHERTYPE_DEC_CUST      0x6006
131 #endif
132
133 #ifndef ETHERTYPE_DEC_SCA
134 #define ETHERTYPE_DEC_SCA       0x6007
135 #endif
136
137 #ifndef ETHERTYPE_ETHBRIDGE
138 #define ETHERTYPE_ETHBRIDGE     0x6558  /* transparent Ethernet bridging [RFC1701]*/
139 #endif
140
141 #ifndef ETHERTYPE_RAW_FR
142 #define ETHERTYPE_RAW_FR        0x6559  /* Raw Frame Relay        [RFC1701] */
143 #endif
144
145 #ifndef ETHERTYPE_REVARP
146 #define ETHERTYPE_REVARP        0x8035
147 #endif
148
149 #ifndef ETHERTYPE_DEC_LB
150 #define ETHERTYPE_DEC_LB        0x8038
151 #endif
152
153 #ifndef ETHERTYPE_DEC_LAST
154 #define ETHERTYPE_DEC_LAST      0x8041  /* DEC Local Area Systems Transport */
155 #endif
156
157 #ifndef ETHERTYPE_ATALK
158 #define ETHERTYPE_ATALK         0x809b
159 #endif
160
161 #ifndef ETHERTYPE_SNA
162 #define ETHERTYPE_SNA           0x80d5
163 #endif
164
165 #ifndef ETHERTYPE_AARP
166 #define ETHERTYPE_AARP          0x80f3
167 #endif
168
169 #ifndef ETHERTYPE_VLAN
170 #define ETHERTYPE_VLAN          0x8100  /* 802.1Q Virtual LAN */
171 #endif
172
173 #ifndef ETHERTYPE_IPX
174 #define ETHERTYPE_IPX           0x8137
175 #endif
176
177 #ifndef ETHERTYPE_SNMP
178 #define ETHERTYPE_SNMP          0x814c  /* SNMP over Ethernet, RFC 1089 */
179 #endif
180
181 #ifndef ETHERTYPE_WCP
182 #define ETHERTYPE_WCP           0x80ff  /* Wellfleet Compression Protocol */
183 #endif
184
185 #ifndef ETHERTYPE_STP
186 #define ETHERTYPE_STP           0x8181  /* STP, HIPPI-ST */
187 #endif
188
189 #ifndef ETHERTYPE_ISMP
190 #define ETHERTYPE_ISMP          0x81fd  /* Cabletron Interswitch Message Protocol */
191 #endif
192
193 #ifndef ETHERTYPE_ISMP_TBFLOOD
194 #define ETHERTYPE_ISMP_TBFLOOD  0x81ff  /* Cabletron Interswitch Message Protocol */
195 #endif
196
197 #ifndef ETHERTYPE_IPv6
198 #define ETHERTYPE_IPv6          0x86dd
199 #endif
200
201 #ifndef ETHERTYPE_WLCCP
202 #define ETHERTYPE_WLCCP         0x872d  /* Cisco Wireless Lan Context Control Protocol */
203 #endif
204
205 #ifndef ETHERTYPE_MAC_CONTROL
206 #define ETHERTYPE_MAC_CONTROL   0x8808
207 #endif
208
209 #ifndef ETHERTYPE_SLOW_PROTOCOLS
210 #define ETHERTYPE_SLOW_PROTOCOLS        0x8809
211 #endif
212
213 #ifndef ETHERTYPE_PPP
214 #define ETHERTYPE_PPP           0x880b  /* no, this is not PPPoE */
215 #endif
216
217 #ifndef ETHERTYPE_MPLS
218 #define ETHERTYPE_MPLS          0x8847  /* MPLS unicast packet */
219 #endif
220
221 #ifndef ETHERTYPE_MPLS_MULTI
222 #define ETHERTYPE_MPLS_MULTI    0x8848  /* MPLS multicast packet */
223 #endif
224
225 #ifndef ETHERTYPE_FOUNDRY
226 #define ETHERTYPE_FOUNDRY       0x885a  /* Some Foundry proprietary protocol */
227 #endif
228
229 #ifndef ETHERTYPE_PPPOED
230 #define ETHERTYPE_PPPOED        0x8863  /* PPPoE Discovery Protocol */
231 #endif
232
233 #ifndef ETHERTYPE_PPPOES
234 #define ETHERTYPE_PPPOES        0x8864  /* PPPoE Session Protocol */
235 #endif
236
237 #ifndef ETHERTYPE_INTEL_ANS
238 #define ETHERTYPE_INTEL_ANS     0x886d  /* Intel ANS (NIC teaming) http://www.intel.com/support/network/adapter/ans/probes.htm */
239 #endif
240
241 #ifndef ETHERTYPE_MS_NLB_HEARTBEAT
242 #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 */
243 #endif
244
245 #ifndef ETHERTYPE_CDMA2000_A10_UBS
246 #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 */
247 #endif
248
249 #ifndef ETHERTYPE_EAPOL
250 #define ETHERTYPE_EAPOL         0x888e  /* 802.1x Authentication */
251 #endif
252
253 #ifndef ETHERTYPE_PROFINET
254 #define ETHERTYPE_PROFINET      0x8892  /* PROFIBUS PROFINET protocol */
255 #endif
256
257 #ifndef ETHERTYPE_HYPERSCSI
258 #define ETHERTYPE_HYPERSCSI     0x889A  /* HyperSCSI */
259 #endif
260
261 #ifndef ETHERTYPE_CSM_ENCAPS
262 #define ETHERTYPE_CSM_ENCAPS    0x889B /* Mindspeed Technologies www.mindspeed.com */
263 #endif
264
265 #ifndef ETHERTYPE_TELKONET
266 #define ETHERTYPE_TELKONET      0x88A1 /* Telkonet powerline ethernet */
267 #endif
268
269 #ifndef ETHERTYPE_AOE
270 #define ETHERTYPE_AOE           0x88A2
271 #endif
272
273 #ifndef ETHERTYPE_EPL_V2
274 #define ETHERTYPE_EPL_V2        0x88AB
275 #endif
276
277 #ifndef ETHERTYPE_BRDWALK
278 #define ETHERTYPE_BRDWALK       0x88AE
279 #endif
280
281 #ifndef ETHERTYPE_IEEE802_OUI_EXTENDED
282 #define ETHERTYPE_IEEE802_OUI_EXTENDED 0x88B7   /* IEEE 802a OUI Extended Ethertype */
283 #endif
284
285 #ifndef ETHERTYPE_IEC61850_GOOSE
286 #define ETHERTYPE_IEC61850_GOOSE        0x88b8  /* IEC 61850 is a global standard for the use in utility communication,*/
287 #endif                                                                          /* in particular for the information exchange between IED's in a power */
288                                                                                         /* transmission or distribution substation. */
289                                                                                         /*  There are three types of application services
290                                                                                                 that use a specific EtherType. GOOSE uses
291                                                                                                 EtherType field 88b8, GSE management services
292                                                                                                 uses EtherType field 88b9. These two protocols
293                                                                                                 are defined in IEC 61850-8-1. SV (Sampled
294                                                                                                 Value Transmission) uses EtherType field
295                                                                                                 88ba; the protocol is defined in IEC 61850-9-1
296                                                                                                 and IEC 61850-9-2. */
297
298 #ifndef ETHERTYPE_IEC61850_GSE
299 #define ETHERTYPE_IEC61850_GSE          0x88b9  /* IEC 61850 is a global standard for the use in utility communication,*/
300 #endif                                                                          /* in particular for the information exchange between IED's in a power */
301
302 #ifndef ETHERTYPE_IEC61850_SV
303 #define ETHERTYPE_IEC61850_SV           0x88ba  /* IEC 61850 is a global standard for the use in utility communication,*/
304 #endif                                                                          /* in particular for the information exchange between IED's in a power */
305
306 #ifndef ETHERTYPE_TIPC
307 #define ETHERTYPE_TIPC  0x88ca  /* TIPC  (Transparent Inter Process Communication, */
308 #endif                                                  /* http://tipc.sourceforge.net/) Ericsson Research Canada Inc */
309
310 #ifndef ETHERTYPE_RSN_PREAUTH
311 #define ETHERTYPE_RSN_PREAUTH   0x88c7  /* 802.11i Pre-Authentication */
312 #endif
313
314 #ifndef ETHERTYPE_LLDP
315 #define ETHERTYPE_LLDP          0x88cc  /* IEEE 802.1AB Link Layer Discovery Protocol (LLDP) */
316 #endif
317
318 #ifndef ETHERTYPE_3GPP2
319 #define ETHERTYPE_3GPP2         0x88d2  /* This will be used in a revision of the Interoperabi */
320 #endif                                                                  /* Specification (IOS) for cdma2000 Access Network Interfaces (document numbers A.S0011-B */
321                                                                                 /* through A.S0017-B v1.0). This document already uses the Ether type 8881 */
322
323 #ifndef ETHERTYPE_MRP
324 #define ETHERTYPE_MRP           0x88e3  /* IEC 61158-6-10 Media Redundancy Protocol (MRP) */
325 #endif
326
327 #ifndef ETHERTYPE_LOOP
328 #define ETHERTYPE_LOOP          0x9000  /* used for layer 2 testing (do i see my own frames on the wire) */
329 #endif
330
331 #ifndef ETHERTYPE_RTMAC
332 #define ETHERTYPE_RTMAC         0x9021  /* RTnet: Real-Time Media Access Control */
333 #endif
334
335 #ifndef ETHERTYPE_RTCFG
336 #define ETHERTYPE_RTCFG         0x9022  /* RTnet: Real-Time Configuration Protocol */
337 #endif
338
339 #ifndef ETHERTYPE_LLT
340 #define ETHERTYPE_LLT           0xCAFE /* Veritas Low Latency Transport (not officially registered) */
341 #endif
342
343 #ifndef ETHERTYPE_FCFT
344 /* type used to transport FC frames+MDS hdr internal to Cisco's MDS switch */
345 #define ETHERTYPE_FCFT          0xFCFC
346 #endif
347
348 extern const value_string etype_vals[];
349
350 #endif /* etypes.h */