NAME
ifmedia
—
network interface media
settings
SYNOPSIS
#include
<sys/socket.h>
#include <net/if.h>
#include <net/if_media.h>
DESCRIPTION
The ifmedia
interface provides a
consistent method for querying and setting network interface media and media
options. The media is typically set using the
ifconfig(8) command.
Currently these link types are supported by
ifmedia
:
IFM_ETHER
- Ethernet
IFM_FDDI
- FDDI
IFM_IEEE80211
- IEEE802.11 Wireless LAN
IFM_TDM
- Time Division Multiplex
IFM_CARP
- CARP
The following sections describe the possible media settings for each link type. Not all of these are supported by every device; refer to your device's manual page for more information.
The lists below provide the possible names of each media type or option. The first name in the list is the canonical name of the media type or option. Additional names are acceptable aliases for the media type or option.
COMMON MEDIA TYPES AND OPTIONS
The following media types are shared by all link types:
IFM_AUTO
- Autoselect the best media. [autoselect, auto]
IFM_MANUAL
- Jumper or switch on device selects media. [manual]
IFM_NONE
- Deselect all media. [none]
The following media options are shared by all link types:
IFM_FDX
- Place the device into full-duplex mode. This option only has meaning if the device is normally not full-duplex.
IFM_HDX
- Place the device into half-duplex mode. This option only has meaning if the device is normally not half-duplex. [half-duplex, hdx]
IFM_FLOW
- Enable hardware flow control on device.
IFM_FLAG0
- Driver-defined flag. [flag0]
IFM_FLAG1
- Driver-defined flag. [flag1]
IFM_FLAG2
- Driver-defined flag. [flag2]
IFM_LOOP
- Place the device into hardware loopback mode. [loopback, hw-loopback, loop]
MEDIA TYPES AND OPTIONS FOR ETHERNET
The following media types are defined for Ethernet:
IFM_10_T
- 10BASE-T, 10Mb/s over unshielded twisted pair, RJ45 connector. [10baseT, UTP, 10UTP]
IFM_10_2
- 10BASE2, 10Mb/s over coaxial cable, BNC connector; also called Thinnet. [10base2, BNC, 10BNC]
IFM_10_5
- 10BASE5, 10Mb/s over 15-wire cables, DB15 connector; also called AUI. [10base5, AUI, 10AUI]
IFM_10_STP
- 10BASE-STP, 10Mb/s over shielded twisted pair, DB9 connector. [10baseSTP, STP, 10STP]
IFM_10_FL
- 10BASE-FL, 10Mb/s over fiber optic cables. [10baseFL, FL, 10FL]
IFM_100_TX
- 100BASE-TX, 100Mb/s over unshielded twisted pair, RJ45 connector. [100baseTX, 100TX]
IFM_100_FX
- 100BASE-FX, 100Mb/s over fiber optic cables. [100baseFX, 100FX]
IFM_100_T4
- 100BASE-T4, 100Mb/s over 4-wire (category 3) unshielded twisted pair, RJ45 connector. [100baseT4, 100T4]
IFM_100_T2
- 100BASE-T2. [100baseT2, 100T2]
IFM_100_VG
- 100VG-AnyLAN. [100baseVG, 100VG]
IFM_1000_SX
- 1000BASE-SX, 1Gb/s over multi-mode fiber optic cables. [1000baseSX, 1000SX]
IFM_1000_LX
- 1000BASE-LX, 1Gb/s over single-mode fiber optic cables. [1000baseLX, 1000LX]
IFM_1000_CX
- 1000BASE-CX, 1Gb/s over shielded twisted pair. [1000baseCX, 1000CX]
IFM_1000_T
- 1000BASE-T, 1Gb/s over category 5 unshielded twisted pair, RJ45 connector. [1000baseT, 1000T]
IFM_1000_TX
- Compatibility for 1000BASE-T. [1000baseTX, 1000TX]
IFM_2500_SX
- 2500BASE-SX, 2.5Gb/s over multi-mode fiber optic cables. [2500baseSX, 2500SX]
IFM_10G_CX4
- 10GBASE-CX4, 10Gb/s over XAUI 4-lane PCS and copper cables. [10GbaseCX4, 10GCX4, 10GBASE-CX4]
IFM_10G_LR
- 10GBASE-LR, 10Gb/s over single-mode fiber optic cables. [10GbaseLR, 10GLR, 10GBASE-LR]
IFM_10G_SFP_CU
- 10GSFP+Cu, 10Gb/s over SFP+ Direct Attach cables. [10GSFP+Cu, 10GCu]
IFM_10G_SR
- 10GBASE-SR, 10Gb/s over multi-mode fiber optic cables. [10GbaseSR, 10GSR, 10GBASE-SR]
IFM_10G_T
- 10GBASE-T, 10Gb/s over unshielded twisted pair, RJ45 connector. [10GbaseT, 10GT, 10GBASE-T]
IFM_HPNA_1
- HomePNA 1.0, 1Mb/s over 2-wire (category 3) unshielded twisted pair [HomePNA1, HPNA1]
The following media options are defined for Ethernet:
IFM_ETH_MASTER
- Configure a 1000BASE-T PHY as a MASTER PHY.
IFM_ETH_RXPAUSE
- Receive flow control is enabled on the 1000BASE-T PHY.
IFM_ETH_TXPAUSE
- Transmit flow control is enabled on the 1000BASE-T PHY.
MEDIA TYPES AND OPTIONS FOR FDDI
The following media types are defined for FDDI:
IFM_FDDI_SMF
- Single-mode fiber. [Single-mode, SMF]
IFM_FDDI_MMF
- Multi-mode fiber. [Multi-mode, MMF]
IFM_FDDI_UTP
- Unshielded twisted pair, RJ45 connector. [UTP, CDDI]
The following media options are defined for FDDI:
IFM_FDDI_DA
- Dual-attached station vs. Single-attached station. [dual-attach, das]
MEDIA TYPES AND OPTIONS FOR IEEE802.11 WIRELESS LAN
The following media types are defined for IEEE802.11 Wireless LAN:
IFM_IEEE80211_FH1
- Frequency Hopping 1Mbps. [FH1]
IFM_IEEE80211_FH2
- Frequency Hopping 2Mbps. [FH2]
IFM_IEEE80211_DS1
- Direct Sequence 1Mbps. [DS1]
IFM_IEEE80211_DS2
- Direct Sequence 2Mbps. [DS2]
IFM_IEEE80211_DS5
- Direct Sequence 5.5Mbps. [DS5]
IFM_IEEE80211_DS11
- Direct Sequence 11Mbps. [DS11]
IFM_IEEE80211_DS22
- Direct Sequence 22Mbps. [DS22]
IFM_IEEE80211_OFDM6
- Orthogonal Frequency Division Multiplexing (OFDM) 6Mbps. [OFDM6]
IFM_IEEE80211_OFDM9
- OFDM 9Mbps. [OFDM9]
IFM_IEEE80211_OFDM12
- OFDM 12Mbps. [OFDM12]
IFM_IEEE80211_OFDM18
- OFDM 18Mbps. [OFDM18]
IFM_IEEE80211_OFDM24
- OFDM 24Mbps. [OFDM24]
IFM_IEEE80211_OFDM36
- OFDM 36Mbps. [OFDM36]
IFM_IEEE80211_OFDM48
- OFDM 48Mbps. [OFDM48]
IFM_IEEE80211_OFDM54
- OFDM 54Mbps. [OFDM54]
IFM_IEEE80211_OFDM72
- OFDM 72Mbps. [OFDM72]
The following media options are defined for IEEE802.11 Wireless LAN:
IFM_IEEE80211_ADHOC
- Ad-hoc mode. [adhoc]
IFM_IEEE80211_HOSTAP
- Host Access Point mode. [hostap]
IFM_IEEE80211_IBSS
- IBSS mode. [ibss]
IFM_IEEE80211_IBSSMASTER
- IBSS master mode. [ibssmaster]
IFM_IEEE80211_MONITOR
- Monitor mode. [monitor]
IFM_IEEE80211_TURBO
- Turbo mode. [turbo]
The following media modes are defined for IEEE802.11 Wireless LAN:
IFM_IEEE80211_11A
- 5Ghz, OFDM mode. [11a]
IFM_IEEE80211_11B
- 2GHz, Direct Sequence mode. [11b]
IFM_IEEE80211_11G
- 2GHz, CCK mode. [11g]
IFM_IEEE80211_FH
- 2GHz, GFSK mode. [fh]
The channels detailed below are defined for IEEE802.11 Wireless LAN. The list of available frequencies is dependent on radio regulations specified by regional authorities. Recognized regulatory authorities include the FCC (United States), ETSI (Europe), France, and Japan. Frequencies in the table are specified in MHz.
Channel | FCC | ETSI | France | Japan |
1 | 2412 | 2412 | - | 2412 |
2 | 2417 | 2417 | - | 2417 |
3 | 2422 | 2422 | - | 2422 |
4 | 2427 | 2427 | - | 2427 |
5 | 2432 | 2432 | - | 2432 |
6 | 2437 | 2437 | - | 2437 |
7 | 2442 | 2442 | - | 2442 |
8 | 2447 | 2447 | - | 2447 |
9 | 2452 | 2452 | - | 2452 |
10 | 2457 | 2457 | 2457 | 2457 |
11 | 2462 | 2462 | 2462 | 2462 |
12 | - | 2467 | 2467 | 2467 |
13 | - | 2472 | 2472 | 2472 |
14 | - | - | - | 2484 |
Note that the channels do overlap; the bandwidth required for each channel is about 20MHz. When using multiple channels in close proximity it is suggested that channels be separated by at least 25MHz. In the US, this means that only channels 1, 6, and 11 may be used simultaneously without interference.
MEDIA TYPES AND OPTIONS FOR TDM
The following media types are defined for TDM:
IFM_TDM_E1
- E1, 2048kb/s HDB3 encoded, G.703 clearchannel serial line. [e1]
IFM_TDM_E1_AMI
- E1, 2048kb/s AMI encoded, G.703 clearchannel serial line. [e1-ami]
IFM_TDM_E1_AMI_G704
- E1, 2048kb/s AMI encoded, G.704 structured serial line. [e1-ami-g.704]
IFM_TDM_E1_G704
- E1, 2048kb/s HDB3 encoded, G.704 structured serial line. [e1-g.704]
IFM_TDM_E1_G704_CRC4
- E1, 2048kb/s HDB3 encoded, G.704 structured serial line with CRC4 checksum. [e1-g.704-crc4]
IFM_TDM_E3
- E3, 34368kb/s HDB3 encoded, G.703 clearchannel serial line. [e3]
IFM_TDM_E3_G751
- E3, 34368kb/s HDB3 encoded, G.751 structured serial line. [e3-g.751]
IFM_TDM_E3_G832
- E3, 34368kb/s HDB3 encoded, G.832 structured serial line. [e3-g.832]
IFM_TDM_T1
- T1, 1536xkb/s B8ZS encoded, extended super frame (ESF) structured serial line. [t1]
IFM_TDM_T1_AMI
- T1, 1536kb/s AMI encoded, super frame (SF) structured serial line. [t1-ami]
IFM_TDM_T3
- T3, 44736kb/s B3ZS, C-bit structured serial line. [t3]
IFM_TDM_T3_M13
- T3, 44736kb/s B3ZS, M13 structured serial line. [t3-m13]
The following media options are defined for TDM:
IFM_TDM_HDLC_CRC16
- Cisco HDLC with 16-bit CRC checksum encoding. [hdlc-crc16]
IFM_TDM_FR_ANSI
- ANSI/ITU Framerelay encoding. [framerelay-ansi, framerelay-itu]
IFM_TDM_FR_CISCO
- Cisco Framerelay encoding. [framerelay-cisco]
IFM_TDM_PPP
- PPP encoding. [ppp]
By default TDM interfaces will use Cisco HDLC encoding with a 32-bit CRC checksum.
The following media modes are defined for TDM:
IFM_TDM_MASTER
- Use local clock source as master clock. [master]
MEDIA TYPES AND OPTIONS FOR CARP
carp(4) does not support any media types or options.
SEE ALSO
HISTORY
The ifmedia
interface first appeared in
BSD/OS 3.0. The implementation that appeared in
NetBSD 1.3 was written by Jonathan Stone and Jason
R. Thorpe to be compatible with the BSDI API. It has since gone through
several revisions which have extended the API while maintaining backwards
compatibility with the original API.
Support for the IEEE802.11 Wireless LAN link type was added in NetBSD 1.5.
Host AP mode was added in OpenBSD 3.1.