xref: /freebsd/sys/net/if_types.h (revision 29363fb4)
1c398230bSWarner Losh /*-
251369649SPedro F. Giffuni  * SPDX-License-Identifier: BSD-3-Clause
351369649SPedro F. Giffuni  *
4df8bae1dSRodney W. Grimes  * Copyright (c) 1989, 1993, 1994
5df8bae1dSRodney W. Grimes  *	The Regents of the University of California.  All rights reserved.
6df8bae1dSRodney W. Grimes  *
7df8bae1dSRodney W. Grimes  * Redistribution and use in source and binary forms, with or without
8df8bae1dSRodney W. Grimes  * modification, are permitted provided that the following conditions
9df8bae1dSRodney W. Grimes  * are met:
10df8bae1dSRodney W. Grimes  * 1. Redistributions of source code must retain the above copyright
11df8bae1dSRodney W. Grimes  *    notice, this list of conditions and the following disclaimer.
12df8bae1dSRodney W. Grimes  * 2. Redistributions in binary form must reproduce the above copyright
13df8bae1dSRodney W. Grimes  *    notice, this list of conditions and the following disclaimer in the
14df8bae1dSRodney W. Grimes  *    documentation and/or other materials provided with the distribution.
15fbbd9655SWarner Losh  * 3. Neither the name of the University nor the names of its contributors
16df8bae1dSRodney W. Grimes  *    may be used to endorse or promote products derived from this software
17df8bae1dSRodney W. Grimes  *    without specific prior written permission.
18df8bae1dSRodney W. Grimes  *
19df8bae1dSRodney W. Grimes  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
20df8bae1dSRodney W. Grimes  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21df8bae1dSRodney W. Grimes  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22df8bae1dSRodney W. Grimes  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
23df8bae1dSRodney W. Grimes  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24df8bae1dSRodney W. Grimes  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
25df8bae1dSRodney W. Grimes  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
26df8bae1dSRodney W. Grimes  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27df8bae1dSRodney W. Grimes  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28df8bae1dSRodney W. Grimes  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
29df8bae1dSRodney W. Grimes  * SUCH DAMAGE.
303f215879SYaroslav Tykhiy  * $NetBSD: if_types.h,v 1.16 2000/04/19 06:30:53 itojun Exp $
31df8bae1dSRodney W. Grimes  */
32df8bae1dSRodney W. Grimes 
33cea1da3bSPaul Richards #ifndef _NET_IF_TYPES_H_
34cea1da3bSPaul Richards #define _NET_IF_TYPES_H_
35cea1da3bSPaul Richards 
36df8bae1dSRodney W. Grimes /*
37df8bae1dSRodney W. Grimes  * Interface types for benefit of parsing media address headers.
388fe3eb64SYaroslav Tykhiy  * This list is derived from the SNMP list of ifTypes, originally
39a6623322SJeroen Ruigrok van der Werven  * documented in RFC1573, now maintained as:
40a6623322SJeroen Ruigrok van der Werven  *
41dbf49e18SBrooks Davis  * 	http://www.iana.org/assignments/smi-numbers
42df8bae1dSRodney W. Grimes  */
43df8bae1dSRodney W. Grimes 
446456c04aSGleb Smirnoff typedef enum {
456456c04aSGleb Smirnoff 	IFT_OTHER	= 0x1,		/* none of the following */
466456c04aSGleb Smirnoff 	IFT_1822	= 0x2,		/* old-style arpanet imp */
476456c04aSGleb Smirnoff 	IFT_HDH1822	= 0x3,		/* HDH arpanet imp */
486456c04aSGleb Smirnoff 	IFT_X25DDN	= 0x4,		/* x25 to imp */
496456c04aSGleb Smirnoff 	IFT_X25		= 0x5,		/* PDN X25 interface (RFC877) */
506456c04aSGleb Smirnoff 	IFT_ETHER	= 0x6,		/* Ethernet CSMA/CD */
516456c04aSGleb Smirnoff 	IFT_ISO88023	= 0x7,		/* CMSA/CD */
526456c04aSGleb Smirnoff 	IFT_ISO88024	= 0x8,		/* Token Bus */
536456c04aSGleb Smirnoff 	IFT_ISO88025	= 0x9,		/* Token Ring */
546456c04aSGleb Smirnoff 	IFT_ISO88026	= 0xa,		/* MAN */
556456c04aSGleb Smirnoff 	IFT_STARLAN	= 0xb,
566456c04aSGleb Smirnoff 	IFT_P10		= 0xc,		/* Proteon 10MBit ring */
576456c04aSGleb Smirnoff 	IFT_P80		= 0xd,		/* Proteon 80MBit ring */
586456c04aSGleb Smirnoff 	IFT_HY		= 0xe,		/* Hyperchannel */
596456c04aSGleb Smirnoff 	IFT_FDDI	= 0xf,
606456c04aSGleb Smirnoff 	IFT_LAPB	= 0x10,
616456c04aSGleb Smirnoff 	IFT_SDLC	= 0x11,
626456c04aSGleb Smirnoff 	IFT_T1		= 0x12,
636456c04aSGleb Smirnoff 	IFT_CEPT	= 0x13,		/* E1 - european T1 */
646456c04aSGleb Smirnoff 	IFT_ISDNBASIC	= 0x14,
656456c04aSGleb Smirnoff 	IFT_ISDNPRIMARY	= 0x15,
666456c04aSGleb Smirnoff 	IFT_PTPSERIAL	= 0x16,		/* Proprietary PTP serial */
676456c04aSGleb Smirnoff 	IFT_PPP		= 0x17,		/* RFC 1331 */
686456c04aSGleb Smirnoff 	IFT_LOOP	= 0x18,		/* loopback */
696456c04aSGleb Smirnoff 	IFT_EON		= 0x19,		/* ISO over IP */
706456c04aSGleb Smirnoff 	IFT_XETHER	= 0x1a,		/* obsolete 3MB experimental ethernet */
716456c04aSGleb Smirnoff 	IFT_NSIP	= 0x1b,		/* XNS over IP */
726456c04aSGleb Smirnoff 	IFT_SLIP	= 0x1c,		/* IP over generic TTY */
736456c04aSGleb Smirnoff 	IFT_ULTRA	= 0x1d,		/* Ultra Technologies */
746456c04aSGleb Smirnoff 	IFT_DS3		= 0x1e,		/* Generic T3 */
756456c04aSGleb Smirnoff 	IFT_SIP		= 0x1f,		/* SMDS */
766456c04aSGleb Smirnoff 	IFT_FRELAY	= 0x20,		/* Frame Relay DTE only */
776456c04aSGleb Smirnoff 	IFT_RS232	= 0x21,
786456c04aSGleb Smirnoff 	IFT_PARA	= 0x22,		/* parallel-port */
796456c04aSGleb Smirnoff 	IFT_ARCNET	= 0x23,
806456c04aSGleb Smirnoff 	IFT_ARCNETPLUS	= 0x24,
816456c04aSGleb Smirnoff 	IFT_ATM		= 0x25,		/* ATM cells */
826456c04aSGleb Smirnoff 	IFT_MIOX25	= 0x26,
836456c04aSGleb Smirnoff 	IFT_SONET	= 0x27,		/* SONET or SDH */
846456c04aSGleb Smirnoff 	IFT_X25PLE	= 0x28,
856456c04aSGleb Smirnoff 	IFT_ISO88022LLC	= 0x29,
866456c04aSGleb Smirnoff 	IFT_LOCALTALK	= 0x2a,
876456c04aSGleb Smirnoff 	IFT_SMDSDXI	= 0x2b,
886456c04aSGleb Smirnoff 	IFT_FRELAYDCE	= 0x2c,		/* Frame Relay DCE */
896456c04aSGleb Smirnoff 	IFT_V35		= 0x2d,
906456c04aSGleb Smirnoff 	IFT_HSSI	= 0x2e,
916456c04aSGleb Smirnoff 	IFT_HIPPI	= 0x2f,
926456c04aSGleb Smirnoff 	IFT_MODEM	= 0x30,		/* Generic Modem */
936456c04aSGleb Smirnoff 	IFT_AAL5	= 0x31,		/* AAL5 over ATM */
946456c04aSGleb Smirnoff 	IFT_SONETPATH	= 0x32,
956456c04aSGleb Smirnoff 	IFT_SONETVT	= 0x33,
966456c04aSGleb Smirnoff 	IFT_SMDSICIP	= 0x34,		/* SMDS InterCarrier Interface */
976456c04aSGleb Smirnoff 	IFT_PROPVIRTUAL	= 0x35,		/* Proprietary Virtual/internal */
986456c04aSGleb Smirnoff 	IFT_PROPMUX	= 0x36,		/* Proprietary Multiplexing */
996456c04aSGleb Smirnoff 	IFT_IEEE80212	= 0x37,		/* 100BaseVG */
1006456c04aSGleb Smirnoff 	IFT_FIBRECHANNEL = 0x38,	/* Fibre Channel */
1016456c04aSGleb Smirnoff 	IFT_HIPPIINTERFACE = 0x39,	/* HIPPI interfaces	 */
1026456c04aSGleb Smirnoff 	IFT_FRAMERELAYINTERCONNECT = 0x3a, /* Obsolete, use 0x20 either 0x2c */
1036456c04aSGleb Smirnoff 	IFT_AFLANE8023	= 0x3b,		/* ATM Emulated LAN for 802.3 */
1046456c04aSGleb Smirnoff 	IFT_AFLANE8025	= 0x3c,		/* ATM Emulated LAN for 802.5 */
1056456c04aSGleb Smirnoff 	IFT_CCTEMUL	= 0x3d,		/* ATM Emulated circuit		  */
1066456c04aSGleb Smirnoff 	IFT_FASTETHER	= 0x3e,		/* Fast Ethernet (100BaseT) */
1076456c04aSGleb Smirnoff 	IFT_ISDN	= 0x3f,		/* ISDN and X.25	    */
1086456c04aSGleb Smirnoff 	IFT_V11		= 0x40,		/* CCITT V.11/X.21		*/
1096456c04aSGleb Smirnoff 	IFT_V36		= 0x41,		/* CCITT V.36			*/
1106456c04aSGleb Smirnoff 	IFT_G703AT64K	= 0x42,		/* CCITT G703 at 64Kbps */
1116456c04aSGleb Smirnoff 	IFT_G703AT2MB	= 0x43,		/* Obsolete see DS1-MIB */
1126456c04aSGleb Smirnoff 	IFT_QLLC	= 0x44,		/* SNA QLLC			*/
1136456c04aSGleb Smirnoff 	IFT_FASTETHERFX	= 0x45,		/* Fast Ethernet (100BaseFX)	*/
1146456c04aSGleb Smirnoff 	IFT_CHANNEL	= 0x46,		/* channel			*/
1152bbd06fcSAndriy Voskoboinyk 	IFT_IEEE80211	= 0x47,		/* radio spread spectrum (unused) */
1166456c04aSGleb Smirnoff 	IFT_IBM370PARCHAN = 0x48,	/* IBM System 360/370 OEMI Channel */
1176456c04aSGleb Smirnoff 	IFT_ESCON	= 0x49,		/* IBM Enterprise Systems Connection */
1186456c04aSGleb Smirnoff 	IFT_DLSW	= 0x4a,		/* Data Link Switching */
1196456c04aSGleb Smirnoff 	IFT_ISDNS	= 0x4b,		/* ISDN S/T interface */
1206456c04aSGleb Smirnoff 	IFT_ISDNU	= 0x4c,		/* ISDN U interface */
1216456c04aSGleb Smirnoff 	IFT_LAPD	= 0x4d,		/* Link Access Protocol D */
1226456c04aSGleb Smirnoff 	IFT_IPSWITCH	= 0x4e,		/* IP Switching Objects */
1236456c04aSGleb Smirnoff 	IFT_RSRB	= 0x4f,		/* Remote Source Route Bridging */
1246456c04aSGleb Smirnoff 	IFT_ATMLOGICAL	= 0x50,		/* ATM Logical Port */
1256456c04aSGleb Smirnoff 	IFT_DS0		= 0x51,		/* Digital Signal Level 0 */
1266456c04aSGleb Smirnoff 	IFT_DS0BUNDLE	= 0x52,		/* group of ds0s on the same ds1 */
1276456c04aSGleb Smirnoff 	IFT_BSC		= 0x53,		/* Bisynchronous Protocol */
1286456c04aSGleb Smirnoff 	IFT_ASYNC	= 0x54,		/* Asynchronous Protocol */
1296456c04aSGleb Smirnoff 	IFT_CNR		= 0x55,		/* Combat Net Radio */
1306456c04aSGleb Smirnoff 	IFT_ISO88025DTR	= 0x56,		/* ISO 802.5r DTR */
1316456c04aSGleb Smirnoff 	IFT_EPLRS	= 0x57,		/* Ext Pos Loc Report Sys */
1326456c04aSGleb Smirnoff 	IFT_ARAP	= 0x58,		/* Appletalk Remote Access Protocol */
1336456c04aSGleb Smirnoff 	IFT_PROPCNLS	= 0x59,		/* Proprietary Connectionless Protocol*/
1346456c04aSGleb Smirnoff 	IFT_HOSTPAD	= 0x5a,		/* CCITT-ITU X.29 PAD Protocol */
1356456c04aSGleb Smirnoff 	IFT_TERMPAD	= 0x5b,		/* CCITT-ITU X.3 PAD Facility */
1366456c04aSGleb Smirnoff 	IFT_FRAMERELAYMPI = 0x5c,	/* Multiproto Interconnect over FR */
1376456c04aSGleb Smirnoff 	IFT_X213	= 0x5d,		/* CCITT-ITU X213 */
1386456c04aSGleb Smirnoff 	IFT_ADSL	= 0x5e,		/* Asymmetric Digital Subscriber Loop */
1396456c04aSGleb Smirnoff 	IFT_RADSL	= 0x5f,		/* Rate-Adapt. Digital Subscriber Loop*/
1406456c04aSGleb Smirnoff 	IFT_SDSL	= 0x60,		/* Symmetric Digital Subscriber Loop */
1416456c04aSGleb Smirnoff 	IFT_VDSL	= 0x61,		/* Very H-Speed Digital Subscrib. Loop*/
1426456c04aSGleb Smirnoff 	IFT_ISO88025CRFPINT = 0x62,	/* ISO 802.5 CRFP */
1436456c04aSGleb Smirnoff 	IFT_MYRINET	= 0x63,		/* Myricom Myrinet */
1446456c04aSGleb Smirnoff 	IFT_VOICEEM	= 0x64,		/* voice recEive and transMit */
1456456c04aSGleb Smirnoff 	IFT_VOICEFXO	= 0x65,		/* voice Foreign Exchange Office */
1466456c04aSGleb Smirnoff 	IFT_VOICEFXS	= 0x66,		/* voice Foreign Exchange Station */
1476456c04aSGleb Smirnoff 	IFT_VOICEENCAP	= 0x67,		/* voice encapsulation */
1486456c04aSGleb Smirnoff 	IFT_VOICEOVERIP	= 0x68,		/* voice over IP encapsulation */
1496456c04aSGleb Smirnoff 	IFT_ATMDXI	= 0x69,		/* ATM DXI */
1506456c04aSGleb Smirnoff 	IFT_ATMFUNI	= 0x6a,		/* ATM FUNI */
1516456c04aSGleb Smirnoff 	IFT_ATMIMA	= 0x6b,		/* ATM IMA		      */
1526456c04aSGleb Smirnoff 	IFT_PPPMULTILINKBUNDLE = 0x6c,	/* PPP Multilink Bundle */
1536456c04aSGleb Smirnoff 	IFT_IPOVERCDLC	= 0x6d,		/* IBM ipOverCdlc */
1546456c04aSGleb Smirnoff 	IFT_IPOVERCLAW	= 0x6e,		/* IBM Common Link Access to Workstn */
1556456c04aSGleb Smirnoff 	IFT_STACKTOSTACK = 0x6f,	/* IBM stackToStack */
1566456c04aSGleb Smirnoff 	IFT_VIRTUALIPADDRESS = 0x70,	/* IBM VIPA */
1576456c04aSGleb Smirnoff 	IFT_MPC		= 0x71,		/* IBM multi-protocol channel support */
1586456c04aSGleb Smirnoff 	IFT_IPOVERATM	= 0x72,		/* IBM ipOverAtm */
1596456c04aSGleb Smirnoff 	IFT_ISO88025FIBER = 0x73,	/* ISO 802.5j Fiber Token Ring */
1606456c04aSGleb Smirnoff 	IFT_TDLC	= 0x74,		/* IBM twinaxial data link control */
1616456c04aSGleb Smirnoff 	IFT_GIGABITETHERNET = 0x75,	/* Gigabit Ethernet */
1626456c04aSGleb Smirnoff 	IFT_HDLC	= 0x76,		/* HDLC */
1636456c04aSGleb Smirnoff 	IFT_LAPF	= 0x77,		/* LAP F */
1646456c04aSGleb Smirnoff 	IFT_V37		= 0x78,		/* V.37 */
1656456c04aSGleb Smirnoff 	IFT_X25MLP	= 0x79,		/* Multi-Link Protocol */
1666456c04aSGleb Smirnoff 	IFT_X25HUNTGROUP = 0x7a,	/* X25 Hunt Group */
1676456c04aSGleb Smirnoff 	IFT_TRANSPHDLC	= 0x7b,		/* Transp HDLC */
1686456c04aSGleb Smirnoff 	IFT_INTERLEAVE	= 0x7c,		/* Interleave channel */
1696456c04aSGleb Smirnoff 	IFT_FAST	= 0x7d,		/* Fast channel */
1706456c04aSGleb Smirnoff 	IFT_IP		= 0x7e,		/* IP (for APPN HPR in IP networks) */
1716456c04aSGleb Smirnoff 	IFT_DOCSCABLEMACLAYER = 0x7f,	/* CATV Mac Layer */
1726456c04aSGleb Smirnoff 	IFT_DOCSCABLEDOWNSTREAM = 0x80,	/* CATV Downstream interface */
1736456c04aSGleb Smirnoff 	IFT_DOCSCABLEUPSTREAM = 0x81,	/* CATV Upstream interface */
1746456c04aSGleb Smirnoff 	IFT_A12MPPSWITCH = 0x82,	/* Avalon Parallel Processor */
1756456c04aSGleb Smirnoff 	IFT_TUNNEL	= 0x83,		/* Encapsulation interface */
1766456c04aSGleb Smirnoff 	IFT_COFFEE	= 0x84,		/* coffee pot */
1776456c04aSGleb Smirnoff 	IFT_CES		= 0x85,		/* Circiut Emulation Service */
1786456c04aSGleb Smirnoff 	IFT_ATMSUBINTERFACE = 0x86,	/* (x)  ATM Sub Interface */
1796456c04aSGleb Smirnoff 	IFT_L2VLAN	= 0x87,		/* Layer 2 Virtual LAN using 802.1Q */
1806456c04aSGleb Smirnoff 	IFT_L3IPVLAN	= 0x88,		/* Layer 3 Virtual LAN - IP Protocol */
1816456c04aSGleb Smirnoff 	IFT_L3IPXVLAN	= 0x89,		/* Layer 3 Virtual LAN - IPX Prot. */
1826456c04aSGleb Smirnoff 	IFT_DIGITALPOWERLINE = 0x8a,	/* IP over Power Lines */
1836456c04aSGleb Smirnoff 	IFT_MEDIAMAILOVERIP = 0x8b,	/* (xxx)  Multimedia Mail over IP */
1846456c04aSGleb Smirnoff 	IFT_DTM		= 0x8c,		/* Dynamic synchronous Transfer Mode */
1856456c04aSGleb Smirnoff 	IFT_DCN		= 0x8d,		/* Data Communications Network */
1866456c04aSGleb Smirnoff 	IFT_IPFORWARD	= 0x8e,		/* IP Forwarding Interface */
1876456c04aSGleb Smirnoff 	IFT_MSDSL	= 0x8f,		/* Multi-rate Symmetric DSL */
1886456c04aSGleb Smirnoff 	IFT_IEEE1394	= 0x90,		/* IEEE1394 High Performance SerialBus*/
1896456c04aSGleb Smirnoff 	IFT_IFGSN	= 0x91,		/* HIPPI-6400 */
1906456c04aSGleb Smirnoff 	IFT_DVBRCCMACLAYER = 0x92,	/* DVB-RCC MAC Layer */
1916456c04aSGleb Smirnoff 	IFT_DVBRCCDOWNSTREAM = 0x93,	/* DVB-RCC Downstream Channel */
1926456c04aSGleb Smirnoff 	IFT_DVBRCCUPSTREAM = 0x94,	/* DVB-RCC Upstream Channel */
1936456c04aSGleb Smirnoff 	IFT_ATMVIRTUAL	= 0x95,		/* ATM Virtual Interface */
1946456c04aSGleb Smirnoff 	IFT_MPLSTUNNEL	= 0x96,		/* MPLS Tunnel Virtual Interface */
1956456c04aSGleb Smirnoff 	IFT_SRP		= 0x97,		/* Spatial Reuse Protocol */
1966456c04aSGleb Smirnoff 	IFT_VOICEOVERATM = 0x98,	/* Voice over ATM */
1976456c04aSGleb Smirnoff 	IFT_VOICEOVERFRAMERELAY	= 0x99,	/* Voice Over Frame Relay */
1986456c04aSGleb Smirnoff 	IFT_IDSL	= 0x9a,		/* Digital Subscriber Loop over ISDN */
1996456c04aSGleb Smirnoff 	IFT_COMPOSITELINK = 0x9b,	/* Avici Composite Link Interface */
2006456c04aSGleb Smirnoff 	IFT_SS7SIGLINK	= 0x9c,		/* SS7 Signaling Link */
2016456c04aSGleb Smirnoff 	IFT_PROPWIRELESSP2P = 0x9d,	/* Prop. P2P wireless interface */
2026456c04aSGleb Smirnoff 	IFT_FRFORWARD	= 0x9e,		/* Frame forward Interface */
2036456c04aSGleb Smirnoff 	IFT_RFC1483	= 0x9f,		/* Multiprotocol over ATM AAL5 */
2046456c04aSGleb Smirnoff 	IFT_USB		= 0xa0,		/* USB Interface */
2056456c04aSGleb Smirnoff 	IFT_IEEE8023ADLAG = 0xa1,	/* IEEE 802.3ad Link Aggregate*/
2066456c04aSGleb Smirnoff 	IFT_BGPPOLICYACCOUNTING = 0xa2,	/* BGP Policy Accounting */
207f8d292b6SGordon Bergling 	IFT_FRF16MFRBUNDLE = 0xa3,	/* FRF.16 Multilink Frame Relay*/
2086456c04aSGleb Smirnoff 	IFT_H323GATEKEEPER = 0xa4,	/* H323 Gatekeeper */
2096456c04aSGleb Smirnoff 	IFT_H323PROXY	= 0xa5,		/* H323 Voice and Video Proxy */
2106456c04aSGleb Smirnoff 	IFT_MPLS	= 0xa6,		/* MPLS */
2116456c04aSGleb Smirnoff 	IFT_MFSIGLINK	= 0xa7,		/* Multi-frequency signaling link */
2126456c04aSGleb Smirnoff 	IFT_HDSL2	= 0xa8,		/* High Bit-Rate DSL, 2nd gen. */
2136456c04aSGleb Smirnoff 	IFT_SHDSL	= 0xa9,		/* Multirate HDSL2 */
2146456c04aSGleb Smirnoff 	IFT_DS1FDL	= 0xaa,		/* Facility Data Link (4Kbps) on a DS1*/
2156456c04aSGleb Smirnoff 	IFT_POS		= 0xab,		/* Packet over SONET/SDH Interface */
2166456c04aSGleb Smirnoff 	IFT_DVBASILN	= 0xac,		/* DVB-ASI Input */
2176456c04aSGleb Smirnoff 	IFT_DVBASIOUT	= 0xad,		/* DVB-ASI Output */
2186456c04aSGleb Smirnoff 	IFT_PLC		= 0xae,		/* Power Line Communications */
2196456c04aSGleb Smirnoff 	IFT_NFAS	= 0xaf,		/* Non-Facility Associated Signaling */
2206456c04aSGleb Smirnoff 	IFT_TR008	= 0xb0,		/* TROO8 */
2216456c04aSGleb Smirnoff 	IFT_GR303RDT	= 0xb1,		/* Remote Digital Terminal */
2226456c04aSGleb Smirnoff 	IFT_GR303IDT	= 0xb2,		/* Integrated Digital Terminal */
2236456c04aSGleb Smirnoff 	IFT_ISUP	= 0xb3,		/* ISUP */
2246456c04aSGleb Smirnoff 	IFT_PROPDOCSWIRELESSMACLAYER = 0xb4,	/* prop/Wireless MAC Layer */
2256456c04aSGleb Smirnoff 	IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5,	/* prop/Wireless Downstream */
2266456c04aSGleb Smirnoff 	IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6,	/* prop/Wireless Upstream */
2276456c04aSGleb Smirnoff 	IFT_HIPERLAN2	= 0xb7,		/* HIPERLAN Type 2 Radio Interface */
2286456c04aSGleb Smirnoff 	IFT_PROPBWAP2MP	= 0xb8,		/* PropBroadbandWirelessAccess P2MP*/
2296456c04aSGleb Smirnoff 	IFT_SONETOVERHEADCHANNEL = 0xb9, /* SONET Overhead Channel */
2306456c04aSGleb Smirnoff 	IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba, /* Digital Wrapper Overhead */
2316456c04aSGleb Smirnoff 	IFT_AAL2	= 0xbb,		/* ATM adaptation layer 2 */
2326456c04aSGleb Smirnoff 	IFT_RADIOMAC	= 0xbc,		/* MAC layer over radio links */
2336456c04aSGleb Smirnoff 	IFT_ATMRADIO	= 0xbd,		/* ATM over radio links */
2346456c04aSGleb Smirnoff 	IFT_IMT		= 0xbe,		/* Inter-Machine Trunks */
2356456c04aSGleb Smirnoff 	IFT_MVL		= 0xbf,		/* Multiple Virtual Lines DSL */
2366456c04aSGleb Smirnoff 	IFT_REACHDSL	= 0xc0,		/* Long Reach DSL */
2376456c04aSGleb Smirnoff 	IFT_FRDLCIENDPT	= 0xc1,		/* Frame Relay DLCI End Point */
2386456c04aSGleb Smirnoff 	IFT_ATMVCIENDPT	= 0xc2,		/* ATM VCI End Point */
2396456c04aSGleb Smirnoff 	IFT_OPTICALCHANNEL = 0xc3,	/* Optical Channel */
2406456c04aSGleb Smirnoff 	IFT_OPTICALTRANSPORT = 0xc4,	/* Optical Transport */
2416456c04aSGleb Smirnoff 	IFT_INFINIBAND	= 0xc7,		/* Infiniband */
242a92c4bb6SHans Petter Selasky 	IFT_INFINIBANDLAG = 0xc8,	/* Infiniband Link Aggregate */
2436456c04aSGleb Smirnoff 	IFT_BRIDGE	= 0xd1,		/* Transparent bridge interface */
2446456c04aSGleb Smirnoff 	IFT_STF		= 0xd7,		/* 6to4 interface */
245cea1da3bSPaul Richards 
2466456c04aSGleb Smirnoff 	/*
2476456c04aSGleb Smirnoff 	 * Not based on IANA assignments.  Conflicting with IANA assignments.
2486456c04aSGleb Smirnoff 	 * We should make them negative probably.
2496456c04aSGleb Smirnoff 	 * This requires changes to struct if_data.
2506456c04aSGleb Smirnoff 	 */
2516456c04aSGleb Smirnoff 	IFT_GIF		= 0xf0,		/* Generic tunnel interface */
2526456c04aSGleb Smirnoff 	IFT_PVC		= 0xf1,		/* Unused */
2536456c04aSGleb Smirnoff 	IFT_ENC		= 0xf4,		/* Encapsulating interface */
2546456c04aSGleb Smirnoff 	IFT_PFLOG	= 0xf6,		/* PF packet filter logging */
2556456c04aSGleb Smirnoff 	IFT_PFSYNC	= 0xf7,		/* PF packet filter synchronization */
256744bfb21SJohn Baldwin 	IFT_WIREGUARD	= 0xf8,		/* WireGuard tunnel */
2576456c04aSGleb Smirnoff } ifType;
258a7dc9459SGleb Smirnoff 
259a7dc9459SGleb Smirnoff /*
260a7dc9459SGleb Smirnoff  * Some (broken) software uses #ifdef IFT_TYPE to check whether
261a7dc9459SGleb Smirnoff  * an operating systems supports certain interface type.  Lack of
262a7dc9459SGleb Smirnoff  * ifdef leads to a piece of functionality compiled out.
263a7dc9459SGleb Smirnoff  */
264a7dc9459SGleb Smirnoff #ifndef BURN_BRIDGES
265a7dc9459SGleb Smirnoff #define	IFT_BRIDGE	IFT_BRIDGE
266a7dc9459SGleb Smirnoff #define	IFT_PPP		IFT_PPP
267a7dc9459SGleb Smirnoff #define	IFT_PROPVIRTUAL	IFT_PROPVIRTUAL
268a7dc9459SGleb Smirnoff #define	IFT_L2VLAN	IFT_L2VLAN
269a7dc9459SGleb Smirnoff #define	IFT_L3IPVLAN	IFT_L3IPVLAN
270a7dc9459SGleb Smirnoff #define	IFT_IEEE1394	IFT_IEEE1394
271a7dc9459SGleb Smirnoff #define	IFT_INFINIBAND	IFT_INFINIBAND
272a7dc9459SGleb Smirnoff #endif
273a7dc9459SGleb Smirnoff 
2748fe3eb64SYaroslav Tykhiy #endif /* !_NET_IF_TYPES_H_ */
275