Station handling

    Stations are added per interface, but a special case exists with VLAN interfaces. When a station is bound to an AP interface, it may be moved into a VLAN identified by a VLAN interface index (NL80211_ATTR_STA_VLAN). The station is still assumed to belong to the AP interface it was added to.

    TODO: need more info?


enum nl80211_commands

enum nl80211_commands {
NL80211_CMD_UNSPEC,
NL80211_CMD_GET_WIPHY,
NL80211_CMD_SET_WIPHY,
NL80211_CMD_NEW_WIPHY,
NL80211_CMD_DEL_WIPHY,
NL80211_CMD_GET_INTERFACE,
NL80211_CMD_SET_INTERFACE,
NL80211_CMD_NEW_INTERFACE,
NL80211_CMD_DEL_INTERFACE,
NL80211_CMD_GET_KEY,
NL80211_CMD_SET_KEY,
NL80211_CMD_NEW_KEY,
NL80211_CMD_DEL_KEY,
NL80211_CMD_GET_BEACON,
NL80211_CMD_SET_BEACON,
NL80211_CMD_NEW_BEACON,
NL80211_CMD_DEL_BEACON,
NL80211_CMD_GET_STATION,
NL80211_CMD_SET_STATION,
NL80211_CMD_NEW_STATION,
NL80211_CMD_DEL_STATION,
NL80211_CMD_GET_MPATH,
NL80211_CMD_SET_MPATH,
NL80211_CMD_NEW_MPATH,
NL80211_CMD_DEL_MPATH,
NL80211_CMD_SET_BSS,
NL80211_CMD_SET_REG,
NL80211_CMD_REQ_SET_REG,
NL80211_CMD_GET_MESH_PARAMS,
NL80211_CMD_SET_MESH_PARAMS,
__NL80211_CMD_AFTER_LAST,
NL80211_CMD_MAX
};

Constants

