Document the new Copy Profile button.
[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_WOL
75 #define ETHERTYPE_WOL           0x0842 /* Wake on LAN.  Not offically registered. */
76 #endif
77
78 #ifndef ETHERTYPE_WMX_M2M
79 #define ETHERTYPE_WMX_M2M       0x08f0
80 #endif
81
82 #ifndef ETHERTYPE_VINES_IP
83 #define ETHERTYPE_VINES_IP      0x0bad
84 #endif
85
86 #ifndef ETHERTYPE_VINES_ECHO
87 #define ETHERTYPE_VINES_ECHO    0x0baf
88 #endif
89
90 #ifndef ETHERTYPE_TRAIN
91 /*
92  * Created by Microsoft Network Monitor as a summary packet.
93  */
94 #define ETHERTYPE_TRAIN         0x1984
95 #endif
96
97 #ifndef ETHERTYPE_CGMP
98 #define ETHERTYPE_CGMP          0x2001
99 #endif
100
101 #ifndef ETHERTYPE_CENTRINO_PROMISC
102 #define ETHERTYPE_CENTRINO_PROMISC      0x2452  /* Intel Centrino promiscuous packets */
103 #endif
104
105 #ifndef ETHERTYPE_3C_NBP_DGRAM
106 #define ETHERTYPE_3C_NBP_DGRAM  0x3c07
107 #endif
108
109 #ifndef ETHERTYPE_EPL_V1
110 #define ETHERTYPE_EPL_V1        0x3E3F
111 #endif
112
113 #ifndef ETHERTYPE_DEC
114 #define ETHERTYPE_DEC           0x6000
115 #endif
116
117 #ifndef ETHERTYPE_DNA_DL
118 #define ETHERTYPE_DNA_DL        0x6001
119 #endif
120
121 #ifndef ETHERTYPE_DNA_RC
122 #define ETHERTYPE_DNA_RC        0x6002
123 #endif
124
125 #ifndef ETHERTYPE_DNA_RT
126 #define ETHERTYPE_DNA_RT        0x6003
127 #endif
128
129 #ifndef ETHERTYPE_LAT
130 #define ETHERTYPE_LAT           0x6004
131 #endif
132
133 #ifndef ETHERTYPE_DEC_DIAG
134 #define ETHERTYPE_DEC_DIAG      0x6005
135 #endif
136
137 #ifndef ETHERTYPE_DEC_CUST
138 #define ETHERTYPE_DEC_CUST      0x6006
139 #endif
140
141 #ifndef ETHERTYPE_DEC_SCA
142 #define ETHERTYPE_DEC_SCA       0x6007
143 #endif
144
145 #ifndef ETHERTYPE_ETHBRIDGE
146 #define ETHERTYPE_ETHBRIDGE     0x6558  /* transparent Ethernet bridging [RFC1701]*/
147 #endif
148
149 #ifndef ETHERTYPE_RAW_FR
150 #define ETHERTYPE_RAW_FR        0x6559  /* Raw Frame Relay        [RFC1701] */
151 #endif
152
153 #ifndef ETHERTYPE_REVARP
154 #define ETHERTYPE_REVARP        0x8035
155 #endif
156
157 #ifndef ETHERTYPE_DEC_LB
158 #define ETHERTYPE_DEC_LB        0x8038
159 #endif
160
161 #ifndef ETHERTYPE_DEC_LAST
162 #define ETHERTYPE_DEC_LAST      0x8041  /* DEC Local Area Systems Transport */
163 #endif
164
165 #ifndef ETHERTYPE_ATALK
166 #define ETHERTYPE_ATALK         0x809b
167 #endif
168
169 #ifndef ETHERTYPE_SNA
170 #define ETHERTYPE_SNA           0x80d5
171 #endif
172
173 #ifndef ETHERTYPE_DLR
174 #define ETHERTYPE_DLR           0x80e1  /* Allen-Bradley Company, Inc. */
175 #endif                                                          /* EtherNet/IP Device Level Ring */
176
177 #ifndef ETHERTYPE_AARP
178 #define ETHERTYPE_AARP          0x80f3
179 #endif
180
181 #ifndef ETHERTYPE_VLAN
182 #define ETHERTYPE_VLAN          0x8100  /* 802.1Q Virtual LAN */
183 #endif
184
185 #ifndef ETHERTYPE_NSRP
186 #define ETHERTYPE_NSRP          0x8133
187 #endif
188
189 #ifndef ETHERTYPE_IPX
190 #define ETHERTYPE_IPX           0x8137
191 #endif
192
193 #ifndef ETHERTYPE_SNMP
194 #define ETHERTYPE_SNMP          0x814c  /* SNMP over Ethernet, RFC 1089 */
195 #endif
196
197 #ifndef ETHERTYPE_WCP
198 #define ETHERTYPE_WCP           0x80ff  /* Wellfleet Compression Protocol */
199 #endif
200
201 #ifndef ETHERTYPE_STP
202 #define ETHERTYPE_STP           0x8181  /* STP, HIPPI-ST */
203 #endif
204
205 #ifndef ETHERTYPE_ISMP
206 #define ETHERTYPE_ISMP          0x81fd  /* Cabletron Interswitch Message Protocol */
207 #endif
208
209 #ifndef ETHERTYPE_ISMP_TBFLOOD
210 #define ETHERTYPE_ISMP_TBFLOOD  0x81ff  /* Cabletron Interswitch Message Protocol */
211 #endif
212
213 #ifndef ETHERTYPE_QNX_QNET6
214 #define ETHERTYPE_QNX_QNET6     0x8204  /* 0x8204 QNX QNET/LWL4 for QNX6 OS; 0x8203 for QNX4 OS QNET */
215 #endif
216
217 #ifndef ETHERTYPE_IPv6
218 #define ETHERTYPE_IPv6          0x86dd
219 #endif
220
221 #ifndef ETHERTYPE_WLCCP
222 #define ETHERTYPE_WLCCP         0x872d  /* Cisco Wireless Lan Context Control Protocol */
223 #endif
224
225 #ifndef ETHERTYPE_MAC_CONTROL
226 #define ETHERTYPE_MAC_CONTROL   0x8808
227 #endif
228
229 #ifndef ETHERTYPE_SLOW_PROTOCOLS
230 #define ETHERTYPE_SLOW_PROTOCOLS        0x8809
231 #endif
232
233 #ifndef ETHERTYPE_PPP
234 #define ETHERTYPE_PPP           0x880b  /* no, this is not PPPoE */
235 #endif
236
237 #ifndef ETHERTYPE_COBRANET
238 #define ETHERTYPE_COBRANET      0x8819  /* Cirrus cobranet */
239 #endif
240
241 #ifndef ETHERTYPE_MPLS
242 #define ETHERTYPE_MPLS          0x8847  /* MPLS unicast packet */
243 #endif
244
245 #ifndef ETHERTYPE_MPLS_MULTI
246 #define ETHERTYPE_MPLS_MULTI    0x8848  /* MPLS multicast packet */
247 #endif
248
249 #ifndef ETHERTYPE_FOUNDRY
250 #define ETHERTYPE_FOUNDRY       0x885a  /* Some Foundry proprietary protocol */
251 #endif
252
253 #ifndef ETHERTYPE_PPPOED
254 #define ETHERTYPE_PPPOED        0x8863  /* PPPoE Discovery Protocol */
255 #endif
256
257 #ifndef ETHERTYPE_PPPOES
258 #define ETHERTYPE_PPPOES        0x8864  /* PPPoE Session Protocol */
259 #endif
260
261 #ifndef ETHERTYPE_INTEL_ANS
262 #define ETHERTYPE_INTEL_ANS     0x886d  /* Intel ANS (NIC teaming) http://www.intel.com/support/network/adapter/ans/probes.htm */
263 #endif
264
265 #ifndef ETHERTYPE_MS_NLB_HEARTBEAT
266 #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 */
267 #endif
268
269 #ifndef ETHERTYPE_HOMEPLUG
270 #define ETHERTYPE_HOMEPLUG    0x887B  /* IEEE assigned Ethertype */
271 #endif
272
273 #ifndef ETHERTYPE_CDMA2000_A10_UBS
274 #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 */
275 #endif
276
277 #ifndef ETHERTYPE_EAPOL
278 #define ETHERTYPE_EAPOL         0x888e  /* 802.1x Authentication */
279 #endif
280
281 #ifndef ETHERTYPE_PROFINET
282 #define ETHERTYPE_PROFINET      0x8892  /* PROFIBUS PROFINET protocol */
283 #endif
284
285 #ifndef ETHERTYPE_HYPERSCSI
286 #define ETHERTYPE_HYPERSCSI     0x889A  /* HyperSCSI */
287 #endif
288
289 #ifndef ETHERTYPE_CSM_ENCAPS
290 #define ETHERTYPE_CSM_ENCAPS    0x889B /* Mindspeed Technologies www.mindspeed.com */
291 #endif
292
293 #ifndef ETHERTYPE_TELKONET
294 #define ETHERTYPE_TELKONET      0x88A1 /* Telkonet powerline ethernet */
295 #endif
296
297 #ifndef ETHERTYPE_AOE
298 #define ETHERTYPE_AOE           0x88A2
299 #endif
300
301 #ifndef ETHERTYPE_ECATF
302 #define ETHERTYPE_ECATF 0x88A4 /* Ethernet type for EtherCAT frames */
303 #endif
304
305 #ifndef ETHERTYPE_IEEE_802_1AD
306 #define ETHERTYPE_IEEE_802_1AD  0x88A8 /* IEEE 802.1ad Provider Bridge, Q-in-Q */
307 #endif
308
309 #ifndef ETHERTYPE_EPL_V2
310 #define ETHERTYPE_EPL_V2        0x88AB
311 #endif
312
313 #ifndef ETHERTYPE_XIMETA
314 #define ETHERTYPE_XIMETA       0x88AD /* XiMeta Technology Americas Inc. */
315 #endif                                                            /* proprietary communication protocol */
316
317 #ifndef ETHERTYPE_BRDWALK
318 #define ETHERTYPE_BRDWALK       0x88AE
319 #endif
320
321
322 #ifndef ETHERTYPE_IEEE802_OUI_EXTENDED
323 #define ETHERTYPE_IEEE802_OUI_EXTENDED 0x88B7   /* IEEE 802a OUI Extended Ethertype */
324 #endif
325
326 #ifndef ETHERTYPE_IEC61850_GOOSE
327 #define ETHERTYPE_IEC61850_GOOSE        0x88b8  /* IEC 61850 is a global standard for the use in utility communication,*/
328 #endif                                          /* in particular for the information exchange between IED's in a power */
329                                                 /* transmission or distribution substation. */
330                                                 /*  There are three types of application services
331                                                     that use a specific EtherType. GOOSE uses
332                                                     EtherType field 88b8, GSE management services
333                                                     uses EtherType field 88b9. These two protocols
334                                                     are defined in IEC 61850-8-1. SV (Sampled
335                                                     Value Transmission) uses EtherType field
336                                                     88ba; the protocol is defined in IEC 61850-9-1
337                                                     and IEC 61850-9-2. */
338
339 #ifndef ETHERTYPE_IEC61850_GSE
340 #define ETHERTYPE_IEC61850_GSE          0x88b9  /* IEC 61850 is a global standard for the use in utility communication,*/
341 #endif                                          /* in particular for the information exchange between IED's in a power */
342
343 #ifndef ETHERTYPE_IEC61850_SV
344 #define ETHERTYPE_IEC61850_SV           0x88ba  /* IEC 61850 is a global standard for the use in utility communication,*/
345 #endif                                          /* in particular for the information exchange between IED's in a power */
346
347 #ifndef ETHERTYPE_TIPC
348 #define ETHERTYPE_TIPC  0x88ca  /* TIPC  (Transparent Inter Process Communication, */
349 #endif                          /* http://tipc.sourceforge.net/) Ericsson Research Canada Inc */
350
351 #ifndef ETHERTYPE_RSN_PREAUTH
352 #define ETHERTYPE_RSN_PREAUTH   0x88c7  /* 802.11i Pre-Authentication */
353 #endif
354
355 #ifndef ETHERTYPE_LLDP
356 #define ETHERTYPE_LLDP          0x88cc  /* IEEE 802.1AB Link Layer Discovery Protocol (LLDP) */
357 #endif
358
359 #ifndef ETHERTYPE_SERCOS
360 #define ETHERTYPE_SERCOS        0x88cd  /* SERCOS interface real-time protocol for motion control */
361 #endif
362
363 #ifndef ETHERTYPE_3GPP2
364 #define ETHERTYPE_3GPP2         0x88d2  /* This will be used in a revision of the Interoperabi */
365 #endif                                  /* Specification (IOS) for cdma2000 Access Network Interfaces (document numbers A.S0011-B */
366                                         /* through A.S0017-B v1.0). This document already uses the Ether type 8881 */
367
368 #ifndef ETHERTYPE_LLTD
369 #define ETHERTYPE_LLTD                  0x88d9  /* Link Layer Topology Discovery (LLTD) */
370 #endif
371
372 #ifndef ETHERTYPE_WSMP                                  /* Wireless Access in a Vehicle Environment */
373 #define ETHERTYPE_WSMP                  0x88dc  /*(WAVE) Short Message Protocol (WSM) as defined */
374 #endif                                                                  /* in IEEE P1609.3. */
375
376 #ifndef ETHERTYPE_MRP
377 #define ETHERTYPE_MRP           0x88e3  /* IEC 61158-6-10 Media Redundancy Protocol (MRP) */
378 #endif
379
380 #ifndef ETHERTYPE_IEEE_802_1AH
381 #define ETHERTYPE_IEEE_802_1AH  0x88E7  /* IEEE 802.1ah Provider Backbone Bridge Mac-in-Mac */
382 #endif
383
384 #ifndef ETHERTYPE_PTP
385 #define ETHERTYPE_PTP           0x88F7  /* IEEE1588v2 (PTPv2) over Ethernet */
386 #endif                                  /* in particular for the information exchange between IED's in a power */
387                                         /* transmission or distribution substation. */
388                                         /*  There are three types of application services */
389
390 #ifndef ETHERTYPE_PRP
391 #define ETHERTYPE_PRP           0x88FB  /* Parallel Redundancy Protocol (IEC62439 Chapter 6) */
392 #endif
393
394 #ifndef ETHERTYPE_FLIP
395 #define ETHERTYPE_FLIP          0x8901  /* Nokia Siemens Networks */
396 #endif                                                          /* Flow Layer Internal Protocol */
397
398 #ifndef ETHERTYPE_CFM
399 #define ETHERTYPE_CFM           0x8902  /* IEEE 802.1ag Connectivity Fault Management */
400 #endif                                                          /* (CFM) protocol. */
401
402 #ifndef ETHERTYPE_FCOE
403 #define ETHERTYPE_FCOE          0x8906  /* Fibre Channel over Ethernet */
404 #endif
405
406 #ifndef ETHERTYPE_LINX
407 #define ETHERTYPE_LINX          0x8911  /* ENEA LINX IPC protocol over Ethernet */
408 #endif
409
410 #ifndef ETHERTYPE_FIP
411 #define ETHERTYPE_FIP           0x8914  /* FCoE Initialization Protocol */
412 #endif
413
414 #ifndef ETHERTYPE_TTE_PCF
415 #define ETHERTYPE_TTE_PCF       0x891d  /* TTEthernet Protocol Control Frame */
416 #endif
417
418 #ifndef ETHERTYPE_LOOP
419 #define ETHERTYPE_LOOP          0x9000  /* used for layer 2 testing (do i see my own frames on the wire) */
420 #endif
421
422 #ifndef ETHERTYPE_RTMAC
423 #define ETHERTYPE_RTMAC         0x9021  /* RTnet: Real-Time Media Access Control */
424 #endif
425
426 #ifndef ETHERTYPE_RTCFG
427 #define ETHERTYPE_RTCFG         0x9022  /* RTnet: Real-Time Configuration Protocol */
428 #endif
429
430 #ifndef ETHERTYPE_LLT
431 #define ETHERTYPE_LLT           0xCAFE /* Veritas Low Latency Transport (not officially registered) */
432 #endif
433
434 #ifndef ETHERTYPE_FCFT
435 /* type used to transport FC frames+MDS hdr internal to Cisco's MDS switch */
436 #define ETHERTYPE_FCFT          0xFCFC
437 #endif
438
439 extern const value_string etype_vals[];
440
441 #endif /* etypes.h */