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