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