source: rtems-libbsd/freebsd/sys/net/if_types.h

6-freebsd-12
Last change on this file was bb80d9d, checked in by Sebastian Huber <sebastian.huber@…>, on 08/09/18 at 12:02:09

Update to FreeBSD head 2017-12-01

Git mirror commit e724f51f811a4b2bd29447f8b85ab5c2f9b88266.

Update #3472.

  • Property mode set to 100644
File size: 12.1 KB
Line 
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
47typedef 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_ */
Note: See TracBrowser for help on using the repository browser.