NL80211_CMD_UNSPEC
unspecified command to catch errors
NL80211_CMD_GET_WIPHY
request information about a wiphy or dump request to get a list of all present wiphys.
NL80211_CMD_SET_WIPHY
set wiphy parameters, needs NL80211_ATTR_WIPHY or NL80211_ATTR_IFINDEX; can be used to set NL80211_ATTR_WIPHY_NAME, NL80211_ATTR_WIPHY_TXQ_PARAMS, NL80211_ATTR_WIPHY_FREQ, and/or NL80211_ATTR_WIPHY_SEC_CHAN_OFFSET.
NL80211_CMD_NEW_WIPHY
Newly created wiphy, response to get request or rename notification. Has attributes NL80211_ATTR_WIPHY and NL80211_ATTR_WIPHY_NAME.
NL80211_CMD_DEL_WIPHY
Wiphy deleted. Has attributes NL80211_ATTR_WIPHY and NL80211_ATTR_WIPHY_NAME.
NL80211_CMD_GET_INTERFACE
Request an interface's configuration; either a dump request on a NL80211_ATTR_WIPHY or a specific get on an NL80211_ATTR_IFINDEX is supported.
NL80211_CMD_SET_INTERFACE
Set type of a virtual interface, requires NL80211_ATTR_IFINDEX and NL80211_ATTR_IFTYPE.
NL80211_CMD_NEW_INTERFACE
Newly created virtual interface or response to NL80211_CMD_GET_INTERFACE. Has NL80211_ATTR_IFINDEX, NL80211_ATTR_WIPHY and NL80211_ATTR_IFTYPE attributes. Can also be sent from userspace to request creation of a new virtual interface, then requires attributes NL80211_ATTR_WIPHY, NL80211_ATTR_IFTYPE and NL80211_ATTR_IFNAME.
NL80211_CMD_DEL_INTERFACE
Virtual interface was deleted, has attributes NL80211_ATTR_IFINDEX and NL80211_ATTR_WIPHY. Can also be sent from userspace to request deletion of a virtual interface, then requires attribute NL80211_ATTR_IFINDEX.
NL80211_CMD_GET_KEY
Get sequence counter information for a key specified by NL80211_ATTR_KEY_IDX and/or NL80211_ATTR_MAC.
NL80211_CMD_SET_KEY
Set key attributes NL80211_ATTR_KEY_DEFAULT or NL80211_ATTR_KEY_THRESHOLD.
NL80211_CMD_NEW_KEY
add a key with given NL80211_ATTR_KEY_DATA, NL80211_ATTR_KEY_IDX, NL80211_ATTR_MAC and NL80211_ATTR_KEY_CIPHER attributes.
NL80211_CMD_DEL_KEY
delete a key identified by NL80211_ATTR_KEY_IDX or NL80211_ATTR_MAC.
NL80211_CMD_GET_BEACON
retrieve beacon information (returned in a NL80222_CMD_NEW_BEACON message)
NL80211_CMD_SET_BEACON
set the beacon on an access point interface using the NL80211_ATTR_BEACON_INTERVAL, NL80211_ATTR_DTIM_PERIOD, NL80211_BEACON_HEAD and NL80211_BEACON_TAIL attributes.
NL80211_CMD_NEW_BEACON
add a new beacon to an access point interface, parameters are like for NL80211_CMD_SET_BEACON.
NL80211_CMD_DEL_BEACON
remove the beacon, stop sending it
NL80211_CMD_GET_STATION
Get station attributes for station identified by NL80211_ATTR_MAC on the interface identified by NL80211_ATTR_IFINDEX.
NL80211_CMD_SET_STATION
Set station attributes for station identified by NL80211_ATTR_MAC on the interface identified by NL80211_ATTR_IFINDEX.
NL80211_CMD_NEW_STATION
Add a station with given attributes to the the interface identified by NL80211_ATTR_IFINDEX.
NL80211_CMD_DEL_STATION
Remove a station identified by NL80211_ATTR_MAC or, if no MAC address given, all stations, on the interface identified by NL80211_ATTR_IFINDEX.
NL80211_CMD_GET_MPATH
Get mesh path attributes for mesh path to destination NL80211_ATTR_MAC on the interface identified by NL80211_ATTR_IFINDEX.
NL80211_CMD_SET_MPATH
Set mesh path attributes for mesh path to destination NL80211_ATTR_MAC on the interface identified by NL80211_ATTR_IFINDEX.
NL80211_CMD_NEW_MPATH
-- undescribed --
NL80211_CMD_DEL_MPATH
-- undescribed --
NL80211_CMD_SET_BSS
Set BSS attributes for BSS identified by NL80211_ATTR_IFINDEX.
NL80211_CMD_SET_REG
Set current regulatory domain. CRDA sends this command after being queried by the kernel. CRDA replies by sending a regulatory domain structure which consists of NL80211_ATTR_REG_ALPHA set to our current alpha2 if it found a match. It also provides NL80211_ATTR_REG_RULE_FLAGS, and a set of regulatory rules. Each regulatory rule is a nested set of attributes given by NL80211_ATTR_REG_RULE_FREQ_[START|END] and NL80211_ATTR_FREQ_RANGE_MAX_BW with an attached power rule given by NL80211_ATTR_REG_RULE_POWER_MAX_ANT_GAIN and NL80211_ATTR_REG_RULE_POWER_MAX_EIRP.
NL80211_CMD_REQ_SET_REG
ask the wireless core to set the regulatory domain to the the specified ISO/IEC 3166-1 alpha2 country code. The core will store this as a valid request and then query userspace for it.
NL80211_CMD_GET_MESH_PARAMS
Get mesh networking properties for the interface identified by NL80211_ATTR_IFINDEX
NL80211_CMD_SET_MESH_PARAMS
Set mesh networking properties for the interface identified by NL80211_ATTR_IFINDEX
__NL80211_CMD_AFTER_LAST
internal use
NL80211_CMD_MAX
highest used command number

enum nl80211_attrs

