xref: /netbsd-src/sys/net/if_types.h (revision 481fca6e59249d8ffcf24fef7cfbe7b131bfb080)
1 /*	$NetBSD: if_types.h,v 1.16 2000/04/19 06:30:53 itojun 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. All advertising materials mentioning features or use of this software
16  *    must display the following acknowledgement:
17  *	This product includes software developed by the University of
18  *	California, Berkeley and its contributors.
19  * 4. Neither the name of the University nor the names of its contributors
20  *    may be used to endorse or promote products derived from this software
21  *    without specific prior written permission.
22  *
23  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
24  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
27  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
28  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
29  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33  * SUCH DAMAGE.
34  *
35  *	@(#)if_types.h	8.3 (Berkeley) 4/28/95
36  */
37 
38 #ifndef _NET_IF_TYPES_H_
39 #define _NET_IF_TYPES_H_
40 
41 /*
42  * Interface types for benefit of parsing media address headers.
43  * This list is derived from the SNMP list of ifTypes, originally
44  * documented in RFC1573, now maintained as:
45  *
46  *	ftp.isi.edu/in-notes/iana/assignments/smi-numbers
47  */
48 
49 #define	IFT_OTHER	0x1		/* none of the following */
50 #define	IFT_1822	0x2		/* old-style arpanet imp */
51 #define	IFT_HDH1822	0x3		/* HDH arpanet imp */
52 #define	IFT_X25DDN	0x4		/* x25 to imp */
53 #define	IFT_X25		0x5		/* PDN X25 interface (RFC877) */
54 #define	IFT_ETHER	0x6		/* Ethernet CSMA/CD */
55 #define	IFT_ISO88023	0x7		/* CSMA/CD */
56 #define	IFT_ISO88024	0x8		/* Token Bus */
57 #define	IFT_ISO88025	0x9		/* Token Ring */
58 #define	IFT_ISO88026	0xa		/* MAN */
59 #define	IFT_STARLAN	0xb
60 #define	IFT_P10		0xc		/* Proteon 10MBit ring */
61 #define	IFT_P80		0xd		/* Proteon 80MBit ring */
62 #define	IFT_HY		0xe		/* Hyperchannel */
63 #define	IFT_FDDI	0xf
64 #define	IFT_LAPB	0x10
65 #define	IFT_SDLC	0x11
66 #define	IFT_T1		0x12
67 #define	IFT_CEPT	0x13		/* E1 - european T1 */
68 #define	IFT_ISDNBASIC	0x14
69 #define	IFT_ISDNPRIMARY	0x15
70 #define	IFT_PTPSERIAL	0x16		/* Proprietary PTP serial */
71 #define	IFT_PPP		0x17		/* RFC 1331 */
72 #define	IFT_LOOP	0x18		/* loopback */
73 #define	IFT_EON		0x19		/* ISO over IP */
74 #define	IFT_XETHER	0x1a		/* obsolete 3MB experimental ethernet */
75 #define	IFT_NSIP	0x1b		/* XNS over IP */
76 #define	IFT_SLIP	0x1c		/* IP over generic TTY */
77 #define	IFT_ULTRA	0x1d		/* Ultra Technologies */
78 #define	IFT_DS3		0x1e		/* Generic T3 */
79 #define	IFT_SIP		0x1f		/* SMDS */
80 #define	IFT_FRELAY	0x20		/* Frame Relay DTE only */
81 #define	IFT_RS232	0x21
82 #define	IFT_PARA	0x22		/* parallel-port */
83 #define	IFT_ARCNET	0x23
84 #define	IFT_ARCNETPLUS	0x24
85 #define	IFT_ATM		0x25		/* ATM cells */
86 #define	IFT_MIOX25	0x26
87 #define	IFT_SONET	0x27		/* SONET or SDH */
88 #define	IFT_X25PLE	0x28
89 #define	IFT_ISO88022LLC	0x29
90 #define	IFT_LOCALTALK	0x2a
91 #define	IFT_SMDSDXI	0x2b
92 #define	IFT_FRELAYDCE	0x2c		/* Frame Relay DCE */
93 #define	IFT_V35		0x2d
94 #define	IFT_HSSI	0x2e
95 #define	IFT_HIPPI	0x2f
96 #define	IFT_MODEM	0x30		/* Generic Modem */
97 #define	IFT_AAL5	0x31		/* AAL5 over ATM */
98 #define	IFT_SONETPATH	0x32
99 #define	IFT_SONETVT	0x33
100 #define	IFT_SMDSICIP	0x34		/* SMDS InterCarrier Interface */
101 #define	IFT_PROPVIRTUAL	0x35		/* Proprietary Virtual/internal */
102 #define	IFT_PROPMUX	0x36		/* Proprietary Multiplexing */
103 #define IFT_IEEE80212		   0x37 /* 100BaseVG */
104 #define IFT_FIBRECHANNEL	   0x38 /* Fibre Channel */
105 #define IFT_HIPPIINTERFACE	   0x39 /* HIPPI interfaces	 */
106 #define IFT_FRAMERELAYINTERCONNECT 0x3a /* Obsolete, use either 0x20 or 0x2c */
107 #define IFT_AFLANE8023		   0x3b /* ATM Emulated LAN for 802.3 */
108 #define IFT_AFLANE8025		   0x3c /* ATM Emulated LAN for 802.5 */
109 #define IFT_CCTEMUL		   0x3d /* ATM Emulated circuit		  */
110 #define IFT_FASTETHER		   0x3e /* Fast Ethernet (100BaseT) */
111 #define IFT_ISDN		   0x3f /* ISDN and X.25	    */
112 #define IFT_V11			   0x40 /* CCITT V.11/X.21		*/
113 #define IFT_V36			   0x41 /* CCITT V.36			*/
114 #define IFT_G703AT64K		   0x42 /* CCITT G703 at 64Kbps */
115 #define IFT_G703AT2MB		   0x43 /* Obsolete see DS1-MIB */
116 #define IFT_QLLC		   0x44 /* SNA QLLC			*/
117 #define IFT_FASTETHERFX		   0x45 /* Fast Ethernet (100BaseFX)	*/
118 #define IFT_CHANNEL		   0x46 /* channel			*/
119 #define IFT_IEEE80211		   0x47 /* radio spread spectrum	*/
120 #define IFT_IBM370PARCHAN	   0x48 /* IBM System 360/370 OEMI Channel */
121 #define IFT_ESCON		   0x49 /* IBM Enterprise Systems Connection */
122 #define IFT_DLSW		   0x4a /* Data Link Switching */
123 #define IFT_ISDNS		   0x4b /* ISDN S/T interface */
124 #define IFT_ISDNU		   0x4c /* ISDN U interface */
125 #define IFT_LAPD		   0x4d /* Link Access Protocol D */
126 #define IFT_IPSWITCH		   0x4e /* IP Switching Objects */
127 #define IFT_RSRB		   0x4f /* Remote Source Route Bridging */
128 #define IFT_ATMLOGICAL		   0x50 /* ATM Logical Port */
129 #define IFT_DS0			   0x51 /* Digital Signal Level 0 */
130 #define IFT_DS0BUNDLE		   0x52 /* group of ds0s on the same ds1 */
131 #define IFT_BSC			   0x53 /* Bisynchronous Protocol */
132 #define IFT_ASYNC		   0x54 /* Asynchronous Protocol */
133 #define IFT_CNR			   0x55 /* Combat Net Radio */
134 #define IFT_ISO88025DTR		   0x56 /* ISO 802.5r DTR */
135 #define IFT_EPLRS		   0x57 /* Ext Pos Loc Report Sys */
136 #define IFT_ARAP		   0x58 /* Appletalk Remote Access Protocol */
137 #define IFT_PROPCNLS		   0x59 /* Proprietary Connectionless Protocol*/
138 #define IFT_HOSTPAD		   0x5a /* CCITT-ITU X.29 PAD Protocol */
139 #define IFT_TERMPAD		   0x5b /* CCITT-ITU X.3 PAD Facility */
140 #define IFT_FRAMERELAYMPI	   0x5c /* Multiproto Interconnect over FR */
141 #define IFT_X213		   0x5d /* CCITT-ITU X213 */
142 #define IFT_ADSL		   0x5e /* Asymmetric Digital Subscriber Loop */
143 #define IFT_RADSL		   0x5f /* Rate-Adapt. Digital Subscriber Loop*/
144 #define IFT_SDSL		   0x60 /* Symmetric Digital Subscriber Loop */
145 #define IFT_VDSL		   0x61 /* Very H-Speed Digital Subscrib. Loop*/
146 #define IFT_ISO88025CRFPINT	   0x62 /* ISO 802.5 CRFP */
147 #define IFT_MYRINET		   0x63 /* Myricom Myrinet */
148 #define IFT_VOICEEM		   0x64 /* voice recEive and transMit */
149 #define IFT_VOICEFXO		   0x65 /* voice Foreign Exchange Office */
150 #define IFT_VOICEFXS		   0x66 /* voice Foreign Exchange Station */
151 #define IFT_VOICEENCAP		   0x67 /* voice encapsulation */
152 #define IFT_VOICEOVERIP		   0x68 /* voice over IP encapsulation */
153 #define IFT_ATMDXI		   0x69 /* ATM DXI */
154 #define IFT_ATMFUNI		   0x6a /* ATM FUNI */
155 #define IFT_ATMIMA		   0x6b /* ATM IMA		      */
156 #define IFT_PPPMULTILINKBUNDLE	   0x6c /* PPP Multilink Bundle */
157 #define IFT_IPOVERCDLC		   0x6d /* IBM ipOverCdlc */
158 #define IFT_IPOVERCLAW		   0x6e /* IBM Common Link Access to Workstn */
159 #define IFT_STACKTOSTACK	   0x6f /* IBM stackToStack */
160 #define IFT_VIRTUALIPADDRESS	   0x70 /* IBM VIPA */
161 #define IFT_MPC			   0x71 /* IBM multi-protocol channel support */
162 #define IFT_IPOVERATM		   0x72 /* IBM ipOverAtm */
163 #define IFT_ISO88025FIBER	   0x73 /* ISO 802.5j Fiber Token Ring */
164 #define IFT_TDLC		   0x74 /* IBM twinaxial data link control */
165 #define IFT_GIGABITETHERNET	   0x75 /* Gigabit Ethernet */
166 #define IFT_HDLC		   0x76 /* HDLC */
167 #define IFT_LAPF		   0x77 /* LAP F */
168 #define IFT_V37			   0x78 /* V.37 */
169 #define IFT_X25MLP		   0x79 /* Multi-Link Protocol */
170 #define IFT_X25HUNTGROUP	   0x7a /* X25 Hunt Group */
171 #define IFT_TRANSPHDLC		   0x7b /* Transp HDLC */
172 #define IFT_INTERLEAVE		   0x7c /* Interleave channel */
173 #define IFT_FAST		   0x7d /* Fast channel */
174 #define IFT_IP			   0x7e /* IP (for APPN HPR in IP networks) */
175 #define IFT_DOCSCABLEMACLAYER	   0x7f /* CATV Mac Layer */
176 #define IFT_DOCSCABLEDOWNSTREAM	   0x80 /* CATV Downstream interface */
177 #define IFT_DOCSCABLEUPSTREAM	   0x81 /* CATV Upstream interface */
178 #define IFT_A12MPPSWITCH	   0x82	/* Avalon Parallel Processor */
179 
180 /* not based on IANA assignments - how should we treat these? */
181 #define IFT_GIF		0xf0
182 #define IFT_PVC		0xf1
183 #define IFT_FAITH	0xf2
184 #define IFT_STF		0xf3
185 #endif /* _NET_IF_TYPES_H_ */
186