Changeset 88d99508 in rtems
- Timestamp:
- 04/18/05 16:36:20 (19 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- 68f4e5f
- Parents:
- 0383873
- Location:
- cpukit
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
cpukit/ChangeLog
r0383873 r88d99508 1 1 2005-04-18 Ralf Corsepius <ralf.corsepius@rtems.org> 2 2 3 * libnetworking/net/if.h: Update from FreeBSD. 4 * libnetworking/net/if_loop.c: Reflect updates. 5 * libnetworking/net/if_ppp.c: Reflect updates. 6 * libnetworking/net/if_types.h: Update from FreeBSD. 3 7 * libnetworking/net/ethernet.h: Add RTEMS outdated either_input. 4 8 * libnetworking/net/if.c: Partial update from FreeBSD. -
cpukit/libnetworking/net/if.h
r0383873 r88d99508 28 28 * 29 29 * @(#)if.h 8.1 (Berkeley) 6/10/93 30 * $FreeBSD: src/sys/net/if.h,v 1.9 2 2004/09/08 04:50:55brooks Exp $30 * $FreeBSD: src/sys/net/if.h,v 1.95 2005/02/25 19:46:41 brooks Exp $ 31 31 */ 32 32 … … 38 38 #define _NET_IF_H_ 39 39 40 /*41 * Structures defining a network interface, providing a packet42 * transport mechanism (ala level 0 of the PUP protocols).43 *44 * Each interface accepts output datagrams of a specified maximum45 * length, and provides higher level routines with input datagrams46 * received from its medium.47 *48 * Output occurs when the routine if_output is called, with three parameters:49 * (*ifp->if_output)(ifp, m, dst, rt)50 * Here m is the mbuf chain to be sent and dst is the destination address.51 * The output routine encapsulates the supplied datagram if necessary,52 * and then transmits it on its medium.53 *54 * On input, each interface unwraps the data received by it, and either55 * places it on the input queue of a internetwork datagram routine56 * and posts the associated software interrupt, or passes the datagram to a raw57 * packet input routine.58 *59 * Routines exist for locating interfaces by their addresses60 * or for locating a interface on a certain network, as well as more general61 * routing and gateway routines maintaining information used to locate62 * interfaces. These routines live in the files if.c and route.c63 */64 65 40 #include <sys/cdefs.h> 66 41 … … 89 64 90 65 struct ifnet; 91 92 /*93 * Forward structure declarations for function prototypes [sic].94 */95 struct mbuf;96 struct proc;97 struct rtentry;98 struct socket;99 66 struct ether_header; 100 67 #endif … … 153 120 }; 154 121 155 /*156 * Structure defining a queue for a network interface.157 */158 struct ifqueue {159 struct mbuf *ifq_head;160 struct mbuf *ifq_tail;161 int ifq_len;162 int ifq_maxlen;163 int ifq_drops;164 };165 166 /*167 * Structure defining a network interface.168 *169 * (Would like to call this struct ``if'', but C isn't PL/1.)170 */171 struct ifnet {172 void *if_softc; /* pointer to driver state */173 char *if_name; /* name, e.g. ``en'' or ``lo'' */174 struct ifnet *if_next; /* all struct ifnets are chained */175 struct ifaddr *if_addrlist; /* linked list of addresses per if */176 int if_pcount; /* number of promiscuous listeners */177 struct bpf_if *if_bpf; /* packet filter structure */178 u_short if_index; /* numeric abbreviation for this if */179 short if_unit; /* sub-unit for lower level driver */180 short if_timer; /* time 'til if_watchdog called */181 short if_flags; /* up/down, broadcast, etc. */182 int if_ipending; /* interrupts pending */183 void *if_linkmib; /* link-type-specific MIB data */184 size_t if_linkmiblen; /* length of above data */185 struct if_data if_data;186 /* procedure handles */187 int (*if_output) /* output routine (enqueue) */188 __P((struct ifnet *, struct mbuf *, struct sockaddr *,189 struct rtentry *));190 void (*if_start) /* initiate output routine */191 __P((struct ifnet *));192 int (*if_done) /* output complete routine */193 __P((struct ifnet *)); /* (XXX not used; fake prototype) */194 int (*if_ioctl) /* ioctl routine */195 __P((struct ifnet *, int, caddr_t));196 void (*if_watchdog) /* timer routine */197 __P((struct ifnet *));198 int (*if_poll_recv) /* polled receive routine */199 __P((struct ifnet *, int *));200 int (*if_poll_xmit) /* polled transmit routine */201 __P((struct ifnet *, int *));202 void (*if_poll_intren) /* polled interrupt reenable routine */203 __P((struct ifnet *));204 void (*if_poll_slowinput) /* input routine for slow devices */205 __P((struct ifnet *, struct mbuf *));206 void (*if_init) /* Init routine */207 __P((void *));208 int (*if_tap) /* Packet filter routine */209 (struct ifnet *, struct ether_header *, struct mbuf *);210 struct ifqueue if_snd; /* output queue */211 struct ifqueue *if_poll_slowq; /* input queue for slow devices */212 };213 typedef void if_init_f_t __P((void *));214 215 #define if_mtu if_data.ifi_mtu216 #define if_type if_data.ifi_type217 #define if_physical if_data.ifi_physical218 #define if_addrlen if_data.ifi_addrlen219 #define if_hdrlen if_data.ifi_hdrlen220 #define if_metric if_data.ifi_metric221 #define if_baudrate if_data.ifi_baudrate222 #define if_ipackets if_data.ifi_ipackets223 #define if_ierrors if_data.ifi_ierrors224 #define if_opackets if_data.ifi_opackets225 #define if_oerrors if_data.ifi_oerrors226 #define if_collisions if_data.ifi_collisions227 #define if_ibytes if_data.ifi_ibytes228 #define if_obytes if_data.ifi_obytes229 #define if_imcasts if_data.ifi_imcasts230 #define if_omcasts if_data.ifi_omcasts231 #define if_iqdrops if_data.ifi_iqdrops232 #define if_noproto if_data.ifi_noproto233 #define if_lastchange if_data.ifi_lastchange234 #define if_recvquota if_data.ifi_recvquota235 #define if_xmitquota if_data.ifi_xmitquota236 #define if_rawoutput(if, m, sa) if_output(if, m, sa, (struct rtentry *)0)237 238 122 #define IFF_UP 0x1 /* interface is up */ 239 123 #define IFF_BROADCAST 0x2 /* broadcast address valid */ … … 265 149 IFF_POLLING) 266 150 267 268 /* 269 * These really don't belong here, but there's no other obviously appropriate 270 * location. 271 */ 272 #define IFP_AUI 0 273 #define IFP_10BASE2 1 274 #define IFP_10BASET 2 275 /* etc. */ 151 /* 152 * Values for if_link_state. 153 */ 154 #define LINK_STATE_UNKNOWN 0 /* link invalid/unknown */ 155 #define LINK_STATE_DOWN 1 /* link is down */ 156 #define LINK_STATE_UP 2 /* link is up */ 157 158 /* 159 * Some convenience macros used for setting ifi_baudrate. 160 * XXX 1000 vs. 1024? --thorpej@netbsd.org 161 */ 162 #define IF_Kbps(x) ((x) * 1000) /* kilobits/sec. */ 163 #define IF_Mbps(x) (IF_Kbps((x) * 1000)) /* megabits/sec. */ 164 #define IF_Gbps(x) (IF_Mbps((x) * 1000)) /* gigabits/sec. */ 276 165 277 166 /* … … 281 170 #define IFI_XMIT 2 /* I want to transmit */ 282 171 283 /*284 * Output queues (ifp->if_snd) and slow device input queues (*ifp->if_slowq)285 * are queues of messages stored on ifqueue structures286 * (defined above). Entries are added to and deleted from these structures287 * by these macros, which should be called with ipl raised to splimp().288 */289 #define IF_QFULL(ifq) ((ifq)->ifq_len >= (ifq)->ifq_maxlen)290 #define IF_DROP(ifq) ((ifq)->ifq_drops++)291 #define IF_ENQUEUE(ifq, m) { \292 /* printf(" IF_ENQUEUE: %p %p\n", ifq, m ); */ \293 (m)->m_nextpkt = 0; \294 if ((ifq)->ifq_tail == 0) \295 (ifq)->ifq_head = m; \296 else \297 (ifq)->ifq_tail->m_nextpkt = m; \298 (ifq)->ifq_tail = m; \299 (ifq)->ifq_len++; \300 }301 #define IF_PREPEND(ifq, m) { \302 /* printf(" IF_PREPEND: %p %p\n", ifq, m ); */ \303 (m)->m_nextpkt = (ifq)->ifq_head; \304 if ((ifq)->ifq_tail == 0) \305 (ifq)->ifq_tail = (m); \306 (ifq)->ifq_head = (m); \307 (ifq)->ifq_len++; \308 }309 #define IF_DEQUEUE(ifq, m) { \310 (m) = (ifq)->ifq_head; \311 if (m) { \312 /* printf(" IF_DEQUEUE: %p %p\n", ifq, m ); */ \313 if (((ifq)->ifq_head = (m)->m_nextpkt) == 0) \314 (ifq)->ifq_tail = 0; \315 (m)->m_nextpkt = 0; \316 (ifq)->ifq_len--; \317 } \318 }319 320 #ifdef _KERNEL321 #define IF_ENQ_DROP(ifq, m) if_enq_drop(ifq, m)322 323 #if defined(__GNUC__) && defined(MT_HEADER)324 static inline int325 if_queue_drop(struct ifqueue *ifq, struct mbuf *m)326 {327 IF_DROP(ifq);328 return 0;329 }330 331 static inline int332 if_enq_drop(struct ifqueue *ifq, struct mbuf *m)333 {334 if (IF_QFULL(ifq) &&335 !if_queue_drop(ifq, m))336 return 0;337 IF_ENQUEUE(ifq, m);338 return 1;339 }340 #else341 342 #ifdef MT_HEADER343 int if_enq_drop __P((struct ifqueue *, struct mbuf *));344 #endif345 346 #endif347 #endif /* _KERNEL */348 349 172 #define IFQ_MAXLEN 50 350 173 #define IFNET_SLOWHZ 1 /* granularity is 1 second */ 351 352 /*353 * The ifaddr structure contains information about one address354 * of an interface. They are maintained by the different address families,355 * are allocated and attached when an address is set, and are linked356 * together so all addresses for an interface can be located.357 */358 struct ifaddr {359 struct sockaddr *ifa_addr; /* address of interface */360 struct sockaddr *ifa_dstaddr; /* other end of p-to-p link */361 #define ifa_broadaddr ifa_dstaddr /* broadcast address interface */362 struct sockaddr *ifa_netmask; /* used to determine subnet */363 struct ifnet *ifa_ifp; /* back-pointer to interface */364 struct ifaddr *ifa_next; /* next address for interface */365 void (*ifa_rtrequest) /* check or clean routes (+ or -)'d */366 __P((int, struct rtentry *, struct sockaddr *));367 u_short ifa_flags; /* mostly rt_flags for cloning */368 short ifa_refcnt; /* references to this structure */369 int ifa_metric; /* cost of going out this interface */370 #ifdef notdef371 struct rtentry *ifa_rt; /* XXXX for ROUTETOIF ????? */372 #endif373 int (*ifa_claim_addr) /* check if an addr goes to this if */374 __P((struct ifaddr *, struct sockaddr *));375 376 };377 #define IFA_ROUTE RTF_UP /* route installed */378 174 379 175 /* … … 484 280 #endif /* __BSD_VISIBLE */ 485 281 486 #include <net/if_arp.h>487 488 282 #ifdef _KERNEL 489 #define IFAFREE(ifa) \ 490 if ((ifa)->ifa_refcnt <= 0) \ 491 ifafree(ifa); \ 492 else \ 493 (ifa)->ifa_refcnt--; 494 495 extern struct ifnet *ifnet; 496 extern int ifqmaxlen; 497 extern struct ifnet loif[]; 498 extern int if_index; 499 extern struct ifaddr **ifnet_addrs; 500 501 void ether_ifattach __P((struct ifnet *)); 502 void ether_input __P((struct ifnet *, struct ether_header *, struct mbuf *)); 503 int ether_output __P((struct ifnet *, 504 struct mbuf *, struct sockaddr *, struct rtentry *)); 505 int ether_ioctl __P((struct ifnet *, int , caddr_t )); 506 507 void if_attach(struct ifnet *); 508 void if_down(struct ifnet *); 509 void if_up(struct ifnet *); 510 511 /*void ifinit __P((void));*/ /* declared in systm.h for main() */ 512 int ifioctl(struct socket *, int, caddr_t, struct proc *); 513 int ifpromisc(struct ifnet *, int); 514 515 struct ifaddr *ifa_ifwithaddr(struct sockaddr *); 516 struct ifaddr *ifa_ifwithdstaddr(struct sockaddr *); 517 struct ifaddr *ifa_ifwithnet(struct sockaddr *); 518 struct ifaddr *ifa_ifwithroute(int, struct sockaddr *, 519 struct sockaddr *); 520 struct ifaddr *ifaof_ifpforaddr __P((struct sockaddr *, struct ifnet *)); 283 284 /* XXX - this should go away soon. */ 285 #include <net/if_var.h> 286 521 287 void ifafree __P((struct ifaddr *)); 522 288 523 289 int looutput __P((struct ifnet *, 524 290 struct mbuf *, struct sockaddr *, struct rtentry *)); 525 #endif /* _KERNEL */291 #endif 526 292 527 293 #endif /* !_NET_IF_H_ */ -
cpukit/libnetworking/net/if_loop.c
r0383873 r88d99508 28 28 * 29 29 * @(#)if_loop.c 8.2 (Berkeley) 1/9/95 30 * $FreeBSD: src/sys/net/if_loop.c,v 1.10 2 2004/08/27 18:33:07 andreExp $30 * $FreeBSD: src/sys/net/if_loop.c,v 1.104 2005/02/24 01:34:01 sam Exp $ 31 31 */ 32 32 … … 84 84 #include <netatalk/at.h> 85 85 #include <netatalk/at_var.h> 86 #endif /* NETATALK */ 87 88 #include "bpfilter.h" 89 90 static int loioctl __P((struct ifnet *, int, caddr_t)); 91 static void lortrequest __P((int, struct rtentry *, struct sockaddr *)); 92 93 void rtems_bsdnet_loopattach __P((void *)); 86 #endif 87 88 static int loioctl(struct ifnet *, u_long, caddr_t); 89 static void lortrequest(int, struct rtentry *, struct sockaddr *); 90 91 void rtems_bsdnet_loopattach(void *); 94 92 PSEUDO_SET(loopattach, if_loop); 95 93 … … 247 245 loioctl(ifp, cmd, data) 248 246 register struct ifnet *ifp; 249 intcmd;247 u_long cmd; 250 248 caddr_t data; 251 249 { … … 277 275 break; 278 276 #endif 277 #ifdef INET6 278 case AF_INET6: 279 break; 280 #endif 279 281 280 282 default: … … 288 290 break; 289 291 292 case SIOCSIFFLAGS: 293 break; 294 290 295 default: 291 296 error = EINVAL; -
cpukit/libnetworking/net/if_ppp.c
r0383873 r88d99508 128 128 #endif 129 129 130 static int pppsioctl(struct ifnet * , int, caddr_t);130 static int pppsioctl(struct ifnet *ifp, u_long cmd, caddr_t data); 131 131 static void ppp_requeue(struct ppp_softc *); 132 132 #ifdef PPP_COMPRESS … … 834 834 */ 835 835 static int 836 pppsioctl(ifp, cmd, data) 837 register struct ifnet *ifp; 838 int cmd; 839 caddr_t data; 836 pppsioctl(struct ifnet *ifp, u_long cmd, caddr_t data) 840 837 { 841 838 /*struct proc *p = curproc;*/ /* XXX */ -
cpukit/libnetworking/net/if_types.h
r0383873 r88d99508 11 11 * notice, this list of conditions and the following disclaimer in the 12 12 * documentation and/or other materials provided with the distribution. 13 * 3. All advertising materials mentioning features or use of this software14 * must display the following acknowledgement:15 * This product includes software developed by the University of16 * California, Berkeley and its contributors.17 13 * 4. Neither the name of the University nor the names of its contributors 18 14 * may be used to endorse or promote products derived from this software … … 31 27 * SUCH DAMAGE. 32 28 * 33 * @(#)if_types.h 8.2 (Berkeley) 4/20/94 29 * @(#)if_types.h 8.3 (Berkeley) 4/28/95 30 * $FreeBSD: src/sys/net/if_types.h,v 1.18 2005/02/22 13:04:03 glebius Exp $ 31 * $NetBSD: if_types.h,v 1.16 2000/04/19 06:30:53 itojun Exp $ 32 */ 33 34 /* 34 35 * $Id$ 35 36 */ … … 40 41 /* 41 42 * Interface types for benefit of parsing media address headers. 42 * This list is derived from the SNMP list of ifTypes, currently 43 * documented in RFC1573. 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 44 47 */ 45 48 … … 49 52 #define IFT_X25DDN 0x4 /* x25 to imp */ 50 53 #define IFT_X25 0x5 /* PDN X25 interface (RFC877) */ 51 #define IFT_ETHER 0x6 /* Ethernet CSMA CD */52 #define IFT_ISO88023 0x7 /* CMSA 54 #define IFT_ETHER 0x6 /* Ethernet CSMA/CD */ 55 #define IFT_ISO88023 0x7 /* CMSA/CD */ 53 56 #define IFT_ISO88024 0x8 /* Token Bus */ 54 57 #define IFT_ISO88025 0x9 /* Token Ring */ … … 98 101 #define IFT_PROPVIRTUAL 0x35 /* Proprietary Virtual/internal */ 99 102 #define IFT_PROPMUX 0x36 /* Proprietary Multiplexing */ 100 101 #endif 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 #define IFT_TUNNEL 0x83 /* Encapsulation interface */ 180 #define IFT_COFFEE 0x84 /* coffee pot */ 181 #define IFT_CES 0x85 /* Circiut Emulation Service */ 182 #define IFT_ATMSUBINTERFACE 0x86 /* (x) ATM Sub Interface */ 183 #define IFT_L2VLAN 0x87 /* Layer 2 Virtual LAN using 802.1Q */ 184 #define IFT_L3IPVLAN 0x88 /* Layer 3 Virtual LAN - IP Protocol */ 185 #define IFT_L3IPXVLAN 0x89 /* Layer 3 Virtual LAN - IPX Prot. */ 186 #define IFT_DIGITALPOWERLINE 0x8a /* IP over Power Lines */ 187 #define IFT_MEDIAMAILOVERIP 0x8b /* (xxx) Multimedia Mail over IP */ 188 #define IFT_DTM 0x8c /* Dynamic synchronous Transfer Mode */ 189 #define IFT_DCN 0x8d /* Data Communications Network */ 190 #define IFT_IPFORWARD 0x8e /* IP Forwarding Interface */ 191 #define IFT_MSDSL 0x8f /* Multi-rate Symmetric DSL */ 192 #define IFT_IEEE1394 0x90 /* IEEE1394 High Performance SerialBus*/ 193 #define IFT_IFGSN 0x91 /* HIPPI-6400 */ 194 #define IFT_DVBRCCMACLAYER 0x92 /* DVB-RCC MAC Layer */ 195 #define IFT_DVBRCCDOWNSTREAM 0x93 /* DVB-RCC Downstream Channel */ 196 #define IFT_DVBRCCUPSTREAM 0x94 /* DVB-RCC Upstream Channel */ 197 #define IFT_ATMVIRTUAL 0x95 /* ATM Virtual Interface */ 198 #define IFT_MPLSTUNNEL 0x96 /* MPLS Tunnel Virtual Interface */ 199 #define IFT_SRP 0x97 /* Spatial Reuse Protocol */ 200 #define IFT_VOICEOVERATM 0x98 /* Voice over ATM */ 201 #define IFT_VOICEOVERFRAMERELAY 0x99 /* Voice Over Frame Relay */ 202 #define IFT_IDSL 0x9a /* Digital Subscriber Loop over ISDN */ 203 #define IFT_COMPOSITELINK 0x9b /* Avici Composite Link Interface */ 204 #define IFT_SS7SIGLINK 0x9c /* SS7 Signaling Link */ 205 #define IFT_PROPWIRELESSP2P 0x9d /* Prop. P2P wireless interface */ 206 #define IFT_FRFORWARD 0x9e /* Frame forward Interface */ 207 #define IFT_RFC1483 0x9f /* Multiprotocol over ATM AAL5 */ 208 #define IFT_USB 0xa0 /* USB Interface */ 209 #define IFT_IEEE8023ADLAG 0xa1 /* IEEE 802.3ad Link Aggregate*/ 210 #define IFT_BGPPOLICYACCOUNTING 0xa2 /* BGP Policy Accounting */ 211 #define IFT_FRF16MFRBUNDLE 0xa3 /* FRF.16 Multilik Frame Relay*/ 212 #define IFT_H323GATEKEEPER 0xa4 /* H323 Gatekeeper */ 213 #define IFT_H323PROXY 0xa5 /* H323 Voice and Video Proxy */ 214 #define IFT_MPLS 0xa6 /* MPLS */ 215 #define IFT_MFSIGLINK 0xa7 /* Multi-frequency signaling link */ 216 #define IFT_HDSL2 0xa8 /* High Bit-Rate DSL, 2nd gen. */ 217 #define IFT_SHDSL 0xa9 /* Multirate HDSL2 */ 218 #define IFT_DS1FDL 0xaa /* Facility Data Link (4Kbps) on a DS1*/ 219 #define IFT_POS 0xab /* Packet over SONET/SDH Interface */ 220 #define IFT_DVBASILN 0xac /* DVB-ASI Input */ 221 #define IFT_DVBASIOUT 0xad /* DVB-ASI Output */ 222 #define IFT_PLC 0xae /* Power Line Communications */ 223 #define IFT_NFAS 0xaf /* Non-Facility Associated Signaling */ 224 #define IFT_TR008 0xb0 /* TROO8 */ 225 #define IFT_GR303RDT 0xb1 /* Remote Digital Terminal */ 226 #define IFT_GR303IDT 0xb2 /* Integrated Digital Terminal */ 227 #define IFT_ISUP 0xb3 /* ISUP */ 228 #define IFT_PROPDOCSWIRELESSMACLAYER 0xb4 /* prop/Wireless MAC Layer */ 229 #define IFT_PROPDOCSWIRELESSDOWNSTREAM 0xb5 /* prop/Wireless Downstream */ 230 #define IFT_PROPDOCSWIRELESSUPSTREAM 0xb6 /* prop/Wireless Upstream */ 231 #define IFT_HIPERLAN2 0xb7 /* HIPERLAN Type 2 Radio Interface */ 232 #define IFT_PROPBWAP2MP 0xb8 /* PropBroadbandWirelessAccess P2MP*/ 233 #define IFT_SONETOVERHEADCHANNEL 0xb9 /* SONET Overhead Channel */ 234 #define IFT_DIGITALWRAPPEROVERHEADCHANNEL 0xba /* Digital Wrapper Overhead */ 235 #define IFT_AAL2 0xbb /* ATM adaptation layer 2 */ 236 #define IFT_RADIOMAC 0xbc /* MAC layer over radio links */ 237 #define IFT_ATMRADIO 0xbd /* ATM over radio links */ 238 #define IFT_IMT 0xbe /* Inter-Machine Trunks */ 239 #define IFT_MVL 0xbf /* Multiple Virtual Lines DSL */ 240 #define IFT_REACHDSL 0xc0 /* Long Reach DSL */ 241 #define IFT_FRDLCIENDPT 0xc1 /* Frame Relay DLCI End Point */ 242 #define IFT_ATMVCIENDPT 0xc2 /* ATM VCI End Point */ 243 #define IFT_OPTICALCHANNEL 0xc3 /* Optical Channel */ 244 #define IFT_OPTICALTRANSPORT 0xc4 /* Optical Transport */ 245 246 #define IFT_STF 0xd7 /* 6to4 interface */ 247 248 /* not based on IANA assignments */ 249 #define IFT_GIF 0xf0 250 #define IFT_PVC 0xf1 251 #define IFT_FAITH 0xf2 252 #define IFT_PFLOG 0xf6 253 #define IFT_PFSYNC 0xf7 254 #define IFT_CARP 0xf8 /* Common Address Redundancy Protocol */ 255 #endif /* !_NET_IF_TYPES_H_ */
Note: See TracChangeset
for help on using the changeset viewer.