dlt.h revision 1.11.108.1 1 1.11.108.1 mrg /* $NetBSD: dlt.h,v 1.11.108.1 2012/02/18 07:35:37 mrg Exp $ */
2 1.1 thorpej
3 1.1 thorpej /*
4 1.1 thorpej * Copyright (c) 1990, 1991, 1993
5 1.1 thorpej * The Regents of the University of California. All rights reserved.
6 1.1 thorpej *
7 1.1 thorpej * This code is derived from the Stanford/CMU enet packet filter,
8 1.1 thorpej * (net/enet.c) distributed as part of 4.3BSD, and code contributed
9 1.1 thorpej * to Berkeley by Steven McCanne and Van Jacobson both of Lawrence
10 1.1 thorpej * Berkeley Laboratory.
11 1.1 thorpej *
12 1.1 thorpej * Redistribution and use in source and binary forms, with or without
13 1.1 thorpej * modification, are permitted provided that the following conditions
14 1.1 thorpej * are met:
15 1.1 thorpej * 1. Redistributions of source code must retain the above copyright
16 1.1 thorpej * notice, this list of conditions and the following disclaimer.
17 1.1 thorpej * 2. Redistributions in binary form must reproduce the above copyright
18 1.1 thorpej * notice, this list of conditions and the following disclaimer in the
19 1.1 thorpej * documentation and/or other materials provided with the distribution.
20 1.6 agc * 3. Neither the name of the University nor the names of its contributors
21 1.1 thorpej * may be used to endorse or promote products derived from this software
22 1.1 thorpej * without specific prior written permission.
23 1.1 thorpej *
24 1.1 thorpej * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
25 1.1 thorpej * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 1.1 thorpej * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 1.1 thorpej * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28 1.1 thorpej * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 1.1 thorpej * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 1.1 thorpej * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 1.1 thorpej * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 1.1 thorpej * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 1.1 thorpej * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 1.1 thorpej * SUCH DAMAGE.
35 1.1 thorpej *
36 1.1 thorpej * @(#)bpf.h 8.2 (Berkeley) 1/9/95
37 1.1 thorpej * @(#) Header: bpf.h,v 1.36 97/06/12 14:29:53 leres Exp (LBL)
38 1.1 thorpej */
39 1.1 thorpej
40 1.1 thorpej #ifndef _NET_DLT_H_
41 1.1 thorpej #define _NET_DLT_H_
42 1.1 thorpej
43 1.1 thorpej /*
44 1.1 thorpej * Data-link level type codes.
45 1.1 thorpej */
46 1.1 thorpej #define DLT_NULL 0 /* no link-layer encapsulation */
47 1.1 thorpej #define DLT_EN10MB 1 /* Ethernet (10Mb) */
48 1.1 thorpej #define DLT_EN3MB 2 /* Experimental Ethernet (3Mb) */
49 1.1 thorpej #define DLT_AX25 3 /* Amateur Radio AX.25 */
50 1.1 thorpej #define DLT_PRONET 4 /* Proteon ProNET Token Ring */
51 1.1 thorpej #define DLT_CHAOS 5 /* Chaos */
52 1.1 thorpej #define DLT_IEEE802 6 /* IEEE 802 Networks */
53 1.1 thorpej #define DLT_ARCNET 7 /* ARCNET */
54 1.1 thorpej #define DLT_SLIP 8 /* Serial Line IP */
55 1.1 thorpej #define DLT_PPP 9 /* Point-to-point Protocol */
56 1.1 thorpej #define DLT_FDDI 10 /* FDDI */
57 1.1 thorpej #define DLT_ATM_RFC1483 11 /* LLC/SNAP encapsulated atm */
58 1.1 thorpej #define DLT_RAW 12 /* raw IP */
59 1.1 thorpej #define DLT_SLIP_BSDOS 13 /* BSD/OS Serial Line IP */
60 1.1 thorpej #define DLT_PPP_BSDOS 14 /* BSD/OS Point-to-point Protocol */
61 1.1 thorpej #define DLT_HIPPI 15 /* HIPPI */
62 1.1 thorpej #define DLT_HDLC 16 /* HDLC framing */
63 1.1 thorpej
64 1.8 itojun #define DLT_PFSYNC 18 /* Packet filter state syncing */
65 1.9 dyoung #define DLT_ATM_CLIP 19 /* Linux Classical-IP over ATM */
66 1.9 dyoung #define DLT_ENC 109 /* Encapsulated packets for IPsec */
67 1.9 dyoung #define DLT_LINUX_SLL 113 /* Linux cooked sockets */
68 1.9 dyoung #define DLT_LTALK 114 /* Apple LocalTalk hardware */
69 1.8 itojun #define DLT_PFLOG 117 /* Packet filter logging, by pcap people */
70 1.9 dyoung #define DLT_CISCO_IOS 118 /* Registered for Cisco-internal use */
71 1.8 itojun
72 1.1 thorpej /* NetBSD-specific types */
73 1.1 thorpej #define DLT_PPP_SERIAL 50 /* PPP over serial (async and sync) */
74 1.5 salo #define DLT_PPP_ETHER 51 /* XXX - deprecated! PPP over Ethernet; session only, w/o ether header */
75 1.3 bjh21
76 1.9 dyoung /* Axent Raptor / Symantec Enterprise Firewall */
77 1.9 dyoung #define DLT_SYMANTEC_FIREWALL 99
78 1.9 dyoung
79 1.9 dyoung #define DLT_C_HDLC 104 /* Cisco HDLC */
80 1.4 onoe #define DLT_IEEE802_11 105 /* IEEE 802.11 wireless */
81 1.9 dyoung #define DLT_FRELAY 107 /* Frame Relay */
82 1.9 dyoung #define DLT_LOOP 108 /* OpenBSD DLT_LOOP */
83 1.4 onoe #define DLT_ECONET 115 /* Acorn Econet */
84 1.4 onoe #define DLT_PRISM_HEADER 119 /* 802.11 header plus Prism II info. */
85 1.4 onoe #define DLT_AIRONET_HEADER 120 /* 802.11 header plus Aironet info. */
86 1.9 dyoung #define DLT_HHDLC 121 /* Reserved for Siemens HiPath HDLC */
87 1.9 dyoung #define DLT_IP_OVER_FC 122 /* RFC 2625 IP-over-Fibre Channel */
88 1.9 dyoung #define DLT_SUNATM 123 /* Solaris+SunATM */
89 1.9 dyoung #define DLT_RIO 124 /* RapidIO */
90 1.9 dyoung #define DLT_PCI_EXP 125 /* PCI Express */
91 1.9 dyoung #define DLT_AURORA 126 /* Xilinx Aurora link layer */
92 1.7 dyoung #define DLT_IEEE802_11_RADIO 127 /* 802.11 header plus radio info. */
93 1.9 dyoung #define DLT_TZSP 128 /* Tazmen Sniffer Protocol */
94 1.9 dyoung #define DLT_ARCNET_LINUX 129 /* ARCNET */
95 1.9 dyoung #define DLT_JUNIPER_MLPPP 130 /* Juniper-private data link types. */
96 1.9 dyoung #define DLT_JUNIPER_MLFR 131
97 1.9 dyoung #define DLT_JUNIPER_ES 132
98 1.9 dyoung #define DLT_JUNIPER_GGSN 133
99 1.9 dyoung #define DLT_JUNIPER_MFR 134
100 1.9 dyoung #define DLT_JUNIPER_ATM2 135
101 1.9 dyoung #define DLT_JUNIPER_SERVICES 136
102 1.9 dyoung #define DLT_JUNIPER_ATM1 137
103 1.9 dyoung #define DLT_APPLE_IP_OVER_IEEE1394 138 /* Apple IP-over-IEEE 1394 */
104 1.9 dyoung
105 1.11 drochner /* Various SS7 encapsulations */
106 1.11 drochner #define DLT_MTP2_WITH_PHDR 139 /* pseudo-header with various info,
107 1.11 drochner followed by MTP2 */
108 1.11 drochner #define DLT_MTP2 140 /* MTP2, without pseudo-header */
109 1.11 drochner #define DLT_MTP3 141 /* MTP3, without pseudo-header or MTP2 */
110 1.11 drochner #define DLT_SCCP 142 /* SCCP, without pseudo-header or MTP2
111 1.11 drochner or MTP3 */
112 1.9 dyoung
113 1.9 dyoung #define DLT_DOCSIS 143 /* Reserved for DOCSIS MAC frames. */
114 1.9 dyoung #define DLT_LINUX_IRDA 144 /* Linux-IrDA packets */
115 1.9 dyoung
116 1.9 dyoung /* Reserved for IBM SP switch and IBM Next Federation switch. */
117 1.9 dyoung #define DLT_IBM_SP 145
118 1.9 dyoung #define DLT_IBM_SN 146
119 1.9 dyoung
120 1.9 dyoung #define DLT_IEEE802_11_RADIO_AVS 163 /* 802.11 plus AVS header */
121 1.9 dyoung #define DLT_JUNIPER_MONITOR 164 /* Juniper-private data link type */
122 1.11 drochner #define DLT_BACNET_MS_TP 165
123 1.11 drochner #define DLT_PPP_PPPD 166 /* Another PPP variant (Linux? */
124 1.11 drochner
125 1.11 drochner #define DLT_JUNIPER_PPPOE 167
126 1.11 drochner #define DLT_JUNIPER_PPPOE_ATM 168
127 1.11 drochner #define DLT_JUNIPER_PIC_PEER 174
128 1.11 drochner #define DLT_JUNIPER_ETHER 178
129 1.11 drochner #define DLT_JUNIPER_PPP 179
130 1.11 drochner #define DLT_JUNIPER_FRELAY 180
131 1.11 drochner #define DLT_JUNIPER_CHDLC 181
132 1.11 drochner
133 1.11 drochner #define DLT_GPRS_LLC 169 /* GPRS LLC */
134 1.11 drochner #define DLT_GPF_T 170 /* GPF-T (ITU-T G.7041/Y.1303) */
135 1.11 drochner #define DLT_GPF_F 171 /* GPF-F (ITU-T G.7041/Y.1303) */
136 1.11 drochner
137 1.11 drochner #define DLT_GCOM_T1E1 172
138 1.11 drochner #define DLT_GCOM_SERIAL 173
139 1.11 drochner
140 1.11 drochner /* "EndaceRecordFormat" */
141 1.11 drochner #define DLT_ERF_ETH 175 /* Ethernet */
142 1.11 drochner #define DLT_ERF_POS 176 /* Packet-over-SONET */
143 1.11 drochner
144 1.11 drochner #define DLT_LINUX_LAPD 177 /* Raw LAPD for vISDN */
145 1.1 thorpej
146 1.1 thorpej /*
147 1.11.108.1 mrg * Juniper-private data link type, as per request from
148 1.11.108.1 mrg * Hannes Gredler <hannes (at) juniper.net>.
149 1.11.108.1 mrg * The DLT_ are used for prepending meta-information
150 1.11.108.1 mrg * like interface index, interface name
151 1.11.108.1 mrg * before standard Ethernet, PPP, Frelay & C-HDLC Frames
152 1.11.108.1 mrg */
153 1.11.108.1 mrg #define DLT_JUNIPER_ETHER 178
154 1.11.108.1 mrg #define DLT_JUNIPER_PPP 179
155 1.11.108.1 mrg #define DLT_JUNIPER_FRELAY 180
156 1.11.108.1 mrg #define DLT_JUNIPER_CHDLC 181
157 1.11.108.1 mrg
158 1.11.108.1 mrg /*
159 1.11.108.1 mrg * Multi Link Frame Relay (FRF.16)
160 1.11.108.1 mrg */
161 1.11.108.1 mrg #define DLT_MFR 182
162 1.11.108.1 mrg
163 1.11.108.1 mrg /*
164 1.11.108.1 mrg * Juniper-private data link type, as per request from
165 1.11.108.1 mrg * Hannes Gredler <hannes (at) juniper.net>.
166 1.11.108.1 mrg * The DLT_ is used for internal communication with a
167 1.11.108.1 mrg * voice Adapter Card (PIC)
168 1.11.108.1 mrg */
169 1.11.108.1 mrg #define DLT_JUNIPER_VP 183
170 1.11.108.1 mrg
171 1.11.108.1 mrg /*
172 1.11.108.1 mrg * Arinc 429 frames.
173 1.11.108.1 mrg * DLT_ requested by Gianluca Varenni <gianluca.varenni (at) cacetech.com>.
174 1.11.108.1 mrg * Every frame contains a 32bit A429 label.
175 1.11.108.1 mrg * More documentation on Arinc 429 can be found at
176 1.11.108.1 mrg * http://www.condoreng.com/support/downloads/tutorials/ARINCTutorial.pdf
177 1.11.108.1 mrg */
178 1.11.108.1 mrg #define DLT_A429 184
179 1.11.108.1 mrg
180 1.11.108.1 mrg /*
181 1.11.108.1 mrg * Arinc 653 Interpartition Communication messages.
182 1.11.108.1 mrg * DLT_ requested by Gianluca Varenni <gianluca.varenni (at) cacetech.com>.
183 1.11.108.1 mrg * Please refer to the A653-1 standard for more information.
184 1.11.108.1 mrg */
185 1.11.108.1 mrg #define DLT_A653_ICM 185
186 1.11.108.1 mrg
187 1.11.108.1 mrg /*
188 1.11.108.1 mrg * USB packets, beginning with a USB setup header; requested by
189 1.11.108.1 mrg * Paolo Abeni <paolo.abeni (at) email.it>.
190 1.11.108.1 mrg */
191 1.11.108.1 mrg #define DLT_USB 186
192 1.11.108.1 mrg
193 1.11.108.1 mrg /*
194 1.11.108.1 mrg * Bluetooth HCI UART transport layer (part H:4); requested by
195 1.11.108.1 mrg * Paolo Abeni.
196 1.11.108.1 mrg */
197 1.11.108.1 mrg #define DLT_BLUETOOTH_HCI_H4 187
198 1.11.108.1 mrg
199 1.11.108.1 mrg /*
200 1.11.108.1 mrg * IEEE 802.16 MAC Common Part Sublayer; requested by Maria Cruz
201 1.11.108.1 mrg * <cruz_petagay (at) bah.com>.
202 1.11.108.1 mrg */
203 1.11.108.1 mrg #define DLT_IEEE802_16_MAC_CPS 188
204 1.11.108.1 mrg
205 1.11.108.1 mrg /*
206 1.11.108.1 mrg * USB packets, beginning with a Linux USB header; requested by
207 1.11.108.1 mrg * Paolo Abeni <paolo.abeni (at) email.it>.
208 1.11.108.1 mrg */
209 1.11.108.1 mrg #define DLT_USB_LINUX 189
210 1.11.108.1 mrg
211 1.11.108.1 mrg /*
212 1.11.108.1 mrg * Controller Area Network (CAN) v. 2.0B packets.
213 1.11.108.1 mrg * DLT_ requested by Gianluca Varenni <gianluca.varenni (at) cacetech.com>.
214 1.11.108.1 mrg * Used to dump CAN packets coming from a CAN Vector board.
215 1.11.108.1 mrg * More documentation on the CAN v2.0B frames can be found at
216 1.11.108.1 mrg * http://www.can-cia.org/downloads/?269
217 1.11.108.1 mrg */
218 1.11.108.1 mrg #define DLT_CAN20B 190
219 1.11.108.1 mrg
220 1.11.108.1 mrg /*
221 1.11.108.1 mrg * IEEE 802.15.4, with address fields padded, as is done by Linux
222 1.11.108.1 mrg * drivers; requested by Juergen Schimmer.
223 1.11.108.1 mrg */
224 1.11.108.1 mrg #define DLT_IEEE802_15_4_LINUX 191
225 1.11.108.1 mrg
226 1.11.108.1 mrg /*
227 1.11.108.1 mrg * Per Packet Information encapsulated packets.
228 1.11.108.1 mrg * DLT_ requested by Gianluca Varenni <gianluca.varenni (at) cacetech.com>.
229 1.11.108.1 mrg */
230 1.11.108.1 mrg #define DLT_PPI 192
231 1.11.108.1 mrg
232 1.11.108.1 mrg /*
233 1.11.108.1 mrg * Header for 802.16 MAC Common Part Sublayer plus a radiotap radio header;
234 1.11.108.1 mrg * requested by Charles Clancy.
235 1.11.108.1 mrg */
236 1.11.108.1 mrg #define DLT_IEEE802_16_MAC_CPS_RADIO 193
237 1.11.108.1 mrg
238 1.11.108.1 mrg /*
239 1.11.108.1 mrg * Juniper-private data link type, as per request from
240 1.11.108.1 mrg * Hannes Gredler <hannes (at) juniper.net>.
241 1.11.108.1 mrg * The DLT_ is used for internal communication with a
242 1.11.108.1 mrg * integrated service module (ISM).
243 1.11.108.1 mrg */
244 1.11.108.1 mrg #define DLT_JUNIPER_ISM 194
245 1.11.108.1 mrg
246 1.11.108.1 mrg /*
247 1.11.108.1 mrg * IEEE 802.15.4, exactly as it appears in the spec (no padding, no
248 1.11.108.1 mrg * nothing); requested by Mikko Saarnivala <mikko.saarnivala (at) sensinode.com>.
249 1.11.108.1 mrg */
250 1.11.108.1 mrg #define DLT_IEEE802_15_4 195
251 1.11.108.1 mrg
252 1.11.108.1 mrg /*
253 1.11.108.1 mrg * Various link-layer types, with a pseudo-header, for SITA
254 1.11.108.1 mrg * (http://www.sita.aero/); requested by Fulko Hew (fulko.hew (at) gmail.com).
255 1.11.108.1 mrg */
256 1.11.108.1 mrg #define DLT_SITA 196
257 1.11.108.1 mrg
258 1.11.108.1 mrg /*
259 1.11.108.1 mrg * Various link-layer types, with a pseudo-header, for Endace DAG cards;
260 1.11.108.1 mrg * encapsulates Endace ERF records. Requested by Stephen Donnelly
261 1.11.108.1 mrg * <stephen (at) endace.com>.
262 1.11.108.1 mrg */
263 1.11.108.1 mrg #define DLT_ERF 197
264 1.11.108.1 mrg
265 1.11.108.1 mrg /*
266 1.11.108.1 mrg * Special header prepended to Ethernet packets when capturing from a
267 1.11.108.1 mrg * u10 Networks board. Requested by Phil Mulholland
268 1.11.108.1 mrg * <phil (at) u10networks.com>.
269 1.11.108.1 mrg */
270 1.11.108.1 mrg #define DLT_RAIF1 198
271 1.11.108.1 mrg
272 1.11.108.1 mrg /*
273 1.11.108.1 mrg * IPMB packet for IPMI, beginning with the I2C slave address, followed
274 1.11.108.1 mrg * by the netFn and LUN, etc.. Requested by Chanthy Toeung
275 1.11.108.1 mrg * <chanthy.toeung (at) ca.kontron.com>.
276 1.11.108.1 mrg */
277 1.11.108.1 mrg #define DLT_IPMB 199
278 1.11.108.1 mrg
279 1.11.108.1 mrg /*
280 1.11.108.1 mrg * Juniper-private data link type, as per request from
281 1.11.108.1 mrg * Hannes Gredler <hannes (at) juniper.net>.
282 1.11.108.1 mrg * The DLT_ is used for capturing data on a secure tunnel interface.
283 1.11.108.1 mrg */
284 1.11.108.1 mrg #define DLT_JUNIPER_ST 200
285 1.11.108.1 mrg
286 1.11.108.1 mrg /*
287 1.11.108.1 mrg * Bluetooth HCI UART transport layer (part H:4), with pseudo-header
288 1.11.108.1 mrg * that includes direction information; requested by Paolo Abeni.
289 1.11.108.1 mrg */
290 1.11.108.1 mrg #define DLT_BLUETOOTH_HCI_H4_WITH_PHDR 201
291 1.11.108.1 mrg
292 1.11.108.1 mrg /*
293 1.11.108.1 mrg * AX.25 packet with a 1-byte KISS header; see
294 1.11.108.1 mrg *
295 1.11.108.1 mrg * http://www.ax25.net/kiss.htm
296 1.11.108.1 mrg *
297 1.11.108.1 mrg * as per Richard Stearn <richard (at) rns-stearn.demon.co.uk>.
298 1.11.108.1 mrg */
299 1.11.108.1 mrg #define DLT_AX25_KISS 202
300 1.11.108.1 mrg
301 1.11.108.1 mrg /*
302 1.11.108.1 mrg * LAPD packets from an ISDN channel, starting with the address field,
303 1.11.108.1 mrg * with no pseudo-header.
304 1.11.108.1 mrg * Requested by Varuna De Silva <varunax (at) gmail.com>.
305 1.11.108.1 mrg */
306 1.11.108.1 mrg #define DLT_LAPD 203
307 1.11.108.1 mrg
308 1.11.108.1 mrg /*
309 1.11.108.1 mrg * Variants of various link-layer headers, with a one-byte direction
310 1.11.108.1 mrg * pseudo-header prepended - zero means "received by this host",
311 1.11.108.1 mrg * non-zero (any non-zero value) means "sent by this host" - as per
312 1.11.108.1 mrg * Will Barker <w.barker (at) zen.co.uk>.
313 1.11.108.1 mrg */
314 1.11.108.1 mrg #define DLT_PPP_WITH_DIR 204 /* PPP - don't confuse with DLT_PPP_WITH_DIRECTION */
315 1.11.108.1 mrg #define DLT_C_HDLC_WITH_DIR 205 /* Cisco HDLC */
316 1.11.108.1 mrg #define DLT_FRELAY_WITH_DIR 206 /* Frame Relay */
317 1.11.108.1 mrg #define DLT_LAPB_WITH_DIR 207 /* LAPB */
318 1.11.108.1 mrg
319 1.11.108.1 mrg /*
320 1.11.108.1 mrg * 208 is reserved for an as-yet-unspecified proprietary link-layer
321 1.11.108.1 mrg * type, as requested by Will Barker.
322 1.11.108.1 mrg */
323 1.11.108.1 mrg
324 1.11.108.1 mrg /*
325 1.11.108.1 mrg * IPMB with a Linux-specific pseudo-header; as requested by Alexey Neyman
326 1.11.108.1 mrg * <avn (at) pigeonpoint.com>.
327 1.11.108.1 mrg */
328 1.11.108.1 mrg #define DLT_IPMB_LINUX 209
329 1.11.108.1 mrg
330 1.11.108.1 mrg /*
331 1.11.108.1 mrg * FlexRay automotive bus - http://www.flexray.com/ - as requested
332 1.11.108.1 mrg * by Hannes Kaelber <hannes.kaelber (at) x2e.de>.
333 1.11.108.1 mrg */
334 1.11.108.1 mrg #define DLT_FLEXRAY 210
335 1.11.108.1 mrg
336 1.11.108.1 mrg /*
337 1.11.108.1 mrg * Media Oriented Systems Transport (MOST) bus for multimedia
338 1.11.108.1 mrg * transport - http://www.mostcooperation.com/ - as requested
339 1.11.108.1 mrg * by Hannes Kaelber <hannes.kaelber (at) x2e.de>.
340 1.11.108.1 mrg */
341 1.11.108.1 mrg #define DLT_MOST 211
342 1.11.108.1 mrg
343 1.11.108.1 mrg /*
344 1.11.108.1 mrg * Local Interconnect Network (LIN) bus for vehicle networks -
345 1.11.108.1 mrg * http://www.lin-subbus.org/ - as requested by Hannes Kaelber
346 1.11.108.1 mrg * <hannes.kaelber (at) x2e.de>.
347 1.11.108.1 mrg */
348 1.11.108.1 mrg #define DLT_LIN 212
349 1.11.108.1 mrg
350 1.11.108.1 mrg /*
351 1.11.108.1 mrg * X2E-private data link type used for serial line capture,
352 1.11.108.1 mrg * as requested by Hannes Kaelber <hannes.kaelber (at) x2e.de>.
353 1.11.108.1 mrg */
354 1.11.108.1 mrg #define DLT_X2E_SERIAL 213
355 1.11.108.1 mrg
356 1.11.108.1 mrg /*
357 1.11.108.1 mrg * X2E-private data link type used for the Xoraya data logger
358 1.11.108.1 mrg * family, as requested by Hannes Kaelber <hannes.kaelber (at) x2e.de>.
359 1.11.108.1 mrg */
360 1.11.108.1 mrg #define DLT_X2E_XORAYA 214
361 1.11.108.1 mrg
362 1.11.108.1 mrg /*
363 1.11.108.1 mrg * IEEE 802.15.4, exactly as it appears in the spec (no padding, no
364 1.11.108.1 mrg * nothing), but with the PHY-level data for non-ASK PHYs (4 octets
365 1.11.108.1 mrg * of 0 as preamble, one octet of SFD, one octet of frame length+
366 1.11.108.1 mrg * reserved bit, and then the MAC-layer data, starting with the
367 1.11.108.1 mrg * frame control field).
368 1.11.108.1 mrg *
369 1.11.108.1 mrg * Requested by Max Filippov <jcmvbkbc (at) gmail.com>.
370 1.11.108.1 mrg */
371 1.11.108.1 mrg #define DLT_IEEE802_15_4_NONASK_PHY 215
372 1.11.108.1 mrg
373 1.11.108.1 mrg /*
374 1.11.108.1 mrg * David Gibson <david (at) gibson.dropbear.id.au> requested this for
375 1.11.108.1 mrg * captures from the Linux kernel /dev/input/eventN devices. This
376 1.11.108.1 mrg * is used to communicate keystrokes and mouse movements from the
377 1.11.108.1 mrg * Linux kernel to display systems, such as Xorg.
378 1.11.108.1 mrg */
379 1.11.108.1 mrg #define DLT_LINUX_EVDEV 216
380 1.11.108.1 mrg
381 1.11.108.1 mrg /*
382 1.11.108.1 mrg * GSM Um and Abis interfaces, preceded by a "gsmtap" header.
383 1.11.108.1 mrg *
384 1.11.108.1 mrg * Requested by Harald Welte <laforge (at) gnumonks.org>.
385 1.11.108.1 mrg */
386 1.11.108.1 mrg #define DLT_GSMTAP_UM 217
387 1.11.108.1 mrg #define DLT_GSMTAP_ABIS 218
388 1.11.108.1 mrg
389 1.11.108.1 mrg /*
390 1.11.108.1 mrg * MPLS, with an MPLS label as the link-layer header.
391 1.11.108.1 mrg * Requested by Michele Marchetto <michele (at) openbsd.org> on behalf
392 1.11.108.1 mrg * of OpenBSD.
393 1.11.108.1 mrg */
394 1.11.108.1 mrg #define DLT_MPLS 219
395 1.11.108.1 mrg
396 1.11.108.1 mrg /*
397 1.11.108.1 mrg * USB packets, beginning with a Linux USB header, with the USB header
398 1.11.108.1 mrg * padded to 64 bytes; required for memory-mapped access.
399 1.11.108.1 mrg */
400 1.11.108.1 mrg #define DLT_USB_LINUX_MMAPPED 220
401 1.11.108.1 mrg
402 1.11.108.1 mrg /*
403 1.11.108.1 mrg * DECT packets, with a pseudo-header; requested by
404 1.11.108.1 mrg * Matthias Wenzel <tcpdump (at) mazzoo.de>.
405 1.11.108.1 mrg */
406 1.11.108.1 mrg #define DLT_DECT 221
407 1.11.108.1 mrg
408 1.11.108.1 mrg /*
409 1.11.108.1 mrg * From: "Lidwa, Eric (GSFC-582.0)[SGT INC]" <eric.lidwa-1 (at) nasa.gov>
410 1.11.108.1 mrg * Date: Mon, 11 May 2009 11:18:30 -0500
411 1.11.108.1 mrg *
412 1.11.108.1 mrg * DLT_AOS. We need it for AOS Space Data Link Protocol.
413 1.11.108.1 mrg * I have already written dissectors for but need an OK from
414 1.11.108.1 mrg * legal before I can submit a patch.
415 1.11.108.1 mrg *
416 1.11.108.1 mrg */
417 1.11.108.1 mrg #define DLT_AOS 222
418 1.11.108.1 mrg
419 1.11.108.1 mrg /*
420 1.11.108.1 mrg * Wireless HART (Highway Addressable Remote Transducer)
421 1.11.108.1 mrg * From the HART Communication Foundation
422 1.11.108.1 mrg * IES/PAS 62591
423 1.11.108.1 mrg *
424 1.11.108.1 mrg * Requested by Sam Roberts <vieuxtech (at) gmail.com>.
425 1.11.108.1 mrg */
426 1.11.108.1 mrg #define DLT_WIHART 223
427 1.11.108.1 mrg
428 1.11.108.1 mrg /*
429 1.11.108.1 mrg * Fibre Channel FC-2 frames, beginning with a Frame_Header.
430 1.11.108.1 mrg * Requested by Kahou Lei <kahou82 (at) gmail.com>.
431 1.11.108.1 mrg */
432 1.11.108.1 mrg #define DLT_FC_2 224
433 1.11.108.1 mrg
434 1.11.108.1 mrg /*
435 1.11.108.1 mrg * Fibre Channel FC-2 frames, beginning with an encoding of the
436 1.11.108.1 mrg * SOF, and ending with an encoding of the EOF.
437 1.11.108.1 mrg *
438 1.11.108.1 mrg * The encodings represent the frame delimiters as 4-byte sequences
439 1.11.108.1 mrg * representing the corresponding ordered sets, with K28.5
440 1.11.108.1 mrg * represented as 0xBC, and the D symbols as the corresponding
441 1.11.108.1 mrg * byte values; for example, SOFi2, which is K28.5 - D21.5 - D1.2 - D21.2,
442 1.11.108.1 mrg * is represented as 0xBC 0xB5 0x55 0x55.
443 1.11.108.1 mrg *
444 1.11.108.1 mrg * Requested by Kahou Lei <kahou82 (at) gmail.com>.
445 1.11.108.1 mrg */
446 1.11.108.1 mrg #define DLT_FC_2_WITH_FRAME_DELIMS 225
447 1.11.108.1 mrg
448 1.11.108.1 mrg /*
449 1.11.108.1 mrg * Solaris ipnet pseudo-header; requested by Darren Reed <Darren.Reed (at) Sun.COM>.
450 1.11.108.1 mrg *
451 1.11.108.1 mrg * The pseudo-header starts with a one-byte version number; for version 2,
452 1.11.108.1 mrg * the pseudo-header is:
453 1.11.108.1 mrg *
454 1.11.108.1 mrg * struct dl_ipnetinfo {
455 1.11.108.1 mrg * u_int8_t dli_version;
456 1.11.108.1 mrg * u_int8_t dli_family;
457 1.11.108.1 mrg * u_int16_t dli_htype;
458 1.11.108.1 mrg * u_int32_t dli_pktlen;
459 1.11.108.1 mrg * u_int32_t dli_ifindex;
460 1.11.108.1 mrg * u_int32_t dli_grifindex;
461 1.11.108.1 mrg * u_int32_t dli_zsrc;
462 1.11.108.1 mrg * u_int32_t dli_zdst;
463 1.11.108.1 mrg * };
464 1.11.108.1 mrg *
465 1.11.108.1 mrg * dli_version is 2 for the current version of the pseudo-header.
466 1.11.108.1 mrg *
467 1.11.108.1 mrg * dli_family is a Solaris address family value, so it's 2 for IPv4
468 1.11.108.1 mrg * and 26 for IPv6.
469 1.11.108.1 mrg *
470 1.11.108.1 mrg * dli_htype is a "hook type" - 0 for incoming packets, 1 for outgoing
471 1.11.108.1 mrg * packets, and 2 for packets arriving from another zone on the same
472 1.11.108.1 mrg * machine.
473 1.11.108.1 mrg *
474 1.11.108.1 mrg * dli_pktlen is the length of the packet data following the pseudo-header
475 1.11.108.1 mrg * (so the captured length minus dli_pktlen is the length of the
476 1.11.108.1 mrg * pseudo-header, assuming the entire pseudo-header was captured).
477 1.11.108.1 mrg *
478 1.11.108.1 mrg * dli_ifindex is the interface index of the interface on which the
479 1.11.108.1 mrg * packet arrived.
480 1.11.108.1 mrg *
481 1.11.108.1 mrg * dli_grifindex is the group interface index number (for IPMP interfaces).
482 1.11.108.1 mrg *
483 1.11.108.1 mrg * dli_zsrc is the zone identifier for the source of the packet.
484 1.11.108.1 mrg *
485 1.11.108.1 mrg * dli_zdst is the zone identifier for the destination of the packet.
486 1.11.108.1 mrg *
487 1.11.108.1 mrg * A zone number of 0 is the global zone; a zone number of 0xffffffff
488 1.11.108.1 mrg * means that the packet arrived from another host on the network, not
489 1.11.108.1 mrg * from another zone on the same machine.
490 1.11.108.1 mrg *
491 1.11.108.1 mrg * An IPv4 or IPv6 datagram follows the pseudo-header; dli_family indicates
492 1.11.108.1 mrg * which of those it is.
493 1.11.108.1 mrg */
494 1.11.108.1 mrg #define DLT_IPNET 226
495 1.11.108.1 mrg
496 1.11.108.1 mrg /*
497 1.11.108.1 mrg * CAN (Controller Area Network) frames, with a pseudo-header as supplied
498 1.11.108.1 mrg * by Linux SocketCAN. See Documentation/networking/can.txt in the Linux
499 1.11.108.1 mrg * source.
500 1.11.108.1 mrg *
501 1.11.108.1 mrg * Requested by Felix Obenhuber <felix (at) obenhuber.de>.
502 1.11.108.1 mrg */
503 1.11.108.1 mrg #define DLT_CAN_SOCKETCAN 227
504 1.11.108.1 mrg
505 1.11.108.1 mrg /*
506 1.11.108.1 mrg * Raw IPv4/IPv6; different from DLT_RAW in that the DLT_ value specifies
507 1.11.108.1 mrg * whether it's v4 or v6. Requested by Darren Reed <Darren.Reed (at) Sun.COM>.
508 1.11.108.1 mrg */
509 1.11.108.1 mrg #define DLT_IPV4 228
510 1.11.108.1 mrg #define DLT_IPV6 229
511 1.11.108.1 mrg
512 1.11.108.1 mrg /*
513 1.1 thorpej * NetBSD-specific generic "raw" link type. The upper 16-bits indicate
514 1.1 thorpej * that this is the generic raw type, and the lower 16-bits are the
515 1.1 thorpej * address family we're dealing with.
516 1.1 thorpej */
517 1.1 thorpej #define DLT_RAWAF_MASK 0x02240000
518 1.1 thorpej #define DLT_RAWAF(af) (DLT_RAWAF_MASK | (af))
519 1.1 thorpej #define DLT_RAWAF_AF(x) ((x) & 0x0000ffff)
520 1.1 thorpej #define DLT_IS_RAWAF(x) (((x) & 0xffff0000) == DLT_RAWAF_MASK)
521 1.1 thorpej
522 1.10 elad #endif /* !_NET_DLT_H_ */
523