enum nl80211_attrs {
NL80211_ATTR_UNSPEC,
NL80211_ATTR_WIPHY,
NL80211_ATTR_WIPHY_NAME,
NL80211_ATTR_IFINDEX,
NL80211_ATTR_IFNAME,
NL80211_ATTR_IFTYPE,
NL80211_ATTR_MAC,
NL80211_ATTR_KEY_DATA,
NL80211_ATTR_KEY_IDX,
NL80211_ATTR_KEY_CIPHER,
NL80211_ATTR_KEY_SEQ,
NL80211_ATTR_KEY_DEFAULT,
NL80211_ATTR_BEACON_INTERVAL,
NL80211_ATTR_DTIM_PERIOD,
NL80211_ATTR_BEACON_HEAD,
NL80211_ATTR_BEACON_TAIL,
NL80211_ATTR_STA_AID,
NL80211_ATTR_STA_FLAGS,
NL80211_ATTR_STA_LISTEN_INTERVAL,
NL80211_ATTR_STA_SUPPORTED_RATES,
NL80211_ATTR_STA_VLAN,
NL80211_ATTR_STA_INFO,
NL80211_ATTR_WIPHY_BANDS,
NL80211_ATTR_MNTR_FLAGS,
NL80211_ATTR_MESH_ID,
NL80211_ATTR_STA_PLINK_ACTION,
NL80211_ATTR_MPATH_NEXT_HOP,
NL80211_ATTR_MPATH_INFO,
NL80211_ATTR_BSS_CTS_PROT,
NL80211_ATTR_BSS_SHORT_PREAMBLE,
NL80211_ATTR_BSS_SHORT_SLOT_TIME,
NL80211_ATTR_HT_CAPABILITY,
NL80211_ATTR_SUPPORTED_IFTYPES,
NL80211_ATTR_REG_ALPHA2,
NL80211_ATTR_REG_RULES,
NL80211_ATTR_MESH_PARAMS,
NL80211_ATTR_BSS_BASIC_RATES,
NL80211_ATTR_WIPHY_TXQ_PARAMS,
NL80211_ATTR_WIPHY_FREQ,
NL80211_ATTR_WIPHY_CHANNEL_TYPE,
__NL80211_ATTR_AFTER_LAST,
NL80211_ATTR_MAX
};

Constants

NL80211_ATTR_UNSPEC
unspecified attribute to catch errors
NL80211_ATTR_WIPHY
index of wiphy to operate on, cf. /sys/class/ieee80211/<phyname>/index
NL80211_ATTR_WIPHY_NAME
wiphy name (used for renaming)
NL80211_ATTR_IFINDEX
network interface index of the device to operate on
NL80211_ATTR_IFNAME
network interface name
NL80211_ATTR_IFTYPE
type of virtual interface, see enum nl80211_iftype
NL80211_ATTR_MAC
MAC address (various uses)
NL80211_ATTR_KEY_DATA
(temporal) key data; for TKIP this consists of 16 bytes encryption key followed by 8 bytes each for TX and RX MIC keys
NL80211_ATTR_KEY_IDX
key ID (u8, 0-3)
NL80211_ATTR_KEY_CIPHER
key cipher suite (u32, as defined by IEEE 802.11 section 7.3.2.25.1, e.g. 0x000FAC04)
NL80211_ATTR_KEY_SEQ
transmit key sequence number (IV/PN) for TKIP and CCMP keys, each six bytes in little endian
NL80211_ATTR_KEY_DEFAULT
-- undescribed --
NL80211_ATTR_BEACON_INTERVAL
beacon interval in TU
NL80211_ATTR_DTIM_PERIOD
DTIM period for beaconing
NL80211_ATTR_BEACON_HEAD
portion of the beacon before the TIM IE
NL80211_ATTR_BEACON_TAIL
portion of the beacon after the TIM IE
NL80211_ATTR_STA_AID
Association ID for the station (u16)
NL80211_ATTR_STA_FLAGS
flags, nested element with NLA_FLAG attributes of enum nl80211_sta_flags.
NL80211_ATTR_STA_LISTEN_INTERVAL
listen interval as defined by IEEE 802.11 7.3.1.6 (u16).
NL80211_ATTR_STA_SUPPORTED_RATES
supported rates, array of supported rates as defined by IEEE 802.11 7.3.2.2 but without the length restriction (at most NL80211_MAX_SUPP_RATES).
NL80211_ATTR_STA_VLAN
interface index of VLAN interface to move station to, or the AP interface the station was originally added to to.
NL80211_ATTR_STA_INFO
information about a station, part of station info given for NL80211_CMD_GET_STATION, nested attribute containing info as possible, see enum nl80211_sta_info.
NL80211_ATTR_WIPHY_BANDS
Information about an operating bands, consisting of a nested array.
NL80211_ATTR_MNTR_FLAGS
flags, nested element with NLA_FLAG attributes of enum nl80211_mntr_flags.
NL80211_ATTR_MESH_ID
mesh id (1-32 bytes).
NL80211_ATTR_STA_PLINK_ACTION
-- undescribed --
NL80211_ATTR_MPATH_NEXT_HOP
MAC address of the next hop for a mesh path.
NL80211_ATTR_MPATH_INFO
information about a mesh_path, part of mesh path info given for NL80211_CMD_GET_MPATH, nested attribute described at enum nl80211_mpath_info.
NL80211_ATTR_BSS_CTS_PROT
whether CTS protection is enabled (u8, 0 or 1)
NL80211_ATTR_BSS_SHORT_PREAMBLE
whether short preamble is enabled (u8, 0 or 1)
NL80211_ATTR_BSS_SHORT_SLOT_TIME
whether short slot time enabled (u8, 0 or 1)
NL80211_ATTR_HT_CAPABILITY
HT Capability information element (from association request when used with NL80211_CMD_NEW_STATION)
NL80211_ATTR_SUPPORTED_IFTYPES
nested attribute containing all supported interface types, each a flag attribute with the number of the interface mode.
NL80211_ATTR_REG_ALPHA2
an ISO-3166-alpha2 country code for which the current regulatory domain should be set to or is already set to. For example, 'CR', for Costa Rica. This attribute is used by the kernel to query the CRDA to retrieve one regulatory domain. This attribute can also be used by userspace to query the kernel for the currently set regulatory domain. We chose an alpha2 as that is also used by the IEEE-802.11d country information element to identify a country. Users can also simply ask the wireless core to set regulatory domain to a specific alpha2.
NL80211_ATTR_REG_RULES
a nested array of regulatory domain regulatory rules.
NL80211_ATTR_MESH_PARAMS
-- undescribed --
NL80211_ATTR_BSS_BASIC_RATES
basic rates, array of basic rates in format defined by IEEE 802.11 7.3.2.2 but without the length restriction (at most NL80211_MAX_SUPP_RATES).
NL80211_ATTR_WIPHY_TXQ_PARAMS
a nested array of TX queue parameters
NL80211_ATTR_WIPHY_FREQ
frequency of the selected channel in MHz
NL80211_ATTR_WIPHY_CHANNEL_TYPE
included with NL80211_ATTR_WIPHY_FREQ if HT20 or HT40 are allowed (i.e., 802.11n disabled if not included): NL80211_CHAN_NO_HT = HT not allowed (i.e., same as not including this attribute) NL80211_CHAN_HT20 = HT20 only NL80211_CHAN_HT40MINUS = secondary channel is below the primary channel NL80211_CHAN_HT40PLUS = secondary channel is above the primary channel
__NL80211_ATTR_AFTER_LAST
internal use
NL80211_ATTR_MAX
highest attribute number currently defined

