tcp: Don't assume power of 2 netisrs.
[dragonfly.git] / sys / net / if_types.h
blobebaa01bdd56198efe863354bd0270c9076f6cc76
1 /*
2 * Copyright (c) 1989, 1993, 1994
3 * The Regents of the University of California. All rights reserved.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. Neither the name of the University nor the names of its contributors
14 * may be used to endorse or promote products derived from this software
15 * without specific prior written permission.
17 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
18 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
19 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
20 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
21 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
22 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
23 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
24 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
25 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
26 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
27 * SUCH DAMAGE.
29 * @(#)if_types.h 8.3 (Berkeley) 4/28/95
30 * $FreeBSD: src/sys/net/if_types.h,v 1.8.2.4 2002/12/23 23:02:21 kbyanc Exp $
31 * $DragonFly: src/sys/net/if_types.h,v 1.6 2007/08/16 20:03:57 dillon Exp $
32 * $NetBSD: if_types.h,v 1.16 2000/04/19 06:30:53 itojun Exp $
35 #ifndef _NET_IF_TYPES_H_
36 #define _NET_IF_TYPES_H_
39 * Interface types for benefit of parsing media address headers.
40 * This list is derived from the SNMP list of ifTypes, originally
41 * documented in RFC1573, now maintained as:
43 * ftp.isi.edu/in-notes/iana/assignments/smi-numbers
46 #define IFT_OTHER 0x1 /* none of the following */
47 #define IFT_1822 0x2 /* old-style arpanet imp */
48 #define IFT_HDH1822 0x3 /* HDH arpanet imp */
49 #define IFT_X25DDN 0x4 /* x25 to imp */
50 #define IFT_X25 0x5 /* PDN X25 interface (RFC877) */
51 #define IFT_ETHER 0x6 /* Ethernet CSMA/CD */
52 #define IFT_ISO88023 0x7 /* CMSA/CD */
53 #define IFT_ISO88024 0x8 /* Token Bus */
54 #define IFT_ISO88025 0x9 /* Token Ring */
55 #define IFT_ISO88026 0xa /* MAN */
56 #define IFT_STARLAN 0xb
57 #define IFT_P10 0xc /* Proteon 10MBit ring */
58 #define IFT_P80 0xd /* Proteon 80MBit ring */
59 #define IFT_HY 0xe /* Hyperchannel */
60 #define IFT_FDDI 0xf
61 #define IFT_LAPB 0x10
62 #define IFT_SDLC 0x11
63 #define IFT_T1 0x12
64 #define IFT_CEPT 0x13 /* E1 - european T1 */
65 #define IFT_ISDNBASIC 0x14
66 #define IFT_ISDNPRIMARY 0x15
67 #define IFT_PTPSERIAL 0x16 /* Proprietary PTP serial */
68 #define IFT_PPP 0x17 /* RFC 1331 */
69 #define IFT_LOOP 0x18 /* loopback */
70 #define IFT_EON 0x19 /* ISO over IP */
71 #define IFT_XETHER 0x1a /* obsolete 3MB experimental ethernet */
72 #define IFT_NSIP 0x1b /* XNS over IP */
73 #define IFT_SLIP 0x1c /* IP over generic TTY */
74 #define IFT_ULTRA 0x1d /* Ultra Technologies */
75 #define IFT_DS3 0x1e /* Generic T3 */
76 #define IFT_SIP 0x1f /* SMDS */
77 #define IFT_FRELAY 0x20 /* Frame Relay DTE only */
78 #define IFT_RS232 0x21
79 #define IFT_PARA 0x22 /* parallel-port */
80 #define IFT_ARCNET 0x23
81 #define IFT_ARCNETPLUS 0x24
82 #define IFT_ATM 0x25 /* ATM cells */
83 #define IFT_MIOX25 0x26
84 #define IFT_SONET 0x27 /* SONET or SDH */
85 #define IFT_X25PLE 0x28
86 #define IFT_ISO88022LLC 0x29
87 #define IFT_LOCALTALK 0x2a
88 #define IFT_SMDSDXI 0x2b
89 #define IFT_FRELAYDCE 0x2c /* Frame Relay DCE */
90 #define IFT_V35 0x2d
91 #define IFT_HSSI 0x2e
92 #define IFT_HIPPI 0x2f
93 #define IFT_MODEM 0x30 /* Generic Modem */
94 #define IFT_AAL5 0x31 /* AAL5 over ATM */
95 #define IFT_SONETPATH 0x32
96 #define IFT_SONETVT 0x33
97 #define IFT_SMDSICIP 0x34 /* SMDS InterCarrier Interface */
98 #define IFT_PROPVIRTUAL 0x35 /* Proprietary Virtual/internal */
99 #define IFT_PROPMUX 0x36 /* Proprietary Multiplexing */
100 #define IFT_IEEE80212 0x37 /* 100BaseVG */
101 #define IFT_FIBRECHANNEL 0x38 /* Fibre Channel */
102 #define IFT_HIPPIINTERFACE 0x39 /* HIPPI interfaces */
103 #define IFT_FRAMERELAYINTERCONNECT 0x3a /* Obsolete, use either 0x20 or 0x2c */
104 #define IFT_AFLANE8023 0x3b /* ATM Emulated LAN for 802.3 */
105 #define IFT_AFLANE8025 0x3c /* ATM Emulated LAN for 802.5 */
106 #define IFT_CCTEMUL 0x3d /* ATM Emulated circuit */
107 #define IFT_FASTETHER 0x3e /* Fast Ethernet (100BaseT) */
108 #define IFT_ISDN 0x3f /* ISDN and X.25 */
109 #define IFT_V11 0x40 /* CCITT V.11/X.21 */
110 #define IFT_V36 0x41 /* CCITT V.36 */
111 #define IFT_G703AT64K 0x42 /* CCITT G703 at 64Kbps */
112 #define IFT_G703AT2MB 0x43 /* Obsolete see DS1-MIB */
113 #define IFT_QLLC 0x44 /* SNA QLLC */
114 #define IFT_FASTETHERFX 0x45 /* Fast Ethernet (100BaseFX) */
115 #define IFT_CHANNEL 0x46 /* channel */
116 #define IFT_IEEE80211 0x47 /* radio spread spectrum */
117 #define IFT_IBM370PARCHAN 0x48 /* IBM System 360/370 OEMI Channel */
118 #define IFT_ESCON 0x49 /* IBM Enterprise Systems Connection */
119 #define IFT_DLSW 0x4a /* Data Link Switching */
120 #define IFT_ISDNS 0x4b /* ISDN S/T interface */
121 #define IFT_ISDNU 0x4c /* ISDN U interface */
122 #define IFT_LAPD 0x4d /* Link Access Protocol D */
123 #define IFT_IPSWITCH 0x4e /* IP Switching Objects */
124 #define IFT_RSRB 0x4f /* Remote Source Route Bridging */
125 #define IFT_ATMLOGICAL 0x50 /* ATM Logical Port */
126 #define IFT_DS0 0x51 /* Digital Signal Level 0 */
127 #define IFT_DS0BUNDLE 0x52 /* group of ds0s on the same ds1 */
128 #define IFT_BSC 0x53 /* Bisynchronous Protocol */
129 #define IFT_ASYNC 0x54 /* Asynchronous Protocol */
130 #define IFT_CNR 0x55 /* Combat Net Radio */
131 #define IFT_ISO88025DTR 0x56 /* ISO 802.5r DTR */
132 #define IFT_EPLRS 0x57 /* Ext Pos Loc Report Sys */
133 #define IFT_ARAP 0x58 /* Appletalk Remote Access Protocol */
134 #define IFT_PROPCNLS 0x59 /* Proprietary Connectionless Protocol*/
135 #define IFT_HOSTPAD 0x5a /* CCITT-ITU X.29 PAD Protocol */
136 #define IFT_TERMPAD 0x5b /* CCITT-ITU X.3 PAD Facility */
137 #define IFT_FRAMERELAYMPI 0x5c /* Multiproto Interconnect over FR */
138 #define IFT_X213 0x5d /* CCITT-ITU X213 */
139 #define IFT_ADSL 0x5e /* Asymmetric Digital Subscriber Loop */
140 #define IFT_RADSL 0x5f /* Rate-Adapt. Digital Subscriber Loop*/
141 #define IFT_SDSL 0x60 /* Symmetric Digital Subscriber Loop */
142 #define IFT_VDSL 0x61 /* Very H-Speed Digital Subscrib. Loop*/
143 #define IFT_ISO88025CRFPINT 0x62 /* ISO 802.5 CRFP */
144 #define IFT_MYRINET 0x63 /* Myricom Myrinet */
145 #define IFT_VOICEEM 0x64 /* voice recEive and transMit */
146 #define IFT_VOICEFXO 0x65 /* voice Foreign Exchange Office */
147 #define IFT_VOICEFXS 0x66 /* voice Foreign Exchange Station */
148 #define IFT_VOICEENCAP 0x67 /* voice encapsulation */
149 #define IFT_VOICEOVERIP 0x68 /* voice over IP encapsulation */
150 #define IFT_ATMDXI 0x69 /* ATM DXI */
151 #define IFT_ATMFUNI 0x6a /* ATM FUNI */
152 #define IFT_ATMIMA 0x6b /* ATM IMA */
153 #define IFT_PPPMULTILINKBUNDLE 0x6c /* PPP Multilink Bundle */
154 #define IFT_IPOVERCDLC 0x6d /* IBM ipOverCdlc */
155 #define IFT_IPOVERCLAW 0x6e /* IBM Common Link Access to Workstn */
156 #define IFT_STACKTOSTACK 0x6f /* IBM stackToStack */
157 #define IFT_VIRTUALIPADDRESS 0x70 /* IBM VIPA */
158 #define IFT_MPC 0x71 /* IBM multi-protocol channel support */
159 #define IFT_IPOVERATM 0x72 /* IBM ipOverAtm */
160 #define IFT_ISO88025FIBER 0x73 /* ISO 802.5j Fiber Token Ring */
161 #define IFT_TDLC 0x74 /* IBM twinaxial data link control */
162 #define IFT_GIGABITETHERNET 0x75 /* Gigabit Ethernet */
163 #define IFT_HDLC 0x76 /* HDLC */
164 #define IFT_LAPF 0x77 /* LAP F */
165 #define IFT_V37 0x78 /* V.37 */
166 #define IFT_X25MLP 0x79 /* Multi-Link Protocol */
167 #define IFT_X25HUNTGROUP 0x7a /* X25 Hunt Group */
168 #define IFT_TRANSPHDLC 0x7b /* Transp HDLC */
169 #define IFT_INTERLEAVE 0x7c /* Interleave channel */
170 #define IFT_FAST 0x7d /* Fast channel */
171 #define IFT_IP 0x7e /* IP (for APPN HPR in IP networks) */
172 #define IFT_DOCSCABLEMACLAYER 0x7f /* CATV Mac Layer */
173 #define IFT_DOCSCABLEDOWNSTREAM 0x80 /* CATV Downstream interface */
174 #define IFT_DOCSCABLEUPSTREAM 0x81 /* CATV Upstream interface */
175 #define IFT_A12MPPSWITCH 0x82 /* Avalon Parallel Processor */
176 #define IFT_TUNNEL 0x83 /* Encapsulation interface */
177 #define IFT_COFFEE 0x84 /* coffee pot */
178 #define IFT_CES 0x85 /* Circiut Emulation Service */
179 #define IFT_ATMSUBINTERFACE 0x86 /* (x) ATM Sub Interface */
180 #define IFT_L2VLAN 0x87 /* Layer 2 Virtual LAN using 802.1Q */
181 #define IFT_L3IPVLAN 0x88 /* Layer 3 Virtual LAN - IP Protocol */
182 #define IFT_L3IPXVLAN 0x89 /* Layer 3 Virtual LAN - IPX Prot. */
183 #define IFT_DIGITALPOWERLINE 0x8a /* IP over Power Lines */
184 #define IFT_MEDIAMAILOVERIP 0x8b /* (xxx) Multimedia Mail over IP */
185 #define IFT_DTM 0x8c /* Dynamic synchronous Transfer Mode */
186 #define IFT_DCN 0x8d /* Data Communications Network */
187 #define IFT_IPFORWARD 0x8e /* IP Forwarding Interface */
188 #define IFT_MSDSL 0x8f /* Multi-rate Symmetric DSL */
189 #define IFT_IEEE1394 0x90 /* IEEE1394 High Performance SerialBus*/
190 #define IFT_IFGSN 0x91 /* HIPPI-6400 */
191 #define IFT_DVBRCCMACLAYER 0x92 /* DVB-RCC MAC Layer */
192 #define IFT_DVBRCCDOWNSTREAM 0x93 /* DVB-RCC Downstream Channel */
193 #define IFT_DVBRCCUPSTREAM 0x94 /* DVB-RCC Upstream Channel */
194 #define IFT_ATMVIRTUAL 0x95 /* ATM Virtual Interface */
195 #define IFT_MPLSTUNNEL 0x96 /* MPLS Tunnel Virtual Interface */
196 #define IFT_SRP 0x97 /* Spatial Reuse Protocol */
197 #define IFT_VOICEOVERATM 0x98 /* Voice over ATM */
198 #define IFT_VOICEOVERFRAMERELAY 0x99 /* Voice Over Frame Relay */
199 #define IFT_IDSL 0x9a /* Digital Subscriber Loop over ISDN */
200 #define IFT_COMPOSITELINK 0x9b /* Avici Composite Link Interface */
201 #define IFT_SS7SIGLINK 0x9c /* SS7 Signaling Link */
202 #define IFT_PROPWIRELESSP2P 0x9d /* Prop. P2P wireless interface */
203 #define IFT_FRFORWARD 0x9e /* Frame forward Interface */
204 #define IFT_RFC1483 0x9f /* Multiprotocol over ATM AAL5 */
205 #define IFT_USB 0xa0 /* USB Interface */
206 #define IFT_IEEE8023ADLAG 0xa1 /* IEEE 802.3ad Link Aggregate*/
207 #define IFT_BGPPOLICYACCOUNTING 0xa2 /* BGP Policy Accounting */
208 #define IFT_FRF16MFRBUNDLE 0xa3 /* FRF.16 Multilik Frame Relay*/
209 #define IFT_H323GATEKEEPER 0xa4 /* H323 Gatekeeper */
210 #define IFT_H323PROXY 0xa5 /* H323 Voice and Video Proxy */
211 #define IFT_MPLS 0xa6 /* MPLS */
212 #define IFT_MFSIGLINK 0xa7 /* Multi-frequency signaling link */
213 #define IFT_HDSL2 0xa8 /* High Bit-Rate DSL, 2nd gen. */
214 #define IFT_SHDSL 0xa9 /* Multirate HDSL2 */
215 #define IFT_DS1FDL 0xaa /* Facility Data Link (4Kbps) on a DS1*/
216 #define IFT_POS 0xab /* Packet over SONET/SDH Interface */
217 #define IFT_DVBASILN 0xac /* DVB-ASI Input */
218 #define IFT_DVBASIOUT 0xad /* DVB-ASI Output */
219 #define IFT_PLC 0xae /* Power Line Communications */
220 #define IFT_NFAS 0xaf /* Non-Facility Associated Signaling */
221 #define IFT_TR008 0xb0 /* TROO8 */
222 #define IFT_GR303RDT 0xb1 /* Remote Digital Terminal */
223 #define IFT_GR303IDT 0xb2 /* Integrated Digital Terminal */
224 #define IFT_ISUP 0xb3 /* ISUP */
225 #define IFT_PROPDOCSWIRELESSMACLAYER 0xb4 /* prop/Wireless MAC Layer */
226 #define IFT_PROPDOCSWIRELESSDOWNSTREAM 0xb5 /* prop/Wireless Downstream */
227 #define IFT_PROPDOCSWIRELESSUPSTREAM 0xb6 /* prop/Wireless Upstream */
228 #define IFT_HIPERLAN2 0xb7 /* HIPERLAN Type 2 Radio Interface */
229 #define IFT_PROPBWAP2MP 0xb8 /* PropBroadbandWirelessAccess P2MP*/
230 #define IFT_SONETOVERHEADCHANNEL 0xb9 /* SONET Overhead Channel */
231 #define IFT_DIGITALWRAPPEROVERHEADCHANNEL 0xba /* Digital Wrapper Overhead */
232 #define IFT_AAL2 0xbb /* ATM adaptation layer 2 */
233 #define IFT_RADIOMAC 0xbc /* MAC layer over radio links */
234 #define IFT_ATMRADIO 0xbd /* ATM over radio links */
235 #define IFT_IMT 0xbe /* Inter-Machine Trunks */
236 #define IFT_MVL 0xbf /* Multiple Virtual Lines DSL */
237 #define IFT_REACHDSL 0xc0 /* Long Reach DSL */
238 #define IFT_FRDLCIENDPT 0xc1 /* Frame Relay DLCI End Point */
239 #define IFT_ATMVCIENDPT 0xc2 /* ATM VCI End Point */
240 #define IFT_OPTICALCHANNEL 0xc3 /* Optical Channel */
241 #define IFT_OPTICALTRANSPORT 0xc4 /* Optical Transport */
242 #define IFT_BRIDGE 0xd1 /* Transparent bridge interface */
244 /* not based on IANA assignments */
245 #define IFT_GIF 0xf0
246 #define IFT_PVC 0xf1
247 #define IFT_FAITH 0xf2
248 #define IFT_STF 0xf3
249 #define IFT_ENC 0xf4
250 #define IFT_PFLOG 0xf5 /* Packet filter logging */
251 #define IFT_PFSYNC 0xf6 /* Packet filter state syncing */
252 #define IFT_CARP 0xf8 /* Common Address Redundancy Protocol */
253 #endif /* !_NET_IF_TYPES_H_ */