2 * Defines ethernet packet types, similar to tcpdump's ethertype.h
4 * $Id: etypes.h,v 1.14 2000/08/09 22:10:23 deniel Exp $
6 * Ethereal - Network traffic analyzer
7 * By Gerald Combs <gerald@zing.org>
8 * Copyright 1998 Gerald Combs
11 * This program is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU General Public License
13 * as published by the Free Software Foundation; either version 2
14 * of the License, or (at your option) any later version.
16 * This program is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU General Public License for more details.
21 * You should have received a copy of the GNU General Public License
22 * along with this program; if not, write to the Free Software
23 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
30 * Maximum length of an IEEE 802.3 frame; Ethernet type/length values
31 * greater than it are types, Ethernet type/length values less than or
32 * equal to it are lengths.
34 #define IEEE_802_3_MAX_LEN 1500
37 #define ETHERTYP_UNK 0x0000
41 * http://www.isi.edu/in-notes/iana/assignments/ethernet-numbers
42 * TCP/IP Illustrated, Volume 1
44 * tcpdump's ethertype.h
45 * http://www.cavebear.com/CaveBear/Ethernet/
48 #ifndef ETHERTYPE_3C_NBP_DGRAM
49 #define ETHERTYPE_3C_NBP_DGRAM 0x3c07
53 #define ETHERTYPE_DEC 0x6000
56 #ifndef ETHERTYPE_DNA_DL
57 #define ETHERTYPE_DNA_DL 0x6001
60 #ifndef ETHERTYPE_DNA_RC
61 #define ETHERTYPE_DNA_RC 0x6002
64 #ifndef ETHERTYPE_DNA_RT
65 #define ETHERTYPE_DNA_RT 0x6003
69 #define ETHERTYPE_LAT 0x6004
72 #ifndef ETHERTYPE_DEC_DIAG
73 #define ETHERTYPE_DEC_DIAG 0x6005
76 #ifndef ETHERTYPE_DEC_CUST
77 #define ETHERTYPE_DEC_CUST 0x6006
80 #ifndef ETHERTYPE_DEC_SCA
81 #define ETHERTYPE_DEC_SCA 0x6007
85 #define ETHERTYPE_IP 0x0800
88 #ifndef ETHERTYPE_IPv6
89 #define ETHERTYPE_IPv6 0x086dd
93 #define ETHERTYPE_ARP 0x0806
96 #ifndef ETHERTYPE_X25L3
97 #define ETHERTYPE_X25L3 0x0805
100 #ifndef ETHERTYPE_REVARP
101 #define ETHERTYPE_REVARP 0x8035
104 #ifndef ETHERTYPE_DEC_LB
105 #define ETHERTYPE_DEC_LB 0x8038
108 #ifndef ETHERTYPE_ATALK
109 #define ETHERTYPE_ATALK 0x809b
112 #ifndef ETHERTYPE_AARP
113 #define ETHERTYPE_AARP 0x80f3
116 #ifndef ETHERTYPE_IPX
117 #define ETHERTYPE_IPX 0x8137
120 #ifndef ETHERTYPE_VINES
121 #define ETHERTYPE_VINES 0xbad
124 #ifndef ETHERTYPE_TRAIN
125 #define ETHERTYPE_TRAIN 0x1984
126 /* Created by Netmon as a summary packet */
129 #ifndef ETHERTYPE_LOOP
130 #define ETHERTYPE_LOOP 0x9000 /* used for layer 2 testing (do i see my own frames on the wire) */
133 #ifndef ETHERTYPE_PPPOED
134 #define ETHERTYPE_PPPOED 0x8863 /* PPPoE Discovery Protocol */
137 #ifndef ETHERTYPE_PPPOES
138 #define ETHERTYPE_PPPOES 0x8864 /* PPPoE Session Protocol */
141 #ifndef ETHERTYPE_VLAN
142 #define ETHERTYPE_VLAN 0x8100 /* 802.1Q Virtual LAN */
145 #ifndef ETHERTYPE_SNMP
146 #define ETHERTYPE_SNMP 0x814c /* SNMP over Ethernet, RFC 1089 */
149 #ifndef ETHERTYPE_MPLS
150 #define ETHERTYPE_MPLS 0x8847 /* MPLS unicast packet */
153 #ifndef ETHERTYPE_MPLS_MULTI
154 #define ETHERTYPE_MPLS_MULTI 0x8848 /* MPLS multicast packet */
157 #endif /* etypes.h */