enum nl80211_iftype

enum nl80211_iftype {
NL80211_IFTYPE_UNSPECIFIED,
NL80211_IFTYPE_ADHOC,
NL80211_IFTYPE_STATION,
NL80211_IFTYPE_AP,
NL80211_IFTYPE_AP_VLAN,
NL80211_IFTYPE_WDS,
NL80211_IFTYPE_MONITOR,
NL80211_IFTYPE_MESH_POINT,
__NL80211_IFTYPE_AFTER_LAST,
NL80211_IFTYPE_MAX
};

Constants

NL80211_IFTYPE_UNSPECIFIED
unspecified type, driver decides
NL80211_IFTYPE_ADHOC
independent BSS member
NL80211_IFTYPE_STATION
managed BSS member
NL80211_IFTYPE_AP
access point
NL80211_IFTYPE_AP_VLAN
VLAN interface for access points
NL80211_IFTYPE_WDS
wireless distribution interface
NL80211_IFTYPE_MONITOR
monitor interface receiving all frames
NL80211_IFTYPE_MESH_POINT
mesh point
__NL80211_IFTYPE_AFTER_LAST
internal use
NL80211_IFTYPE_MAX
highest interface type number currently defined

Description

These values are used with the NL80211_ATTR_IFTYPE to set the type of an interface.

enum nl80211_sta_flags

enum nl80211_sta_flags {
__NL80211_STA_FLAG_INVALID,
NL80211_STA_FLAG_AUTHORIZED,
NL80211_STA_FLAG_SHORT_PREAMBLE,
NL80211_STA_FLAG_WME,
__NL80211_STA_FLAG_AFTER_LAST,
NL80211_STA_FLAG_MAX
};

Constants

