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.