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.

There are currently four link types supported by `ifmedia`:

`IFM_ETHER`
  Ethernet
`IFM_TOKEN`
  Token Ring
`IFM_FDDI`
  FDDI
`IFM_IEEE80211`
  IEEE802.11 Wireless LAN

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. [full-duplex, fdx]
`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`
  Hardware flow control support. [flowcontrol, flow]
`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_HPNA_1`
  HomePNA 1.0, 1Mb/s. [HomePNA1, HPNA1]
`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. (short waves) [1000baseSX, 1000SX]
`IFM_1000_LX`
  1000BASE-LX, 1Gb/s over single-mode fiber or multi-mode fiber optic cables. (long waves) [1000baseLX, 1000LX]
`IFM_1000_BX10`
  1000BASE-BX10, 1Gb/s over bidirectional fiber optic cables. (long waves) [1000BASE-BX10]
`IFM_1000_CX`
  1000BASE-CX, 1Gb/s over shielded twisted pair. (twinax) [1000baseCX, 1000CX]
`IFM_1000_T`
  1000BASE-T, 1Gb/s over category 5 unshielded twisted pair, 802.3ab, RJ45 connector. [1000baseT, 1000T]
`IFM_1000_KX`
  1000BASE-KX, 1Gb/s backplane. [1000BASE-KX, 1000baseKX]
`IFM_2500_SX`
  2500BASE-SX, 2.5Gb/s over multi-mode fiber optic cables. [2500baseSX, 2500SX]
`IFM_2500_T`
  2.5GBASE-T, 2.5Gb/s over category 5e. [2.5GBASE-T, 2500baseT]
`IFM_2500_KX`
  2500BASE-KX, 2.5Gb/s backplane. [2500BASE-KX, 2500baseKX]
`IFM_5000_T`
  5GBASE-T, 5Gb/s over category 6. [5GBASE-T, 5GbaseT]
`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]
`IFM_10G_LRM`
  10GBASE-LR, 10Gb/s over single-mode fiber optic cables. [10GbaseLRM]
`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. [10Gbase-T]
`IFM_10G_TWINAX`
  SFP+ direct attach, 10Gb/s over twinaxial cable. [10Gbase-Twinax]

The following media option is defined for Ethernet:

`IFM_ETH_MASTER`
  Configure a 1000BASE-T PHY as the clock master for a 1000BASE-T link. This option has no effect (shows current status only) if the media is `IFM_AUTO`.
`IFM_ETH_TXPAUSE`
  Configure the device to send PAUSE (flow control) frames. This option has no effect (shows current status only) if the media is `IFM_AUTO`.
`IFM_ETH_RXPAUSE`
  Configure the device to receive PAUSE (flow control) frames. This option has no effect (shows current status only) if the media is `IFM_AUTO`.

# MEDIA TYPES AND OPTIONS FOR TOKEN RING

The following media types are defined for Token Ring:

`IFM_TOK_STP4`
  4Mb/s, shielded twisted pair, DB9 connector. [DB9/4Mbit, 4STP]
`IFM_TOK_STP16`
  16Mb/s, shielded twisted pair, DB9 connector. [DB9/16Mbit, 16STP]
`IFM_TOK_UTP4`
  4Mb/s, unshielded twisted pair, RJ45 connector. [UTP/4Mbit, 4UTP]
`IFM_TOK_UTP16`
  16Mb/s, unshielded twisted pair, RJ45 connector. [UTP/16Mbit, 16UTP]

The following media options are defined for Token Ring:

`IFM_TOK_ETR`
  Early token release. [EarlyTokenRelease, ETR]
`IFM_TOK_SRCRT`
  Enable source routing features. [SourceRouting, SRCRT]
`IFM_TOK_ALLR`
  All routes vs. single route broadcast. [AllRoutes, ALLR]

# 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 5Mbps. [DS5]
`IFM_IEEE80211_DS11`
  Direct Sequence 11Mbps. [DS11]
`IFM_IEEE80211_DS22`
  Direct Sequence 22Mbps. [DS22]
`IFM_IEEE80211_OFDM6`
  Orthogonal Frequency Division Multiplexing 6Mbps. [OFDM6]
`IFM_IEEE80211_OFDM9`
  Orthogonal Frequency Division Multiplexing 9Mbps. [OFDM9]
`IFM_IEEE80211_OFDM12`
  Orthogonal Frequency Division Multiplexing 12Mbps. [OFDM12]
`IFM_IEEE80211_OFDM18`
  Orthogonal Frequency Division Multiplexing 18Mbps. [OFDM18]
`IFM_IEEE80211_OFDM24`
  Orthogonal Frequency Division Multiplexing 24Mbps. [OFDM24]
`IFM_IEEE80211_OFDM36`
  Orthogonal Frequency Division Multiplexing 36Mbps. [OFDM36]
`IFM_IEEE80211_OFDM48`
  Orthogonal Frequency Division Multiplexing 48Mbps. [OFDM48]
`IFM_IEEE80211_OFDM54`
  Orthogonal Frequency Division Multiplexing 54Mbps. [OFDM54]
`IFM_IEEE80211_OFDM72`
  Orthogonal Frequency Division Multiplexing 72Mbps. [OFDM72]

The following media options are defined for IEEE802.11 Wireless LAN:

`IFM_IEEE80211_ADHOC`
  Ad-hoc (IBSS) mode. [adhoc, ibss]

  In some drivers, it may be used with the `IFM_FLAG0` [flag0] media option to specify non-standard ad-hoc demo mode.

`IFM_IEEE80211_HOSTAP`
  Access Point mode [hostap]
`IFM_IEEE80211_MONITOR`
  Monitor mode [monitor]
`IFM_IEEE80211_TURBO`
  Turbo mode [turbo]

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

August 3, 2018 | NetBSD 9.0