__NL80211_STA_FLAG_INVALID
-- undescribed --
NL80211_STA_FLAG_AUTHORIZED
station is authorized (802.1X)
NL80211_STA_FLAG_SHORT_PREAMBLE
station is capable of receiving frames with short barker preamble
NL80211_STA_FLAG_WME
station is WME/QoS capable
__NL80211_STA_FLAG_AFTER_LAST
-- undescribed --
NL80211_STA_FLAG_MAX
-- undescribed --

Description

Station flags. When a station is added to an AP interface, it is assumed to be already associated (and hence authenticated.)


enum nl80211_rate_info

enum nl80211_rate_info {
__NL80211_RATE_INFO_INVALID,
NL80211_RATE_INFO_BITRATE,
NL80211_RATE_INFO_MCS,
NL80211_RATE_INFO_40_MHZ_WIDTH,
NL80211_RATE_INFO_SHORT_GI,
__NL80211_RATE_INFO_AFTER_LAST,
NL80211_RATE_INFO_MAX
};

Constants

__NL80211_RATE_INFO_INVALID
attribute number 0 is reserved
NL80211_RATE_INFO_BITRATE
total bitrate (u16, 100kbit/s)
NL80211_RATE_INFO_MCS
mcs index for 802.11n (u8)
NL80211_RATE_INFO_40_MHZ_WIDTH
40 Mhz dualchannel bitrate
NL80211_RATE_INFO_SHORT_GI
400ns guard interval
__NL80211_RATE_INFO_AFTER_LAST
internal use
NL80211_RATE_INFO_MAX
highest rate_info number currently defined

Description

These attribute types are used with NL80211_STA_INFO_TXRATE when getting information about the bitrate of a station.


enum nl80211_sta_info

enum nl80211_sta_info {
__NL80211_STA_INFO_INVALID,
NL80211_STA_INFO_INACTIVE_TIME,
NL80211_STA_INFO_RX_BYTES,
NL80211_STA_INFO_TX_BYTES,
NL80211_STA_INFO_LLID,
NL80211_STA_INFO_PLID,
NL80211_STA_INFO_PLINK_STATE,
NL80211_STA_INFO_SIGNAL,
NL80211_STA_INFO_TX_BITRATE,
__NL80211_STA_INFO_AFTER_LAST,
NL80211_STA_INFO_MAX
};

Constants

__NL80211_STA_INFO_INVALID
attribute number 0 is reserved
NL80211_STA_INFO_INACTIVE_TIME
time since last activity (u32, msecs)
NL80211_STA_INFO_RX_BYTES
total received bytes (u32, from this station)
NL80211_STA_INFO_TX_BYTES
total transmitted bytes (u32, to this station)
NL80211_STA_INFO_LLID
-- undescribed --
NL80211_STA_INFO_PLID
-- undescribed --
NL80211_STA_INFO_PLINK_STATE
-- undescribed --
NL80211_STA_INFO_SIGNAL
signal strength of last received PPDU (u8, dBm)
NL80211_STA_INFO_TX_BITRATE
current unicast tx rate, nested attribute containing info as possible, see enum nl80211_sta_info_txrate.
__NL80211_STA_INFO_AFTER_LAST
internal
NL80211_STA_INFO_MAX
highest possible station info attribute

Description

These attribute types are used with NL80211_ATTR_STA_INFO when getting information about a station.


enum nl80211_mpath_flags

enum nl80211_mpath_flags {
NL80211_MPATH_FLAG_ACTIVE,
NL80211_MPATH_FLAG_RESOLVING,
NL80211_MPATH_FLAG_DSN_VALID,
NL80211_MPATH_FLAG_FIXED,
NL80211_MPATH_FLAG_RESOLVED
};

Constants

NL80211_MPATH_FLAG_ACTIVE
the mesh path is active
NL80211_MPATH_FLAG_RESOLVING
the mesh path discovery process is running
NL80211_MPATH_FLAG_DSN_VALID
the mesh path contains a valid DSN
NL80211_MPATH_FLAG_FIXED
the mesh path has been manually set
NL80211_MPATH_FLAG_RESOLVED
the mesh path discovery process succeeded

enum nl80211_mpath_info

enum nl80211_mpath_info {
__NL80211_MPATH_INFO_INVALID,
NL80211_MPATH_INFO_FRAME_QLEN,
NL80211_MPATH_INFO_DSN,
NL80211_MPATH_INFO_METRIC,
NL80211_MPATH_INFO_EXPTIME,
NL80211_MPATH_INFO_FLAGS,
NL80211_MPATH_INFO_DISCOVERY_TIMEOUT,
NL80211_MPATH_INFO_DISCOVERY_RETRIES,
__NL80211_MPATH_INFO_AFTER_LAST,
NL80211_MPATH_INFO_MAX
};

