IFMEDIA(4) | Device Drivers Manual | IFMEDIA(4)

# 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_2500_T`
  2500BASE-T, 2.5Gb/s over unshielded twisted pair, RJ45 connector. [2500baseT, 2500BASE-T]
`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 modes are defined for IEEE802.11 Wireless LAN:

`IFM_IEEE80211_11A`
  5GHz, OFDM mode. [11a]
`IFM_IEEE80211_11B`
  2GHz, DSSS/CCK mode. [11b]
`IFM_IEEE80211_11G`
  2GHz, DSSS/CCK/OFDM mode. [11g]
`IFM_IEEE80211_FH`
  2GHz, GFSK mode. [fh]
`IFM_IEEE80211_11N`
  2GHz/5GHz, HT mode. [11n]
`IFM_IEEE80211_11AC`
  5GHz, VHT mode. [11ac]

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]

All of the above media options are mutually exclusive. If no media option is used, the wireless interface will try to find an access point to connect to. `hostap` mode allows the wireless interface to act as an access point for other 802.11 devices. `ibss` mode is the standardized method of operating without an access point, with each participating device taking on part of the role of an access point. `adhoc` mode, more accurately known as ad-hoc demo mode, is not specified by the IEEE 802.11 standard and only works with wi(4) devices. Likewise, `ibssmaster` mode only works with wi(4) devices. On standard 802.11 networks the IBSS master role is assigned automatically.

The channels detailed below are defined for IEEE802.11 Wireless LAN in the 2.4GHz band. The list of available frequencies is dependent on radio regulations specified by regional authorities. Recognized regulatory authorities include the FCC (United States), ETSI (Europe), and Japan. Frequencies in the table are specified in MHz.

Channel | FCC | ETSI | 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
11 | 2462 | 2462 | 2462
12 | - | 2467 | 2467
13 | - | 2472 | 2472
14 | - | - | 2484

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.

Channels in the 5GHz band are too numerous to list here. Regulation of their use, particularly outdoors, varies between countries. Users are advised to inform themselves about applicable regulations before configuring wireless LAN devices for use in the 5GHz band.

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]

The above media types were first introduced in the IEEE 802.11-1997 standard and are used in the 2.4GHz band only. Frequency Hopping Spread Spectrum modulation is incompatible with modern 802.11 networks. Direct Sequence Spread Spectrum modulation (DSSS) frames can still be used if backwards compatibility to 802.11b is enabled.

`IFM_IEEE80211_DS5`
  Direct Sequence 5.5Mbps. [DS5]
`IFM_IEEE80211_DS11`
  Direct Sequence 11Mbps. [DS11]
`IFM_IEEE80211_DS22`
  Direct Sequence 22Mbps. [DS22]

The above media types were first introduced in the IEEE 802.11b-1999 standard and are used in the 2.4GHz band only. They use Complementary Code Keying (CCK) which, compared to frames sent at 1Mbps or 2Mbps, reduces the possible distance between transmitter and receiver.

Modern 802.11 networks remain compatible with 802.11b, even though DSSS frames are incompatible with modern 802.11 frames using OFDM. Co-existence with 802.11b requires OFDM transmitters to either risk frame collisions or “reserve” the medium with a separate preceding transmission that DSSS receivers are able to decode. This causes additional overhead which some 802.11 deployments avoid by deliberately disabling backwards compatibility with 802.11b.

`IFM_IEEE80211_OFDM6`
  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 above media types were first introduced in the IEEE 802.11a-1999 standard for the 5GHz band, and in the IEEE 802.11g-2003 standard for the 2.4GHz band. OFDM with 72Mbps is a proprietary extension and was never standardized by IEEE.

Orthogonal Frequency Division Multiplexing (OFDM) is the current standard modulation technique for 802.11. Each 20MHz channel used by 802.11a and 802.11g provides space for 48 OFDM sub-carriers for data. The sub-carriers use BPSK, QPSK, 16QAM, or 64QAM modulation, combined with a particular coding rate for error correction at the receiver. The coding rate specifies how many data bits in a frame are transmitted without redundancy.

Modulation | Coding Rate | Mbit/s
BPSK | 1/2 | 6
BPSK | 3/4 | 9
QPSK | 1/2 | 12
QPSK | 3/4 | 18
16QAM | 1/2 | 24
16QAM | 3/4 | 36
64QAM | 1/2 | 48
64QAM | 3/4 | 52

The IEEE 802.11n-2009 standard for “High Throughput” (HT) wireless LAN defines additional sub-carriers, modulations, and coding rates. The channel bandwidth for data frame transmissions was optionally extended to 40MHz, with full backwards compatibility to 802.11a/b/g devices which cannot decode 40MHz transmissions. Several additional features were introduced, most notably MIMO (multiple-input, multiple-output). With MIMO, a data stream is divided across up to 4 “spatial streams”, which are transmitted in parallel by a corresponding amount of antennas. Each spatial stream is received with a dedicated antenna, and the spatial streams are de-multiplexed to obtain the original data stream.

802.11n assigns a numeric identifier to all possible combinations of modulation, coding rate, and number of spatial streams. This results in 77 distinct modulation and coding schemes, abbreviated as “MCS”.

`ifmedia` supports HT_MCS0 up to HT_MCS31:

`IFM_IEEE80211_HT_MCSx`
  HT OFDM MCS x (where x is in the range 0 - 31, inclusive). [HT-MCSx]

In practice, only MCS-0 to MCS-32 are supported by commonly available devices. The remaining MCS define combinations where distinct spatial streams employ distinct modulations, a feature which was not widely implemented by hardware vendors.

The IEEE 802.11ac-2013 standard for “Very High Throughput” (VHT) wireless LAN operates in the 5GHz band only. The channel bandwidth for data frame transmissions can be up to 160MHz wide. The MCS identifiers were redefined and vastly reduced in number. As a result, only VHT_MCS0 to VHT_MCS9 are defined for 802.11ac:

`IFM_IEEE80211_VHT_MCSx`
  VHT OFDM MCS x (where x is in the range 0 - 9, inclusive). [VHT-MCSx]

The number of spatial streams is no longer associated with a given VHT MCS identifier and must be specified as a separate “NSS” parameter. This parameter is not yet implemented by `ifmedia`.

# 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

netintro(4), ifconfig(8)

# 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.

August 15, 2023 | Debian