xref: /dragonfly/sys/net/if_types.h (revision 02e3d711beee64e9d8b6732e3fb27c5a996c8b1b)
1 /*
2  * Copyright (c) 1989, 1993, 1994
3  *        The Regents of the University of California.  All rights reserved.
4  *
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.
16  *
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.
28  *
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  * $NetBSD: if_types.h,v 1.16 2000/04/19 06:30:53 itojun Exp $
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  *        ftp.isi.edu/in-notes/iana/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                 /* CMSA/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   /* Circiut 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 Multilik 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_BRIDGE               0xd1 /* Transparent bridge interface */
242 
243 /* not based on IANA assignments */
244 #define   IFT_GIF             0xf0
245 #define   IFT_PVC             0xf1
246 #define   IFT_STF             0xf3
247 #define   IFT_ENC             0xf4
248 #define   IFT_PFLOG 0xf5                /* Packet filter logging */
249 #define   IFT_PFSYNC          0xf6                /* Packet filter state syncing */
250 #define   IFT_CARP  0xf8                /* Common Address Redundancy Protocol */
251 #define   IFT_WIREGUARD       0xf9                /* WireGuard tunnel */
252 
253 #endif /* !_NET_IF_TYPES_H_ */
254