Constants

__NL80211_MPATH_INFO_INVALID
attribute number 0 is reserved
NL80211_MPATH_INFO_FRAME_QLEN
-- undescribed --
NL80211_MPATH_INFO_DSN
-- undescribed --
NL80211_MPATH_INFO_METRIC
-- undescribed --
NL80211_MPATH_INFO_EXPTIME
-- undescribed --
NL80211_MPATH_INFO_FLAGS
-- undescribed --
NL80211_MPATH_INFO_DISCOVERY_TIMEOUT
-- undescribed --
NL80211_MPATH_INFO_DISCOVERY_RETRIES
-- undescribed --
__NL80211_MPATH_INFO_AFTER_LAST
-- undescribed --
NL80211_MPATH_INFO_MAX
-- undescribed --

Description

These attribute types are used with NL80211_ATTR_MPATH_INFO when getting information about a mesh path.


enum nl80211_band_attr

enum nl80211_band_attr {
__NL80211_BAND_ATTR_INVALID,
NL80211_BAND_ATTR_FREQS,
NL80211_BAND_ATTR_RATES,
NL80211_BAND_ATTR_HT_MCS_SET,
NL80211_BAND_ATTR_HT_CAPA,
NL80211_BAND_ATTR_HT_AMPDU_FACTOR,
NL80211_BAND_ATTR_HT_AMPDU_DENSITY,
__NL80211_BAND_ATTR_AFTER_LAST,
NL80211_BAND_ATTR_MAX
};

Constants

__NL80211_BAND_ATTR_INVALID
attribute number 0 is reserved
NL80211_BAND_ATTR_FREQS
supported frequencies in this band, an array of nested frequency attributes
NL80211_BAND_ATTR_RATES
supported bitrates in this band, an array of nested bitrate attributes
NL80211_BAND_ATTR_HT_MCS_SET
16-byte attribute containing the MCS set as defined in 802.11n
NL80211_BAND_ATTR_HT_CAPA
HT capabilities, as in the HT information IE
NL80211_BAND_ATTR_HT_AMPDU_FACTOR
A-MPDU factor, as in 11n
NL80211_BAND_ATTR_HT_AMPDU_DENSITY
A-MPDU density, as in 11n
__NL80211_BAND_ATTR_AFTER_LAST
-- undescribed --
NL80211_BAND_ATTR_MAX
-- undescribed --

enum nl80211_frequency_attr

enum nl80211_frequency_attr {
__NL80211_FREQUENCY_ATTR_INVALID,
NL80211_FREQUENCY_ATTR_FREQ,
NL80211_FREQUENCY_ATTR_DISABLED,
NL80211_FREQUENCY_ATTR_PASSIVE_SCAN,
NL80211_FREQUENCY_ATTR_NO_IBSS,
NL80211_FREQUENCY_ATTR_RADAR,
NL80211_FREQUENCY_ATTR_MAX_TX_POWER,
__NL80211_FREQUENCY_ATTR_AFTER_LAST,
NL80211_FREQUENCY_ATTR_MAX
};

Constants

__NL80211_FREQUENCY_ATTR_INVALID
-- undescribed --
NL80211_FREQUENCY_ATTR_FREQ
Frequency in MHz
NL80211_FREQUENCY_ATTR_DISABLED
Channel is disabled in current regulatory domain.
NL80211_FREQUENCY_ATTR_PASSIVE_SCAN
Only passive scanning is permitted on this channel in current regulatory domain.
NL80211_FREQUENCY_ATTR_NO_IBSS
IBSS networks are not permitted on this channel in current regulatory domain.
NL80211_FREQUENCY_ATTR_RADAR
Radar detection is mandatory on this channel in current regulatory domain.
NL80211_FREQUENCY_ATTR_MAX_TX_POWER
Maximum transmission power in mBm (100 * dBm).
__NL80211_FREQUENCY_ATTR_AFTER_LAST
-- undescribed --
NL80211_FREQUENCY_ATTR_MAX
-- undescribed --

enum nl80211_bitrate_attr

