From Mark C. Brown: fix a typo.
[obnox/wireshark/wip.git] / etypes.h
1 /* etypes.h
2  * Defines ethernet packet types, similar to tcpdump's ethertype.h
3  *
4  * $Id$
5  *
6  * Ethereal - Network traffic analyzer
7  * By Gerald Combs <gerald@ethereal.com>
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  */
47
48 #ifndef ETHERTYPE_VINES_IP
49 #define ETHERTYPE_VINES_IP      0x0bad
50 #endif
51
52 #ifndef ETHERTYPE_VINES_ECHO
53 #define ETHERTYPE_VINES_ECHO    0x0baf
54 #endif
55
56 #ifndef ETHERTYPE_TRAIN
57 /*
58  * Created by Microsoft Network Monitor as a summary packet.
59  */
60 #define ETHERTYPE_TRAIN         0x1984
61 #endif
62
63 #ifndef ETHERTYPE_CGMP
64 #define ETHERTYPE_CGMP          0x2001
65 #endif
66
67 #ifndef ETHERTYPE_CENTRINO_PROMISC
68 #define ETHERTYPE_CENTRINO_PROMISC      0x2452  /* Intel Centrino promiscuous packets */
69 #endif
70
71 #ifndef ETHERTYPE_3C_NBP_DGRAM
72 #define ETHERTYPE_3C_NBP_DGRAM  0x3c07
73 #endif
74
75 #ifndef ETHERTYPE_IP
76 #define ETHERTYPE_IP            0x0800
77 #endif
78
79 #ifndef ETHERTYPE_X25L3
80 #define ETHERTYPE_X25L3         0x0805
81 #endif
82
83 #ifndef ETHERTYPE_ARP
84 #define ETHERTYPE_ARP           0x0806
85 #endif
86
87 #ifndef ETHERTYPE_DEC
88 #define ETHERTYPE_DEC           0x6000
89 #endif
90
91 #ifndef ETHERTYPE_DNA_DL
92 #define ETHERTYPE_DNA_DL        0x6001
93 #endif
94
95 #ifndef ETHERTYPE_DNA_RC
96 #define ETHERTYPE_DNA_RC        0x6002
97 #endif
98
99 #ifndef ETHERTYPE_DNA_RT
100 #define ETHERTYPE_DNA_RT        0x6003
101 #endif
102
103 #ifndef ETHERTYPE_LAT
104 #define ETHERTYPE_LAT           0x6004
105 #endif
106
107 #ifndef ETHERTYPE_DEC_DIAG
108 #define ETHERTYPE_DEC_DIAG      0x6005
109 #endif
110
111 #ifndef ETHERTYPE_DEC_CUST
112 #define ETHERTYPE_DEC_CUST      0x6006
113 #endif
114
115 #ifndef ETHERTYPE_DEC_SCA
116 #define ETHERTYPE_DEC_SCA       0x6007
117 #endif
118
119 #ifndef ETHERTYPE_ETHBRIDGE
120 #define ETHERTYPE_ETHBRIDGE     0x6558  /* transparent Ethernet bridging */
121 #endif
122
123 #ifndef ETHERTYPE_REVARP
124 #define ETHERTYPE_REVARP        0x8035
125 #endif
126
127 #ifndef ETHERTYPE_DEC_LB
128 #define ETHERTYPE_DEC_LB        0x8038
129 #endif
130
131 #ifndef ETHERTYPE_ATALK
132 #define ETHERTYPE_ATALK         0x809b
133 #endif
134
135 #ifndef ETHERTYPE_SNA
136 #define ETHERTYPE_SNA           0x80d5
137 #endif
138
139 #ifndef ETHERTYPE_AARP
140 #define ETHERTYPE_AARP          0x80f3
141 #endif
142
143 #ifndef ETHERTYPE_IPX
144 #define ETHERTYPE_IPX           0x8137
145 #endif
146
147 #ifndef ETHERTYPE_VLAN
148 #define ETHERTYPE_VLAN          0x8100  /* 802.1Q Virtual LAN */
149 #endif
150
151 #ifndef ETHERTYPE_SNMP
152 #define ETHERTYPE_SNMP          0x814c  /* SNMP over Ethernet, RFC 1089 */
153 #endif
154
155 #ifndef ETHERTYPE_WCP
156 #define ETHERTYPE_WCP           0x80ff  /* Wellfleet Compression Protocol */
157 #endif
158
159 #ifndef ETHERTYPE_ISMP
160 #define ETHERTYPE_ISMP          0x81fd  /* Cabletron Interswitch Message Protocol */
161 #endif
162
163 #ifndef ETHERTYPE_ISMP_TBFLOOD
164 #define ETHERTYPE_ISMP_TBFLOOD  0x81ff  /* Cabletron Interswitch Message Protocol */
165 #endif
166
167 #ifndef ETHERTYPE_IPv6
168 #define ETHERTYPE_IPv6          0x86dd
169 #endif
170
171 #ifndef ETHERTYPE_MAC_CONTROL
172 #define ETHERTYPE_MAC_CONTROL   0x8808
173 #endif
174
175 #ifndef ETHERTYPE_SLOW_PROTOCOLS
176 #define ETHERTYPE_SLOW_PROTOCOLS        0x8809
177 #endif
178
179 #ifndef ETHERTYPE_PPP
180 #define ETHERTYPE_PPP           0x880b  /* no, this is not PPPoE */
181 #endif
182
183 #ifndef ETHERTYPE_MPLS
184 #define ETHERTYPE_MPLS          0x8847  /* MPLS unicast packet */
185 #endif
186
187 #ifndef ETHERTYPE_MPLS_MULTI
188 #define ETHERTYPE_MPLS_MULTI    0x8848  /* MPLS multicast packet */
189 #endif
190
191 #ifndef ETHERTYPE_PPPOED
192 #define ETHERTYPE_PPPOED        0x8863  /* PPPoE Discovery Protocol */
193 #endif
194
195 #ifndef ETHERTYPE_PPPOES
196 #define ETHERTYPE_PPPOES        0x8864  /* PPPoE Session Protocol */
197 #endif
198
199 #ifndef ETHERTYPE_INTEL_ANS
200 #define ETHERTYPE_INTEL_ANS     0x886d  /* Intel ANS (NIC teaming) http://www.intel.com/support/network/adapter/ans/probes.htm */
201 #endif
202
203 #ifndef ETHERTYPE_MS_NLB_HEARTBEAT
204 #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 */
205 #endif
206
207 #ifndef ETHERTYPE_EAPOL
208 #define ETHERTYPE_EAPOL         0x888e  /* 802.1x Authentication */
209 #endif
210
211 #ifndef ETHERTYPE_PROFINET
212 #define ETHERTYPE_PROFINET      0x8892  /* PROFIBUS PROFInet protocol */
213 #endif
214
215 #ifndef ETHERTYPE_HYPERSCSI
216 #define ETHERTYPE_HYPERSCSI     0x889A  /* HyperSCSI */
217 #endif
218
219 #ifndef ETHERTYPE_BRDWALK
220 #define ETHERTYPE_BRDWALK       0x88AE
221 #endif
222
223 #ifndef ETHERTYPE_RSN_PREAUTH
224 #define ETHERTYPE_RSN_PREAUTH   0x88c7  /* 802.11i Pre-Authentication */
225 #endif
226
227 #ifndef ETHERTYPE_LOOP
228 #define ETHERTYPE_LOOP          0x9000  /* used for layer 2 testing (do i see my own frames on the wire) */
229 #endif
230
231 #ifndef ETHERTYPE_RTNET
232 #define ETHERTYPE_RTNET         0x9021  /* RTNET protocol*/
233 #endif
234
235 #ifndef ETHERTYPE_RTCFG
236 #define ETHERTYPE_RTCFG         0x9022  /* RTCFG protocol*/
237 #endif
238
239 #ifndef ETHERTYPE_FCFT
240 /* type used to transport FC frames+MDS hdr internal to Cisco's MDS switch */
241 #define ETHERTYPE_FCFT          0xFCFC
242 #endif
243
244 extern const value_string etype_vals[];
245
246 #endif /* etypes.h */