1153838Sdfr/*- 2153838Sdfr * Copyright (c) 1989, 1993, 1994 3153838Sdfr * The Regents of the University of California. All rights reserved. 4153838Sdfr * 5153838Sdfr * Redistribution and use in source and binary forms, with or without 6153838Sdfr * modification, are permitted provided that the following conditions 7153838Sdfr * are met: 8153838Sdfr * 1. Redistributions of source code must retain the above copyright 9153838Sdfr * notice, this list of conditions and the following disclaimer. 10153838Sdfr * 2. Redistributions in binary form must reproduce the above copyright 11153838Sdfr * notice, this list of conditions and the following disclaimer in the 12153838Sdfr * documentation and/or other materials provided with the distribution. 13153838Sdfr * 4. Neither the name of the University nor the names of its contributors 14153838Sdfr * may be used to endorse or promote products derived from this software 15153838Sdfr * without specific prior written permission. 16153838Sdfr * 17153838Sdfr * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 18153838Sdfr * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 19153838Sdfr * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 20153838Sdfr * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 21153838Sdfr * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 22153838Sdfr * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 23153838Sdfr * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 24153838Sdfr * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 25153838Sdfr * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 26153838Sdfr * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 27153838Sdfr * SUCH DAMAGE. 28153838Sdfr * 29153838Sdfr * @(#)if_types.h 8.3 (Berkeley) 4/28/95 30153838Sdfr * $FreeBSD$ 31168340Skan * $NetBSD: if_types.h,v 1.16 2000/04/19 06:30:53 itojun Exp $ 32153838Sdfr */ 33153838Sdfr 34153838Sdfr#ifndef _NET_IF_TYPES_H_ 35153838Sdfr#define _NET_IF_TYPES_H_ 36153838Sdfr 37153838Sdfr/* 38178828Sdfr * Interface types for benefit of parsing media address headers. 39153838Sdfr * This list is derived from the SNMP list of ifTypes, originally 40178828Sdfr * documented in RFC1573, now maintained as: 41178828Sdfr * 42178828Sdfr * http://www.iana.org/assignments/smi-numbers 43178828Sdfr */ 44178828Sdfr 45178828Sdfrtypedef enum { 46178828Sdfr IFT_OTHER = 0x1, /* none of the following */ 47178828Sdfr IFT_1822 = 0x2, /* old-style arpanet imp */ 48178828Sdfr IFT_HDH1822 = 0x3, /* HDH arpanet imp */ 49178828Sdfr IFT_X25DDN = 0x4, /* x25 to imp */ 50178828Sdfr IFT_X25 = 0x5, /* PDN X25 interface (RFC877) */ 51178828Sdfr IFT_ETHER = 0x6, /* Ethernet CSMA/CD */ 52178828Sdfr IFT_ISO88023 = 0x7, /* CMSA/CD */ 53178828Sdfr IFT_ISO88024 = 0x8, /* Token Bus */ 54178828Sdfr IFT_ISO88025 = 0x9, /* Token Ring */ 55178828Sdfr IFT_ISO88026 = 0xa, /* MAN */ 56178828Sdfr IFT_STARLAN = 0xb, 57178828Sdfr IFT_P10 = 0xc, /* Proteon 10MBit ring */ 58178828Sdfr IFT_P80 = 0xd, /* Proteon 80MBit ring */ 59178828Sdfr IFT_HY = 0xe, /* Hyperchannel */ 60178828Sdfr IFT_FDDI = 0xf, 61178828Sdfr IFT_LAPB = 0x10, 62178828Sdfr IFT_SDLC = 0x11, 63178828Sdfr IFT_T1 = 0x12, 64178828Sdfr IFT_CEPT = 0x13, /* E1 - european T1 */ 65178828Sdfr IFT_ISDNBASIC = 0x14, 66178828Sdfr IFT_ISDNPRIMARY = 0x15, 67178828Sdfr IFT_PTPSERIAL = 0x16, /* Proprietary PTP serial */ 68178828Sdfr IFT_PPP = 0x17, /* RFC 1331 */ 69178828Sdfr IFT_LOOP = 0x18, /* loopback */ 70178828Sdfr IFT_EON = 0x19, /* ISO over IP */ 71178828Sdfr IFT_XETHER = 0x1a, /* obsolete 3MB experimental ethernet */ 72178828Sdfr IFT_NSIP = 0x1b, /* XNS over IP */ 73178828Sdfr IFT_SLIP = 0x1c, /* IP over generic TTY */ 74178828Sdfr IFT_ULTRA = 0x1d, /* Ultra Technologies */ 75178828Sdfr IFT_DS3 = 0x1e, /* Generic T3 */ 76178828Sdfr IFT_SIP = 0x1f, /* SMDS */ 77178828Sdfr IFT_FRELAY = 0x20, /* Frame Relay DTE only */ 78178828Sdfr IFT_RS232 = 0x21, 79178828Sdfr IFT_PARA = 0x22, /* parallel-port */ 80178828Sdfr IFT_ARCNET = 0x23, 81178828Sdfr IFT_ARCNETPLUS = 0x24, 82178828Sdfr IFT_ATM = 0x25, /* ATM cells */ 83178828Sdfr IFT_MIOX25 = 0x26, 84178828Sdfr IFT_SONET = 0x27, /* SONET or SDH */ 85178828Sdfr IFT_X25PLE = 0x28, 86178828Sdfr IFT_ISO88022LLC = 0x29, 87178828Sdfr IFT_LOCALTALK = 0x2a, 88178828Sdfr IFT_SMDSDXI = 0x2b, 89178828Sdfr IFT_FRELAYDCE = 0x2c, /* Frame Relay DCE */ 90178828Sdfr IFT_V35 = 0x2d, 91178828Sdfr IFT_HSSI = 0x2e, 92178828Sdfr IFT_HIPPI = 0x2f, 93178828Sdfr IFT_MODEM = 0x30, /* Generic Modem */ 94178828Sdfr IFT_AAL5 = 0x31, /* AAL5 over ATM */ 95178828Sdfr IFT_SONETPATH = 0x32, 96178828Sdfr IFT_SONETVT = 0x33, 97178828Sdfr IFT_SMDSICIP = 0x34, /* SMDS InterCarrier Interface */ 98178828Sdfr IFT_PROPVIRTUAL = 0x35, /* Proprietary Virtual/internal */ 99178828Sdfr IFT_PROPMUX = 0x36, /* Proprietary Multiplexing */ 100178828Sdfr IFT_IEEE80212 = 0x37, /* 100BaseVG */ 101178828Sdfr IFT_FIBRECHANNEL = 0x38, /* Fibre Channel */ 102178828Sdfr IFT_HIPPIINTERFACE = 0x39, /* HIPPI interfaces */ 103178828Sdfr IFT_FRAMERELAYINTERCONNECT = 0x3a, /* Obsolete, use 0x20 either 0x2c */ 104178828Sdfr IFT_AFLANE8023 = 0x3b, /* ATM Emulated LAN for 802.3 */ 105178828Sdfr IFT_AFLANE8025 = 0x3c, /* ATM Emulated LAN for 802.5 */ 106178828Sdfr IFT_CCTEMUL = 0x3d, /* ATM Emulated circuit */ 107178828Sdfr IFT_FASTETHER = 0x3e, /* Fast Ethernet (100BaseT) */ 108178828Sdfr IFT_ISDN = 0x3f, /* ISDN and X.25 */ 109178828Sdfr IFT_V11 = 0x40, /* CCITT V.11/X.21 */ 110178828Sdfr IFT_V36 = 0x41, /* CCITT V.36 */ 111178828Sdfr IFT_G703AT64K = 0x42, /* CCITT G703 at 64Kbps */ 112178828Sdfr IFT_G703AT2MB = 0x43, /* Obsolete see DS1-MIB */ 113178828Sdfr IFT_QLLC = 0x44, /* SNA QLLC */ 114178828Sdfr IFT_FASTETHERFX = 0x45, /* Fast Ethernet (100BaseFX) */ 115178828Sdfr IFT_CHANNEL = 0x46, /* channel */ 116178828Sdfr IFT_IEEE80211 = 0x47, /* radio spread spectrum */ 117178828Sdfr IFT_IBM370PARCHAN = 0x48, /* IBM System 360/370 OEMI Channel */ 118178828Sdfr IFT_ESCON = 0x49, /* IBM Enterprise Systems Connection */ 119178828Sdfr IFT_DLSW = 0x4a, /* Data Link Switching */ 120178828Sdfr IFT_ISDNS = 0x4b, /* ISDN S/T interface */ 121178828Sdfr IFT_ISDNU = 0x4c, /* ISDN U interface */ 122178828Sdfr IFT_LAPD = 0x4d, /* Link Access Protocol D */ 123178828Sdfr IFT_IPSWITCH = 0x4e, /* IP Switching Objects */ 124178828Sdfr IFT_RSRB = 0x4f, /* Remote Source Route Bridging */ 125178828Sdfr IFT_ATMLOGICAL = 0x50, /* ATM Logical Port */ 126178828Sdfr IFT_DS0 = 0x51, /* Digital Signal Level 0 */ 127178828Sdfr IFT_DS0BUNDLE = 0x52, /* group of ds0s on the same ds1 */ 128178828Sdfr IFT_BSC = 0x53, /* Bisynchronous Protocol */ 129178828Sdfr IFT_ASYNC = 0x54, /* Asynchronous Protocol */ 130178828Sdfr IFT_CNR = 0x55, /* Combat Net Radio */ 131178828Sdfr IFT_ISO88025DTR = 0x56, /* ISO 802.5r DTR */ 132178828Sdfr IFT_EPLRS = 0x57, /* Ext Pos Loc Report Sys */ 133178828Sdfr IFT_ARAP = 0x58, /* Appletalk Remote Access Protocol */ 134178828Sdfr IFT_PROPCNLS = 0x59, /* Proprietary Connectionless Protocol*/ 135178828Sdfr IFT_HOSTPAD = 0x5a, /* CCITT-ITU X.29 PAD Protocol */ 136178828Sdfr IFT_TERMPAD = 0x5b, /* CCITT-ITU X.3 PAD Facility */ 137178828Sdfr IFT_FRAMERELAYMPI = 0x5c, /* Multiproto Interconnect over FR */ 138178828Sdfr IFT_X213 = 0x5d, /* CCITT-ITU X213 */ 139178828Sdfr IFT_ADSL = 0x5e, /* Asymmetric Digital Subscriber Loop */ 140178828Sdfr IFT_RADSL = 0x5f, /* Rate-Adapt. Digital Subscriber Loop*/ 141178828Sdfr IFT_SDSL = 0x60, /* Symmetric Digital Subscriber Loop */ 142178828Sdfr IFT_VDSL = 0x61, /* Very H-Speed Digital Subscrib. Loop*/ 143178828Sdfr IFT_ISO88025CRFPINT = 0x62, /* ISO 802.5 CRFP */ 144178828Sdfr IFT_MYRINET = 0x63, /* Myricom Myrinet */ 145178828Sdfr IFT_VOICEEM = 0x64, /* voice recEive and transMit */ 146178828Sdfr IFT_VOICEFXO = 0x65, /* voice Foreign Exchange Office */ 147178828Sdfr IFT_VOICEFXS = 0x66, /* voice Foreign Exchange Station */ 148178828Sdfr IFT_VOICEENCAP = 0x67, /* voice encapsulation */ 149153838Sdfr IFT_VOICEOVERIP = 0x68, /* voice over IP encapsulation */ 150153838Sdfr IFT_ATMDXI = 0x69, /* ATM DXI */ 151153838Sdfr IFT_ATMFUNI = 0x6a, /* ATM FUNI */ 152153838Sdfr IFT_ATMIMA = 0x6b, /* ATM IMA */ 153153838Sdfr IFT_PPPMULTILINKBUNDLE = 0x6c, /* PPP Multilink Bundle */ 154153838Sdfr IFT_IPOVERCDLC = 0x6d, /* IBM ipOverCdlc */ 155153838Sdfr IFT_IPOVERCLAW = 0x6e, /* IBM Common Link Access to Workstn */ 156153838Sdfr IFT_STACKTOSTACK = 0x6f, /* IBM stackToStack */ 157153838Sdfr IFT_VIRTUALIPADDRESS = 0x70, /* IBM VIPA */ 158153838Sdfr IFT_MPC = 0x71, /* IBM multi-protocol channel support */ 159153838Sdfr IFT_IPOVERATM = 0x72, /* IBM ipOverAtm */ 160153838Sdfr IFT_ISO88025FIBER = 0x73, /* ISO 802.5j Fiber Token Ring */ 161171112Sdfr IFT_TDLC = 0x74, /* IBM twinaxial data link control */ 162153838Sdfr IFT_GIGABITETHERNET = 0x75, /* Gigabit Ethernet */ 163153838Sdfr IFT_HDLC = 0x76, /* HDLC */ 164153838Sdfr IFT_LAPF = 0x77, /* LAP F */ 165153838Sdfr IFT_V37 = 0x78, /* V.37 */ 166153838Sdfr IFT_X25MLP = 0x79, /* Multi-Link Protocol */ 167153838Sdfr IFT_X25HUNTGROUP = 0x7a, /* X25 Hunt Group */ 168153838Sdfr IFT_TRANSPHDLC = 0x7b, /* Transp HDLC */ 169153838Sdfr IFT_INTERLEAVE = 0x7c, /* Interleave channel */ 170153838Sdfr IFT_FAST = 0x7d, /* Fast channel */ 171178828Sdfr IFT_IP = 0x7e, /* IP (for APPN HPR in IP networks) */ 172178828Sdfr IFT_DOCSCABLEMACLAYER = 0x7f, /* CATV Mac Layer */ 173178828Sdfr IFT_DOCSCABLEDOWNSTREAM = 0x80, /* CATV Downstream interface */ 174178828Sdfr IFT_DOCSCABLEUPSTREAM = 0x81, /* CATV Upstream interface */ 175178828Sdfr IFT_A12MPPSWITCH = 0x82, /* Avalon Parallel Processor */ 176178828Sdfr IFT_TUNNEL = 0x83, /* Encapsulation interface */ 177178828Sdfr IFT_COFFEE = 0x84, /* coffee pot */ 178178828Sdfr IFT_CES = 0x85, /* Circiut Emulation Service */ 179178828Sdfr IFT_ATMSUBINTERFACE = 0x86, /* (x) ATM Sub Interface */ 180178828Sdfr IFT_L2VLAN = 0x87, /* Layer 2 Virtual LAN using 802.1Q */ 181178828Sdfr IFT_L3IPVLAN = 0x88, /* Layer 3 Virtual LAN - IP Protocol */ 182153838Sdfr IFT_L3IPXVLAN = 0x89, /* Layer 3 Virtual LAN - IPX Prot. */ 183153838Sdfr IFT_DIGITALPOWERLINE = 0x8a, /* IP over Power Lines */ 184153838Sdfr IFT_MEDIAMAILOVERIP = 0x8b, /* (xxx) Multimedia Mail over IP */ 185153838Sdfr IFT_DTM = 0x8c, /* Dynamic synchronous Transfer Mode */ 186153838Sdfr IFT_DCN = 0x8d, /* Data Communications Network */ 187153838Sdfr IFT_IPFORWARD = 0x8e, /* IP Forwarding Interface */ 188153838Sdfr IFT_MSDSL = 0x8f, /* Multi-rate Symmetric DSL */ 189153838Sdfr IFT_IEEE1394 = 0x90, /* IEEE1394 High Performance SerialBus*/ 190178828Sdfr IFT_IFGSN = 0x91, /* HIPPI-6400 */ 191178828Sdfr IFT_DVBRCCMACLAYER = 0x92, /* DVB-RCC MAC Layer */ 192178828Sdfr IFT_DVBRCCDOWNSTREAM = 0x93, /* DVB-RCC Downstream Channel */ 193153838Sdfr IFT_DVBRCCUPSTREAM = 0x94, /* DVB-RCC Upstream Channel */ 194153838Sdfr IFT_ATMVIRTUAL = 0x95, /* ATM Virtual Interface */ 195153838Sdfr IFT_MPLSTUNNEL = 0x96, /* MPLS Tunnel Virtual Interface */ 196153838Sdfr IFT_SRP = 0x97, /* Spatial Reuse Protocol */ 197153838Sdfr IFT_VOICEOVERATM = 0x98, /* Voice over ATM */ 198153838Sdfr IFT_VOICEOVERFRAMERELAY = 0x99, /* Voice Over Frame Relay */ 199153838Sdfr IFT_IDSL = 0x9a, /* Digital Subscriber Loop over ISDN */ 200153838Sdfr IFT_COMPOSITELINK = 0x9b, /* Avici Composite Link Interface */ 201153838Sdfr IFT_SS7SIGLINK = 0x9c, /* SS7 Signaling Link */ 202153838Sdfr IFT_PROPWIRELESSP2P = 0x9d, /* Prop. P2P wireless interface */ 203153838Sdfr IFT_FRFORWARD = 0x9e, /* Frame forward Interface */ 204153838Sdfr IFT_RFC1483 = 0x9f, /* Multiprotocol over ATM AAL5 */ 205153838Sdfr IFT_USB = 0xa0, /* USB Interface */ 206153838Sdfr IFT_IEEE8023ADLAG = 0xa1, /* IEEE 802.3ad Link Aggregate*/ 207153838Sdfr IFT_BGPPOLICYACCOUNTING = 0xa2, /* BGP Policy Accounting */ 208153838Sdfr IFT_FRF16MFRBUNDLE = 0xa3, /* FRF.16 Multilik Frame Relay*/ 209153838Sdfr IFT_H323GATEKEEPER = 0xa4, /* H323 Gatekeeper */ 210153838Sdfr IFT_H323PROXY = 0xa5, /* H323 Voice and Video Proxy */ 211153838Sdfr IFT_MPLS = 0xa6, /* MPLS */ 212153838Sdfr IFT_MFSIGLINK = 0xa7, /* Multi-frequency signaling link */ 213153838Sdfr IFT_HDSL2 = 0xa8, /* High Bit-Rate DSL, 2nd gen. */ 214153838Sdfr IFT_SHDSL = 0xa9, /* Multirate HDSL2 */ 215153838Sdfr IFT_DS1FDL = 0xaa, /* Facility Data Link (4Kbps) on a DS1*/ 216153838Sdfr IFT_POS = 0xab, /* Packet over SONET/SDH Interface */ 217153838Sdfr IFT_DVBASILN = 0xac, /* DVB-ASI Input */ 218153838Sdfr IFT_DVBASIOUT = 0xad, /* DVB-ASI Output */ 219153838Sdfr IFT_PLC = 0xae, /* Power Line Communications */ 220153838Sdfr IFT_NFAS = 0xaf, /* Non-Facility Associated Signaling */ 221153838Sdfr IFT_TR008 = 0xb0, /* TROO8 */ 222153838Sdfr IFT_GR303RDT = 0xb1, /* Remote Digital Terminal */ 223153838Sdfr IFT_GR303IDT = 0xb2, /* Integrated Digital Terminal */ 224153838Sdfr IFT_ISUP = 0xb3, /* ISUP */ 225153838Sdfr IFT_PROPDOCSWIRELESSMACLAYER = 0xb4, /* prop/Wireless MAC Layer */ 226153838Sdfr IFT_PROPDOCSWIRELESSDOWNSTREAM = 0xb5, /* prop/Wireless Downstream */ 227178828Sdfr IFT_PROPDOCSWIRELESSUPSTREAM = 0xb6, /* prop/Wireless Upstream */ 228153838Sdfr IFT_HIPERLAN2 = 0xb7, /* HIPERLAN Type 2 Radio Interface */ 229153838Sdfr IFT_PROPBWAP2MP = 0xb8, /* PropBroadbandWirelessAccess P2MP*/ 230153838Sdfr IFT_SONETOVERHEADCHANNEL = 0xb9, /* SONET Overhead Channel */ 231153838Sdfr IFT_DIGITALWRAPPEROVERHEADCHANNEL = 0xba, /* Digital Wrapper Overhead */ 232153838Sdfr IFT_AAL2 = 0xbb, /* ATM adaptation layer 2 */ 233153838Sdfr IFT_RADIOMAC = 0xbc, /* MAC layer over radio links */ 234153838Sdfr IFT_ATMRADIO = 0xbd, /* ATM over radio links */ 235153838Sdfr IFT_IMT = 0xbe, /* Inter-Machine Trunks */ 236171112Sdfr IFT_MVL = 0xbf, /* Multiple Virtual Lines DSL */ 237153838Sdfr IFT_REACHDSL = 0xc0, /* Long Reach DSL */ 238153838Sdfr IFT_FRDLCIENDPT = 0xc1, /* Frame Relay DLCI End Point */ 239153838Sdfr IFT_ATMVCIENDPT = 0xc2, /* ATM VCI End Point */ 240178828Sdfr IFT_OPTICALCHANNEL = 0xc3, /* Optical Channel */ 241178828Sdfr IFT_OPTICALTRANSPORT = 0xc4, /* Optical Transport */ 242153838Sdfr IFT_INFINIBAND = 0xc7, /* Infiniband */ 243178828Sdfr IFT_BRIDGE = 0xd1, /* Transparent bridge interface */ 244153838Sdfr IFT_STF = 0xd7, /* 6to4 interface */ 245178828Sdfr 246153838Sdfr /* 247153838Sdfr * Not based on IANA assignments. Conflicting with IANA assignments. 248153838Sdfr * We should make them negative probably. 249153838Sdfr * This requires changes to struct if_data. 250153838Sdfr */ 251153838Sdfr IFT_GIF = 0xf0, /* Generic tunnel interface */ 252153838Sdfr IFT_PVC = 0xf1, /* Unused */ 253153838Sdfr IFT_ENC = 0xf4, /* Encapsulating interface */ 254153838Sdfr IFT_PFLOG = 0xf6, /* PF packet filter logging */ 255153838Sdfr IFT_PFSYNC = 0xf7, /* PF packet filter synchronization */ 256178828Sdfr} ifType; 257178828Sdfr 258153838Sdfr/* 259153838Sdfr * Some (broken) software uses #ifdef IFT_TYPE to check whether 260178692Sdfr * an operating systems supports certain interface type. Lack of 261178692Sdfr * ifdef leads to a piece of functionality compiled out. 262178692Sdfr */ 263171112Sdfr#ifndef BURN_BRIDGES 264153838Sdfr#define IFT_BRIDGE IFT_BRIDGE 265153838Sdfr#define IFT_PPP IFT_PPP 266178692Sdfr#define IFT_PROPVIRTUAL IFT_PROPVIRTUAL 267153838Sdfr#define IFT_L2VLAN IFT_L2VLAN 268178828Sdfr#define IFT_L3IPVLAN IFT_L3IPVLAN 269178828Sdfr#define IFT_IEEE1394 IFT_IEEE1394 270153838Sdfr#define IFT_INFINIBAND IFT_INFINIBAND 271178828Sdfr#endif 272178828Sdfr 273153838Sdfr#endif /* !_NET_IF_TYPES_H_ */ 274153838Sdfr