enum nl80211_bitrate_attr {
__NL80211_BITRATE_ATTR_INVALID,
NL80211_BITRATE_ATTR_RATE,
NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE,
__NL80211_BITRATE_ATTR_AFTER_LAST,
NL80211_BITRATE_ATTR_MAX
};

Constants

__NL80211_BITRATE_ATTR_INVALID
-- undescribed --
NL80211_BITRATE_ATTR_RATE
Bitrate in units of 100 kbps
NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE
Short preamble supported in 2.4 GHz band.
__NL80211_BITRATE_ATTR_AFTER_LAST
-- undescribed --
NL80211_BITRATE_ATTR_MAX
-- undescribed --

enum nl80211_reg_rule_attr

enum nl80211_reg_rule_attr {
__NL80211_REG_RULE_ATTR_INVALID,
NL80211_ATTR_REG_RULE_FLAGS,
NL80211_ATTR_FREQ_RANGE_START,
NL80211_ATTR_FREQ_RANGE_END,
NL80211_ATTR_FREQ_RANGE_MAX_BW,
NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN,
NL80211_ATTR_POWER_RULE_MAX_EIRP,
__NL80211_REG_RULE_ATTR_AFTER_LAST,
NL80211_REG_RULE_ATTR_MAX
};

Constants

__NL80211_REG_RULE_ATTR_INVALID
-- undescribed --
NL80211_ATTR_REG_RULE_FLAGS
a set of flags which specify additional considerations for a given frequency range. These are the enum nl80211_reg_rule_flags.
NL80211_ATTR_FREQ_RANGE_START
starting frequencry for the regulatory rule in KHz. This is not a center of frequency but an actual regulatory band edge.
NL80211_ATTR_FREQ_RANGE_END
ending frequency for the regulatory rule in KHz. This is not a center a frequency but an actual regulatory band edge.
NL80211_ATTR_FREQ_RANGE_MAX_BW
maximum allowed bandwidth for this frequency range, in KHz.
NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN
the maximum allowed antenna gain for a given frequency range. The value is in mBi (100 * dBi). If you don't have one then don't send this.
NL80211_ATTR_POWER_RULE_MAX_EIRP
the maximum allowed EIRP for a given frequency range. The value is in mBm (100 * dBm).
__NL80211_REG_RULE_ATTR_AFTER_LAST
-- undescribed --
NL80211_REG_RULE_ATTR_MAX
-- undescribed --

enum nl80211_reg_rule_flags

enum nl80211_reg_rule_flags {
NL80211_RRF_NO_OFDM,
NL80211_RRF_NO_CCK,
NL80211_RRF_NO_INDOOR,
NL80211_RRF_NO_OUTDOOR,
NL80211_RRF_DFS,
NL80211_RRF_PTP_ONLY,
NL80211_RRF_PTMP_ONLY,
NL80211_RRF_PASSIVE_SCAN,
NL80211_RRF_NO_IBSS
};

Constants

NL80211_RRF_NO_OFDM
OFDM modulation not allowed
NL80211_RRF_NO_CCK
CCK modulation not allowed
NL80211_RRF_NO_INDOOR
indoor operation not allowed
NL80211_RRF_NO_OUTDOOR
outdoor operation not allowed
NL80211_RRF_DFS
DFS support is required to be used
NL80211_RRF_PTP_ONLY
this is only for Point To Point links
NL80211_RRF_PTMP_ONLY
this is only for Point To Multi Point links
NL80211_RRF_PASSIVE_SCAN
passive scan is required
NL80211_RRF_NO_IBSS
no IBSS is allowed

enum nl80211_mntr_flags

enum nl80211_mntr_flags {
__NL80211_MNTR_FLAG_INVALID,
NL80211_MNTR_FLAG_FCSFAIL,
NL80211_MNTR_FLAG_PLCPFAIL,
NL80211_MNTR_FLAG_CONTROL,
NL80211_MNTR_FLAG_OTHER_BSS,
NL80211_MNTR_FLAG_COOK_FRAMES,
__NL80211_MNTR_FLAG_AFTER_LAST,
NL80211_MNTR_FLAG_MAX
};

Constants

