1 /*        $NetBSD: if_types.h,v 1.34 2022/03/20 20:37:59 andvar Exp $ */
2 
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  */
33 
34 #ifndef _NET_IF_TYPES_H_
35 #define _NET_IF_TYPES_H_
36 
37 /*
38  * Interface types for benefit of parsing media address headers.
39  * This list is derived from the SNMP list of ifTypes, originally
40  * documented in RFC1573, now maintained as:
41  *
42  * <URL:http://www.iana.org/assignments/smi-numbers>
43  */
44 
45 #define   IFT_OTHER 0x1                 /* none of the following */
46 #define   IFT_1822  0x2                 /* old-style arpanet imp */
47 #define   IFT_HDH1822         0x3                 /* HDH arpanet imp */
48 #define   IFT_X25DDN          0x4                 /* x25 to imp */
49 #define   IFT_X25             0x5                 /* PDN X25 interface (RFC877) */
50 #define   IFT_ETHER 0x6                 /* Ethernet CSMA/CD */
51 #define   IFT_ISO88023        0x7                 /* CSMA/CD */
52 #define   IFT_ISO88024        0x8                 /* Token Bus */
53 #define   IFT_ISO88025        0x9                 /* Token Ring */
54 #define   IFT_ISO88026        0xa                 /* MAN */
55 #define   IFT_STARLAN         0xb
56 #define   IFT_P10             0xc                 /* Proteon 10MBit ring */
57 #define   IFT_P80             0xd                 /* Proteon 80MBit ring */
58 #define   IFT_HY              0xe                 /* Hyperchannel */
59 #define   IFT_FDDI  0xf
60 #define   IFT_LAPB  0x10
61 #define   IFT_SDLC  0x11
62 #define   IFT_T1              0x12
63 #define   IFT_CEPT  0x13                /* E1 - european T1 */
64 #define   IFT_ISDNBASIC       0x14
65 #define   IFT_ISDNPRIMARY     0x15
66 #define   IFT_PTPSERIAL       0x16                /* Proprietary PTP serial */
67 #define   IFT_PPP             0x17                /* RFC 1331 */
68 #define   IFT_LOOP  0x18                /* loopback */
69 #define   IFT_EON             0x19                /* ISO over IP */
70 #define   IFT_XETHER          0x1a                /* obsolete 3MB experimental ethernet */
71 #define   IFT_NSIP  0x1b                /* XNS over IP */
72 #define   IFT_SLIP  0x1c                /* IP over generic TTY */
73 #define   IFT_ULTRA 0x1d                /* Ultra Technologies */
74 #define   IFT_DS3             0x1e                /* Generic T3 */
75 #define   IFT_SIP             0x1f                /* SMDS */
76 #define   IFT_FRELAY          0x20                /* Frame Relay DTE only */
77 #define   IFT_RS232 0x21
78 #define   IFT_PARA  0x22                /* parallel-port */
79 #define   IFT_ARCNET          0x23
80 #define   IFT_ARCNETPLUS      0x24
81 #define   IFT_ATM             0x25                /* ATM cells */
82 #define   IFT_MIOX25          0x26
83 #define   IFT_SONET 0x27                /* SONET or SDH */
84 #define   IFT_X25PLE          0x28
85 #define   IFT_ISO88022LLC     0x29
86 #define   IFT_LOCALTALK       0x2a
87 #define   IFT_SMDSDXI         0x2b
88 #define   IFT_FRELAYDCE       0x2c                /* Frame Relay DCE */
89 #define   IFT_V35             0x2d
90 #define   IFT_HSSI  0x2e
91 #define   IFT_HIPPI 0x2f
92 #define   IFT_MODEM 0x30                /* Generic Modem */
93 #define   IFT_AAL5  0x31                /* AAL5 over ATM */
94 #define   IFT_SONETPATH       0x32
95 #define   IFT_SONETVT         0x33
96 #define   IFT_SMDSICIP        0x34                /* SMDS InterCarrier Interface */
97 #define   IFT_PROPVIRTUAL     0x35                /* Proprietary Virtual/internal */
98 #define   IFT_PROPMUX         0x36                /* Proprietary Multiplexing */
99 #define IFT_IEEE80212                      0x37 /* 100BaseVG */
100 #define IFT_FIBRECHANNEL         0x38 /* Fibre Channel */
101 #define IFT_HIPPIINTERFACE       0x39 /* HIPPI interfaces    */
102 #define IFT_FRAMERELAYINTERCONNECT 0x3a /* Obsolete, use either 0x20 or 0x2c */
103 #define IFT_AFLANE8023                     0x3b /* ATM Emulated LAN for 802.3 */
104 #define IFT_AFLANE8025                     0x3c /* ATM Emulated LAN for 802.5 */
105 #define IFT_CCTEMUL              0x3d /* ATM Emulated circuit                     */
106 #define IFT_FASTETHER                      0x3e /* Fast Ethernet (100BaseT) */
107 #define IFT_ISDN                 0x3f /* ISDN and X.25          */
108 #define IFT_V11                            0x40 /* CCITT V.11/X.21              */
109 #define IFT_V36                            0x41 /* CCITT V.36                             */
110 #define IFT_G703AT64K                      0x42 /* CCITT G703 at 64Kbps */
111 #define IFT_G703AT2MB                      0x43 /* Obsolete see DS1-MIB */
112 #define IFT_QLLC                 0x44 /* SNA QLLC                     */
113 #define IFT_FASTETHERFX                    0x45 /* Fast Ethernet (100BaseFX)    */
114 #define IFT_CHANNEL              0x46 /* channel                      */
115 #define IFT_IEEE80211                      0x47 /* radio spread spectrum        */
116 #define IFT_IBM370PARCHAN        0x48 /* IBM System 360/370 OEMI Channel */
117 #define IFT_ESCON                0x49 /* IBM Enterprise Systems Connection */
118 #define IFT_DLSW                 0x4a /* Data Link Switching */
119 #define IFT_ISDNS                0x4b /* ISDN S/T interface */
120 #define IFT_ISDNU                0x4c /* ISDN U interface */
121 #define IFT_LAPD                 0x4d /* Link Access Protocol D */
122 #define IFT_IPSWITCH                       0x4e /* IP Switching Objects */
123 #define IFT_RSRB                 0x4f /* Remote Source Route Bridging */
124 #define IFT_ATMLOGICAL                     0x50 /* ATM Logical Port */
125 #define IFT_DS0                            0x51 /* Digital Signal Level 0 */
126 #define IFT_DS0BUNDLE                      0x52 /* group of ds0s on the same ds1 */
127 #define IFT_BSC                            0x53 /* Bisynchronous Protocol */
128 #define IFT_ASYNC                0x54 /* Asynchronous Protocol */
129 #define IFT_CNR                            0x55 /* Combat Net Radio */
130 #define IFT_ISO88025DTR                    0x56 /* ISO 802.5r DTR */
131 #define IFT_EPLRS                0x57 /* Ext Pos Loc Report Sys */
132 #define IFT_ARAP                 0x58 /* Appletalk Remote Access Protocol */
133 #define IFT_PROPCNLS                       0x59 /* Proprietary Connectionless Protocol*/
134 #define IFT_HOSTPAD              0x5a /* CCITT-ITU X.29 PAD Protocol */
135 #define IFT_TERMPAD              0x5b /* CCITT-ITU X.3 PAD Facility */
136 #define IFT_FRAMERELAYMPI        0x5c /* Multiproto Interconnect over FR */
137 #define IFT_X213                 0x5d /* CCITT-ITU X213 */
138 #define IFT_ADSL                 0x5e /* Asymmetric Digital Subscriber Loop */
139 #define IFT_RADSL                0x5f /* Rate-Adapt. Digital Subscriber Loop*/
140 #define IFT_SDSL                 0x60 /* Symmetric Digital Subscriber Loop */
141 #define IFT_VDSL                 0x61 /* Very H-Speed Digital Subscrib. Loop*/
142 #define IFT_ISO88025CRFPINT      0x62 /* ISO 802.5 CRFP */
143 #define IFT_MYRINET              0x63 /* Myricom Myrinet */
144 #define IFT_VOICEEM              0x64 /* voice recEive and transMit */
145 #define IFT_VOICEFXO                       0x65 /* voice Foreign Exchange Office */
146 #define IFT_VOICEFXS                       0x66 /* voice Foreign Exchange Station */
147 #define IFT_VOICEENCAP                     0x67 /* voice encapsulation */
148 #define IFT_VOICEOVERIP                    0x68 /* voice over IP encapsulation */
149 #define IFT_ATMDXI               0x69 /* ATM DXI */
150 #define IFT_ATMFUNI              0x6a /* ATM FUNI */
151 #define IFT_ATMIMA               0x6b /* ATM IMA                  */
152 #define IFT_PPPMULTILINKBUNDLE             0x6c /* PPP Multilink Bundle */
153 #define IFT_IPOVERCDLC                     0x6d /* IBM ipOverCdlc */
154 #define IFT_IPOVERCLAW                     0x6e /* IBM Common Link Access to Workstn */
155 #define IFT_STACKTOSTACK         0x6f /* IBM stackToStack */
156 #define IFT_VIRTUALIPADDRESS     0x70 /* IBM VIPA */
157 #define IFT_MPC                            0x71 /* IBM multi-protocol channel support */
158 #define IFT_IPOVERATM                      0x72 /* IBM ipOverAtm */
159 #define IFT_ISO88025FIBER        0x73 /* ISO 802.5j Fiber Token Ring */
160 #define IFT_TDLC                 0x74 /* IBM twinaxial data link control */
161 #define IFT_GIGABITETHERNET      0x75 /* Gigabit Ethernet */
162 #define IFT_HDLC                 0x76 /* HDLC */
163 #define IFT_LAPF                 0x77 /* LAP F */
164 #define IFT_V37                            0x78 /* V.37 */
165 #define IFT_X25MLP               0x79 /* Multi-Link Protocol */
166 #define IFT_X25HUNTGROUP         0x7a /* X25 Hunt Group */
167 #define IFT_TRANSPHDLC                     0x7b /* Transp HDLC */
168 #define IFT_INTERLEAVE                     0x7c /* Interleave channel */
169 #define IFT_FAST                 0x7d /* Fast channel */
170 #define IFT_IP                             0x7e /* IP (for APPN HPR in IP networks) */
171 #define IFT_DOCSCABLEMACLAYER    0x7f /* CATV Mac Layer */
172 #define IFT_DOCSCABLEDOWNSTREAM            0x80 /* CATV Downstream interface */
173 #define IFT_DOCSCABLEUPSTREAM    0x81 /* CATV Upstream interface */
174 #define IFT_A12MPPSWITCH         0x82   /* Avalon Parallel Processor */
175 #define IFT_TUNNEL               0x83   /* Encapsulation interface */
176 #define IFT_COFFEE               0x84   /* coffee pot */
177 #define IFT_CES                            0x85   /* Circuit Emulation Service */
178 #define IFT_ATMSUBINTERFACE      0x86   /* (x)  ATM Sub Interface */
179 #define IFT_L2VLAN               0x87   /* Layer 2 Virtual LAN using 802.1Q */
180 #define IFT_L3IPVLAN                       0x88   /* Layer 3 Virtual LAN - IP Protocol */
181 #define IFT_L3IPXVLAN                      0x89   /* Layer 3 Virtual LAN - IPX Prot. */
182 #define IFT_DIGITALPOWERLINE     0x8a   /* IP over Power Lines */
183 #define IFT_MEDIAMAILOVERIP      0x8b   /* (xxx)  Multimedia Mail over IP */
184 #define IFT_DTM                            0x8c   /* Dynamic synchronous Transfer Mode */
185 #define IFT_DCN                            0x8d   /* Data Communications Network */
186 #define IFT_IPFORWARD                      0x8e   /* IP Forwarding Interface */
187 #define IFT_MSDSL                0x8f   /* Multi-rate Symmetric DSL */
188 #define IFT_IEEE1394                       0x90   /* IEEE1394 High Performance SerialBus*/
189 #define IFT_IFGSN                0x91   /* HIPPI-6400 */
190 #define IFT_DVBRCCMACLAYER       0x92   /* DVB-RCC MAC Layer */
191 #define IFT_DVBRCCDOWNSTREAM     0x93   /* DVB-RCC Downstream Channel */
192 #define IFT_DVBRCCUPSTREAM       0x94   /* DVB-RCC Upstream Channel */
193 #define IFT_ATMVIRTUAL                     0x95   /* ATM Virtual Interface */
194 #define IFT_MPLSTUNNEL                     0x96   /* MPLS Tunnel Virtual Interface */
195 #define IFT_SRP                            0x97   /* Spatial Reuse Protocol */
196 #define IFT_VOICEOVERATM         0x98   /* Voice over ATM */
197 #define IFT_VOICEOVERFRAMERELAY            0x99   /* Voice Over Frame Relay */
198 #define IFT_IDSL                 0x9a   /* Digital Subscriber Loop over ISDN */
199 #define IFT_COMPOSITELINK        0x9b   /* Avici Composite Link Interface */
200 #define IFT_SS7SIGLINK                     0x9c   /* SS7 Signaling Link */
201 #define IFT_PROPWIRELESSP2P      0x9d   /* Prop. P2P wireless interface */
202 #define IFT_FRFORWARD                      0x9e   /* Frame forward Interface */
203 #define IFT_RFC1483              0x9f   /* Multiprotocol over ATM AAL5 */
204 #define IFT_USB                            0xa0   /* USB Interface */
205 #define IFT_IEEE8023ADLAG        0xa1   /* IEEE 802.3ad Link Aggregate*/
206 #define IFT_BGPPOLICYACCOUNTING            0xa2   /* BGP Policy Accounting */
207 #define IFT_FRF16MFRBUNDLE       0xa3   /* FRF.16 Multilink Frame Relay*/
208 #define IFT_H323GATEKEEPER       0xa4   /* H323 Gatekeeper */
209 #define IFT_H323PROXY                      0xa5   /* H323 Voice and Video Proxy */
210 #define IFT_MPLS                 0xa6   /* MPLS */
211 #define IFT_MFSIGLINK                      0xa7   /* Multi-frequency signaling link */
212 #define IFT_HDSL2                0xa8   /* High Bit-Rate DSL, 2nd gen. */
213 #define IFT_SHDSL                0xa9   /* Multirate HDSL2 */
214 #define IFT_DS1FDL               0xaa   /* Facility Data Link (4Kbps) on a DS1*/
215 #define IFT_POS                            0xab   /* Packet over SONET/SDH Interface */
216 #define IFT_DVBASILN                       0xac   /* DVB-ASI Input */
217 #define IFT_DVBASIOUT                      0xad   /* DVB-ASI Output */
218 #define IFT_PLC                            0xae   /* Power Line Communications */
219 #define IFT_NFAS                 0xaf   /* Non-Facility Associated Signaling */
220 #define IFT_TR008                0xb0   /* TROO8 */
221 #define IFT_GR303RDT                       0xb1   /* Remote Digital Terminal */
222 #define IFT_GR303IDT                       0xb2   /* Integrated Digital Terminal */
223 #define IFT_ISUP                 0xb3   /* ISUP */
224 #define IFT_PROPDOCSWIRELESSMACLAYER       0xb4   /* prop/Wireless MAC Layer */
225 #define IFT_PROPDOCSWIRELESSDOWNSTREAM     0xb5   /* prop/Wireless Downstream */
226 #define IFT_PROPDOCSWIRELESSUPSTREAM       0xb6   /* prop/Wireless Upstream */
227 #define IFT_HIPERLAN2                      0xb7   /* HIPERLAN Type 2 Radio Interface */
228 #define IFT_PROPBWAP2MP                    0xb8   /* PropBroadbandWirelessAccess P2MP*/
229 #define IFT_SONETOVERHEADCHANNEL   0xb9 /* SONET Overhead Channel */
230 #define IFT_DIGITALWRAPPEROVERHEADCHANNEL  0xba   /* Digital Wrapper Overhead */
231 #define IFT_AAL2                 0xbb   /* ATM adaptation layer 2 */
232 #define IFT_RADIOMAC                       0xbc   /* MAC layer over radio links */
233 #define IFT_ATMRADIO                       0xbd   /* ATM over radio links */
234 #define IFT_IMT                            0xbe /* Inter-Machine Trunks */
235 #define IFT_MVL                            0xbf /* Multiple Virtual Lines DSL */
236 #define IFT_REACHDSL                       0xc0 /* Long Reach DSL */
237 #define IFT_FRDLCIENDPT                    0xc1 /* Frame Relay DLCI End Point */
238 #define IFT_ATMVCIENDPT                    0xc2 /* ATM VCI End Point */
239 #define IFT_OPTICALCHANNEL       0xc3 /* Optical Channel */
240 #define IFT_OPTICALTRANSPORT     0xc4 /* Optical Transport */
241 #define IFT_PROPATM              0xc5 /* Proprietary ATM */
242 #define IFT_VOICEOVERCABLE       0xc6 /* Voice Over Cable Interface */
243 #define IFT_INFINIBAND                     0xc7 /* Infiniband */
244 #define IFT_TELINK               0xc8 /* TE Link */
245 #define IFT_Q2931                0xc9 /* Q.2931 */
246 #define IFT_VIRTUALTG                      0xca /* Virtual Trunk Group */
247 #define IFT_SIPTG                0xcb /* SIP Trunk Group */
248 #define IFT_SIPSIG               0xcc /* SIP Signaling */
249 #define IFT_DOCSCABLEUPSTREAMCHANNEL 0xcd /* CATV Upstream Channel */
250 #define IFT_ECONET               0xce /* Acorn Econet */
251 #define IFT_PON155               0xcf /* FSAN 155Mb Symmetrical PON interface */
252 #define IFT_PON622               0xd0 /* FSAN 622Mb Symmetrical PON interface */
253 #define IFT_BRIDGE               0xd1 /* Transparent bridge interface */
254 #define IFT_LINEGROUP                      0xd2 /* Interface common to multiple lines */
255 #define IFT_VOICEEMFGD                     0xd3 /* voice E&M Feature Group D */
256 #define IFT_VOICEFGDEANA         0xd4 /* voice FGD Exchange Access North American */
257 #define IFT_VOICEDID                       0xd5 /* voice Direct Inward Dialing */
258 #define IFT_STF                            0xd7   /* 6to4 interface */
259 
260 /* not based on IANA assignments - how should we treat these? */
261 #define IFT_GIF               0xf0
262 #define IFT_PVC               0xf1
263 #define IFT_FAITH   0xf2
264 #define IFT_PFLOG   0xf5                /* Packet filter logging */
265 #define IFT_PFSYNC  0xf6                /* Packet filter state syncing */
266 #define IFT_L2TP    0xf7                /* L2TPv3 I/F */
267 #define IFT_CARP    0xf8                /* Common Address Redundancy Protocol */
268 #define IFT_IPSEC   0xf9                /* IPsec I/F */
269 #define IFT_MBIM    0xfa                /* Mobile Broadband Interface Model */
270 
271 #endif /* !_NET_IF_TYPES_H_ */
272