From Wes Hardaker:
[obnox/wireshark/wip.git] / etypes.h
1 /* etypes.h
2  * Defines ethernet packet types, similar to tcpdump's ethertype.h
3  *
4  * $Id: etypes.h,v 1.27 2002/09/20 09:17:38 sahlberg Exp $
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.isi.edu/in-notes/iana/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  */
46
47 #ifndef ETHERTYPE_VINES
48 #define ETHERTYPE_VINES         0x0bad
49 #endif
50
51 #ifndef ETHERTYPE_TRAIN
52 /*
53  * Created by Microsoft Network Monitor as a summary packet.
54  */
55 #define ETHERTYPE_TRAIN         0x1984
56 #endif
57
58 #ifndef ETHERTYPE_CGMP
59 #define ETHERTYPE_CGMP          0x2001
60 #endif
61
62 #ifndef ETHERTYPE_3C_NBP_DGRAM
63 #define ETHERTYPE_3C_NBP_DGRAM  0x3c07
64 #endif
65
66 #ifndef ETHERTYPE_IP
67 #define ETHERTYPE_IP            0x0800
68 #endif
69
70 #ifndef ETHERTYPE_X25L3
71 #define ETHERTYPE_X25L3         0x0805
72 #endif
73
74 #ifndef ETHERTYPE_ARP
75 #define ETHERTYPE_ARP           0x0806
76 #endif
77
78 #ifndef ETHERTYPE_DEC
79 #define ETHERTYPE_DEC           0x6000
80 #endif
81
82 #ifndef ETHERTYPE_DNA_DL
83 #define ETHERTYPE_DNA_DL        0x6001
84 #endif
85
86 #ifndef ETHERTYPE_DNA_RC
87 #define ETHERTYPE_DNA_RC        0x6002
88 #endif
89
90 #ifndef ETHERTYPE_DNA_RT
91 #define ETHERTYPE_DNA_RT        0x6003
92 #endif
93
94 #ifndef ETHERTYPE_LAT
95 #define ETHERTYPE_LAT           0x6004
96 #endif
97
98 #ifndef ETHERTYPE_DEC_DIAG
99 #define ETHERTYPE_DEC_DIAG      0x6005
100 #endif
101
102 #ifndef ETHERTYPE_DEC_CUST
103 #define ETHERTYPE_DEC_CUST      0x6006
104 #endif
105
106 #ifndef ETHERTYPE_DEC_SCA
107 #define ETHERTYPE_DEC_SCA       0x6007
108 #endif
109
110 #ifndef ETHERTYPE_ETHBRIDGE
111 #define ETHERTYPE_ETHBRIDGE     0x6558  /* transparent Ethernet bridging */
112 #endif
113
114 #ifndef ETHERTYPE_REVARP
115 #define ETHERTYPE_REVARP        0x8035
116 #endif
117
118 #ifndef ETHERTYPE_DEC_LB
119 #define ETHERTYPE_DEC_LB        0x8038
120 #endif
121
122 #ifndef ETHERTYPE_ATALK
123 #define ETHERTYPE_ATALK         0x809b
124 #endif
125
126 #ifndef ETHERTYPE_SNA
127 #define ETHERTYPE_SNA           0x80d5
128 #endif
129
130 #ifndef ETHERTYPE_AARP
131 #define ETHERTYPE_AARP          0x80f3
132 #endif
133
134 #ifndef ETHERTYPE_IPX
135 #define ETHERTYPE_IPX           0x8137
136 #endif
137
138 #ifndef ETHERTYPE_VLAN
139 #define ETHERTYPE_VLAN          0x8100  /* 802.1Q Virtual LAN */
140 #endif
141
142 #ifndef ETHERTYPE_SNMP
143 #define ETHERTYPE_SNMP          0x814c  /* SNMP over Ethernet, RFC 1089 */
144 #endif
145
146 #ifndef ETHERTYPE_WCP
147 #define ETHERTYPE_WCP           0x80ff  /* Wellfleet Compression Protocol */
148 #endif
149
150 #ifndef ETHERTYPE_IPv6
151 #define ETHERTYPE_IPv6          0x86dd
152 #endif
153
154 #ifndef ETHERTYPE_SLOW_PROTOCOLS
155 #define ETHERTYPE_SLOW_PROTOCOLS                0x8809
156 #endif
157
158 #ifndef ETHERTYPE_PPP
159 #define ETHERTYPE_PPP           0x880b  /* no, this is not PPPoE */
160 #endif
161
162 #ifndef ETHERTYPE_MPLS
163 #define ETHERTYPE_MPLS          0x8847  /* MPLS unicast packet */
164 #endif
165
166 #ifndef ETHERTYPE_MPLS_MULTI
167 #define ETHERTYPE_MPLS_MULTI    0x8848  /* MPLS multicast packet */
168 #endif
169
170 #ifndef ETHERTYPE_PPPOED
171 #define ETHERTYPE_PPPOED        0x8863  /* PPPoE Discovery Protocol */
172 #endif
173
174 #ifndef ETHERTYPE_PPPOES
175 #define ETHERTYPE_PPPOES        0x8864  /* PPPoE Session Protocol */
176 #endif
177
178 #ifndef ETHERTYPE_EAPOL
179 #define ETHERTYPE_EAPOL         0x888e  /* 802.1x Authentication */
180 #endif
181
182 #ifndef ETHERTYPE_LOOP
183 #define ETHERTYPE_LOOP          0x9000  /* used for layer 2 testing (do i see my own frames on the wire) */
184 #endif
185
186 #ifndef ETHERTYPE_OSI
187 #define ETHERTYPE_OSI           0xfefe  /* used in Cisco HDLC only */
188 #endif
189
190 extern const value_string etype_vals[];
191
192 #endif /* etypes.h */