__NL80211_MNTR_FLAG_INVALID
reserved
NL80211_MNTR_FLAG_FCSFAIL
pass frames with bad FCS
NL80211_MNTR_FLAG_PLCPFAIL
pass frames with bad PLCP
NL80211_MNTR_FLAG_CONTROL
pass control frames
NL80211_MNTR_FLAG_OTHER_BSS
disable BSSID filtering
NL80211_MNTR_FLAG_COOK_FRAMES
report frames after processing. overrides all other flags.
__NL80211_MNTR_FLAG_AFTER_LAST
internal use
NL80211_MNTR_FLAG_MAX
highest possible monitor flag

Description

Monitor configuration flags.


enum nl80211_meshconf_params

enum nl80211_meshconf_params {
__NL80211_MESHCONF_INVALID,
NL80211_MESHCONF_RETRY_TIMEOUT,
NL80211_MESHCONF_CONFIRM_TIMEOUT,
NL80211_MESHCONF_HOLDING_TIMEOUT,
NL80211_MESHCONF_MAX_PEER_LINKS,
NL80211_MESHCONF_MAX_RETRIES,
NL80211_MESHCONF_TTL,
NL80211_MESHCONF_AUTO_OPEN_PLINKS,
NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES,
NL80211_MESHCONF_PATH_REFRESH_TIME,
NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT,
NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT,
NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL,
NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME,
__NL80211_MESHCONF_ATTR_AFTER_LAST,
NL80211_MESHCONF_ATTR_MAX
};

Constants

__NL80211_MESHCONF_INVALID
internal use
NL80211_MESHCONF_RETRY_TIMEOUT
specifies the initial retry timeout in millisecond units, used by the Peer Link Open message
NL80211_MESHCONF_CONFIRM_TIMEOUT
specifies the inital confirm timeout, in millisecond units, used by the peer link management to close a peer link
NL80211_MESHCONF_HOLDING_TIMEOUT
specifies the holding timeout, in millisecond units
NL80211_MESHCONF_MAX_PEER_LINKS
maximum number of peer links allowed on this mesh interface
NL80211_MESHCONF_MAX_RETRIES
specifies the maximum number of peer link open retries that can be sent to establish a new peer link instance in a mesh
NL80211_MESHCONF_TTL
specifies the value of TTL field set at a source mesh point.
NL80211_MESHCONF_AUTO_OPEN_PLINKS
whether we should automatically open peer links when we detect compatible mesh peers.
NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES
the number of action frames containing a PREQ that an MP can send to a particular destination (path target)
NL80211_MESHCONF_PATH_REFRESH_TIME
how frequently to refresh mesh paths (in milliseconds)
NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT
minimum length of time to wait until giving up on a path discovery (in milliseconds)
NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT
The time (in TUs) for which mesh points receiving a PREQ shall consider the forwarding information from the root to be valid. (TU = time unit)
NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL
The minimum interval of time (in TUs) during which an MP can send only one action frame containing a PREQ reference element
NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME
The interval of time (in TUs) that it takes for an HWMP information element to propagate across the mesh
__NL80211_MESHCONF_ATTR_AFTER_LAST
internal use
NL80211_MESHCONF_ATTR_MAX
highest possible mesh configuration attribute

Description

Mesh configuration parameters


enum nl80211_txq_attr

enum nl80211_txq_attr {
__NL80211_TXQ_ATTR_INVALID,
NL80211_TXQ_ATTR_QUEUE,
NL80211_TXQ_ATTR_TXOP,
NL80211_TXQ_ATTR_CWMIN,
NL80211_TXQ_ATTR_CWMAX,
NL80211_TXQ_ATTR_AIFS,
__NL80211_TXQ_ATTR_AFTER_LAST,
NL80211_TXQ_ATTR_MAX
};

Constants

__NL80211_TXQ_ATTR_INVALID
Attribute number 0 is reserved
NL80211_TXQ_ATTR_QUEUE
TX queue identifier (NL80211_TXQ_Q_*)
NL80211_TXQ_ATTR_TXOP
Maximum burst time in units of 32 usecs, 0 meaning disabled
NL80211_TXQ_ATTR_CWMIN
Minimum contention window [a value of the form 2^n-1 in the range 1..32767]
NL80211_TXQ_ATTR_CWMAX
Maximum contention window [a value of the form 2^n-1 in the range 1..32767]
NL80211_TXQ_ATTR_AIFS
Arbitration interframe space [0..255]
__NL80211_TXQ_ATTR_AFTER_LAST
Internal
NL80211_TXQ_ATTR_MAX
Maximum TXQ attribute number