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_SET_MGMT_EXTRA_IE,
NL80211_CMD_GET_REG,
NL80211_CMD_GET_SCAN,
NL80211_CMD_TRIGGER_SCAN,
NL80211_CMD_NEW_SCAN_RESULTS,
NL80211_CMD_SCAN_ABORTED,
NL80211_CMD_REG_CHANGE,
NL80211_CMD_AUTHENTICATE,
NL80211_CMD_ASSOCIATE,
NL80211_CMD_DEAUTHENTICATE,
NL80211_CMD_DISASSOCIATE,
NL80211_CMD_MICHAEL_MIC_FAILURE,
NL80211_CMD_REG_BEACON_HINT,
NL80211_CMD_JOIN_IBSS,
NL80211_CMD_LEAVE_IBSS,
NL80211_CMD_TESTMODE,
NL80211_CMD_CONNECT,
NL80211_CMD_ROAM,
NL80211_CMD_DISCONNECT,
NL80211_CMD_SET_WIPHY_NETNS,
NL80211_CMD_GET_SURVEY,
NL80211_CMD_NEW_SURVEY_RESULTS,
__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, NL80211_ATTR_WIPHY_CHANNEL_TYPE, NL80211_ATTR_WIPHY_RETRY_SHORT, NL80211_ATTR_WIPHY_RETRY_LONG, NL80211_ATTR_WIPHY_FRAG_THRESHOLD, and/or NL80211_ATTR_WIPHY_RTS_THRESHOLD.
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, NL80211_ATTR_KEY_DEFAULT_MGMT, 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, NL80211_ATTR_KEY_CIPHER, and NL80211_ATTR_KEY_SEQ 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_ATTR_BEACON_HEAD and NL80211_ATTR_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_SET_MGMT_EXTRA_IE
Set extra IEs for management frames. The interface is identified with NL80211_ATTR_IFINDEX and the management frame subtype with NL80211_ATTR_MGMT_SUBTYPE. The extra IE data to be added to the end of the specified management frame is specified with NL80211_ATTR_IE. If the command succeeds, the requested data will be added to all specified management frames generated by kernel/firmware/driver.
NL80211_CMD_GET_REG
ask the wireless core to send us its currently set regulatory domain.
NL80211_CMD_GET_SCAN
get scan results
NL80211_CMD_TRIGGER_SCAN
trigger a new scan with the given parameters
NL80211_CMD_NEW_SCAN_RESULTS
scan notification (as a reply to NL80211_CMD_GET_SCAN and on the "scan" multicast group)
NL80211_CMD_SCAN_ABORTED
scan was aborted, for unspecified reasons, partial scan results may be available
NL80211_CMD_REG_CHANGE
indicates to userspace the regulatory domain has been changed and provides details of the request information that caused the change such as who initiated the regulatory request (NL80211_ATTR_REG_INITIATOR), the wiphy_idx (NL80211_ATTR_REG_ALPHA2) on which the request was made from if the initiator was NL80211_REGDOM_SET_BY_COUNTRY_IE or NL80211_REGDOM_SET_BY_DRIVER, the type of regulatory domain set (NL80211_ATTR_REG_TYPE), if the type of regulatory domain is NL80211_REG_TYPE_COUNTRY the alpha2 to which we have moved on to (NL80211_ATTR_REG_ALPHA2).
NL80211_CMD_AUTHENTICATE
authentication request and notification. This command is used both as a command (request to authenticate) and as an event on the "mlme" multicast group indicating completion of the authentication process. When used as a command, NL80211_ATTR_IFINDEX is used to identify the interface. NL80211_ATTR_MAC is used to specify PeerSTAAddress (and BSSID in case of station mode). NL80211_ATTR_SSID is used to specify the SSID (mainly for association, but is included in authentication request, too, to help BSS selection. NL80211_ATTR_WIPHY_FREQ is used to specify the frequence of the channel in MHz. NL80211_ATTR_AUTH_TYPE is used to specify the authentication type. NL80211_ATTR_IE is used to define IEs (VendorSpecificInfo, but also including RSN IE and FT IEs) to be added to the frame. When used as an event, this reports reception of an Authentication frame in station and IBSS modes when the local MLME processed the frame, i.e., it was for the local STA and was received in correct state. This is similar to MLME-AUTHENTICATE.confirm primitive in the MLME SAP interface (kernel providing MLME, userspace SME). The included NL80211_ATTR_FRAME attribute contains the management frame (including both the header and frame body, but not FCS). This event is also used to indicate if the authentication attempt timed out. In that case the NL80211_ATTR_FRAME attribute is replaced with a NL80211_ATTR_TIMED_OUT flag (and NL80211_ATTR_MAC to indicate which pending authentication timed out).
NL80211_CMD_ASSOCIATE
association request and notification; like NL80211_CMD_AUTHENTICATE but for Association and Reassociation (similar to MLME-ASSOCIATE.request, MLME-REASSOCIATE.request, MLME-ASSOCIATE.confirm or MLME-REASSOCIATE.confirm primitives).
NL80211_CMD_DEAUTHENTICATE
deauthentication request and notification; like NL80211_CMD_AUTHENTICATE but for Deauthentication frames (similar to MLME-DEAUTHENTICATION.request and MLME-DEAUTHENTICATE.indication primitives).
NL80211_CMD_DISASSOCIATE
disassociation request and notification; like NL80211_CMD_AUTHENTICATE but for Disassociation frames (similar to MLME-DISASSOCIATE.request and MLME-DISASSOCIATE.indication primitives).
NL80211_CMD_MICHAEL_MIC_FAILURE
notification of a locally detected Michael MIC (part of TKIP) failure; sent on the "mlme" multicast group; the event includes NL80211_ATTR_MAC to describe the source MAC address of the frame with invalid MIC, NL80211_ATTR_KEY_TYPE to show the key type, NL80211_ATTR_KEY_IDX to indicate the key identifier, and NL80211_ATTR_KEY_SEQ to indicate the TSC value of the frame; this event matches with MLME-MICHAELMICFAILURE.indication primitive
NL80211_CMD_REG_BEACON_HINT
indicates to userspace that an AP beacon has been found while world roaming thus enabling active scan or any mode of operation that initiates TX (beacons) on a channel where we would not have been able to do either before. As an example if you are world roaming (regulatory domain set to world or if your driver is using a custom world roaming regulatory domain) and while doing a passive scan on the 5 GHz band you find an AP there (if not on a DFS channel) you will now be able to actively scan for that AP or use AP mode on your card on that same channel. Note that this will never be used for channels 1-11 on the 2 GHz band as they are always enabled world wide. This beacon hint is only sent if your device had either disabled active scanning or beaconing on a channel. We send to userspace the wiphy on which we removed a restriction from (NL80211_ATTR_WIPHY) and the channel on which this occurred before (NL80211_ATTR_FREQ_BEFORE) and after (NL80211_ATTR_FREQ_AFTER) the beacon hint was processed.
NL80211_CMD_JOIN_IBSS
Join a new IBSS -- given at least an SSID and a FREQ attribute (for the initial frequency if no peer can be found) and optionally a MAC (as BSSID) and FREQ_FIXED attribute if those should be fixed rather than automatically determined. Can only be executed on a network interface that is UP, and fixed BSSID/FREQ may be rejected. Another optional parameter is the beacon interval, given in the NL80211_ATTR_BEACON_INTERVAL attribute, which if not given defaults to 100 TU (102.4ms).
NL80211_CMD_LEAVE_IBSS
Leave the IBSS -- no special arguments, the IBSS is determined by the network interface.
NL80211_CMD_TESTMODE
testmode command, takes a wiphy (or ifindex) attribute to identify the device, and the TESTDATA blob attribute to pass through to the driver.
NL80211_CMD_CONNECT
connection request and notification; this command requests to connect to a specified network but without separating auth and assoc steps. For this, you need to specify the SSID in a NL80211_ATTR_SSID attribute, and can optionally specify the association IEs in NL80211_ATTR_IE, NL80211_ATTR_AUTH_TYPE, NL80211_ATTR_MAC, NL80211_ATTR_WIPHY_FREQ and NL80211_ATTR_CONTROL_PORT. It is also sent as an event, with the BSSID and response IEs when the connection is established or failed to be established. This can be determined by the STATUS_CODE attribute.
NL80211_CMD_ROAM
request that the card roam (currently not implemented), sent as an event when the card/driver roamed by itself.
NL80211_CMD_DISCONNECT
drop a given connection; also used to notify userspace that a connection was dropped by the AP or due to other reasons, for this the NL80211_ATTR_DISCONNECTED_BY_AP and NL80211_ATTR_REASON_CODE attributes are used.
NL80211_CMD_SET_WIPHY_NETNS
Set a wiphy's netns. Note that all devices associated with this wiphy must be down and will follow.
NL80211_CMD_GET_SURVEY
get survey resuls, e.g. channel occupation or noise level
NL80211_CMD_NEW_SURVEY_RESULTS
survey data notification (as a reply to NL80211_CMD_GET_SURVEY and on the "scan" multicast group)
__NL80211_CMD_AFTER_LAST
internal use
NL80211_CMD_MAX
highest used command number

Note

This command has been removed and it is only reserved at this point to avoid re-using existing command number. The functionality this command was planned for has been provided with cleaner design with the option to specify additional IEs in NL80211_CMD_TRIGGER_SCAN, NL80211_CMD_AUTHENTICATE, NL80211_CMD_ASSOCIATE, NL80211_CMD_DEAUTHENTICATE, and NL80211_CMD_DISASSOCIATE.

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_KEY_DEFAULT_MGMT,
NL80211_ATTR_MGMT_SUBTYPE,
NL80211_ATTR_IE,
NL80211_ATTR_MAX_NUM_SCAN_SSIDS,
NL80211_ATTR_SCAN_FREQUENCIES,
NL80211_ATTR_SCAN_SSIDS,
NL80211_ATTR_GENERATION,
NL80211_ATTR_BSS,
NL80211_ATTR_REG_INITIATOR,
NL80211_ATTR_REG_TYPE,
NL80211_ATTR_SUPPORTED_COMMANDS,
NL80211_ATTR_FRAME,
NL80211_ATTR_SSID,
NL80211_ATTR_AUTH_TYPE,
NL80211_ATTR_REASON_CODE,
NL80211_ATTR_KEY_TYPE,
NL80211_ATTR_MAX_SCAN_IE_LEN,
NL80211_ATTR_CIPHER_SUITES,
NL80211_ATTR_FREQ_BEFORE,
NL80211_ATTR_FREQ_AFTER,
NL80211_ATTR_FREQ_FIXED,
NL80211_ATTR_WIPHY_RETRY_SHORT,
NL80211_ATTR_WIPHY_RETRY_LONG,
NL80211_ATTR_WIPHY_FRAG_THRESHOLD,
NL80211_ATTR_WIPHY_RTS_THRESHOLD,
NL80211_ATTR_TIMED_OUT,
NL80211_ATTR_USE_MFP,
NL80211_ATTR_STA_FLAGS2,
NL80211_ATTR_CONTROL_PORT,
NL80211_ATTR_TESTDATA,
NL80211_ATTR_PRIVACY,
NL80211_ATTR_DISCONNECTED_BY_AP,
NL80211_ATTR_STATUS_CODE,
NL80211_ATTR_CIPHER_SUITES_PAIRWISE,
NL80211_ATTR_CIPHER_SUITE_GROUP,
NL80211_ATTR_WPA_VERSIONS,
NL80211_ATTR_AKM_SUITES,
NL80211_ATTR_REQ_IE,
NL80211_ATTR_RESP_IE,
NL80211_ATTR_PREV_BSSID,
NL80211_ATTR_KEY,
NL80211_ATTR_KEYS,
NL80211_ATTR_PID,
NL80211_ATTR_4ADDR,
NL80211_ATTR_SURVEY_INFO,
__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 (deprecated, use NL80211_ATTR_STA_FLAGS2)
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_KEY_DEFAULT_MGMT
-- undescribed --
NL80211_ATTR_MGMT_SUBTYPE
Management frame subtype for NL80211_CMD_SET_MGMT_EXTRA_IE.
NL80211_ATTR_IE
Information element(s) data (used, e.g., with NL80211_CMD_SET_MGMT_EXTRA_IE).
NL80211_ATTR_MAX_NUM_SCAN_SSIDS
number of SSIDs you can scan with a single scan request, a wiphy attribute.
NL80211_ATTR_SCAN_FREQUENCIES
nested attribute with frequencies (in MHz)
NL80211_ATTR_SCAN_SSIDS
nested attribute with SSIDs, leave out for passive scanning and include a zero-length SSID (wildcard) for wildcard scan
NL80211_ATTR_GENERATION
Used to indicate consistent snapshots for dumps. This number increases whenever the object list being dumped changes, and as such userspace can verify that it has obtained a complete and consistent snapshot by verifying that all dump messages contain the same generation number. If it changed then the list changed and the dump should be repeated completely from scratch.
NL80211_ATTR_BSS
scan result BSS
NL80211_ATTR_REG_INITIATOR
indicates who requested the regulatory domain currently in effect. This could be any of the NL80211_REGDOM_SET_BY_*
NL80211_ATTR_REG_TYPE
indicates the type of the regulatory domain currently set. This can be one of the nl80211_reg_type (NL80211_REGDOM_TYPE_*)
NL80211_ATTR_SUPPORTED_COMMANDS
wiphy attribute that specifies an array of command numbers (i.e. a mapping index to command number) that the driver for the given wiphy supports.
NL80211_ATTR_FRAME
frame data (binary attribute), including frame header and body, but not FCS; used, e.g., with NL80211_CMD_AUTHENTICATE and NL80211_CMD_ASSOCIATE events
NL80211_ATTR_SSID
SSID (binary attribute, 0..32 octets)
NL80211_ATTR_AUTH_TYPE
AuthenticationType, see enum nl80211_auth_type, represented as a u32
NL80211_ATTR_REASON_CODE
ReasonCode for NL80211_CMD_DEAUTHENTICATE and NL80211_CMD_DISASSOCIATE, u16
NL80211_ATTR_KEY_TYPE
Key Type, see enum nl80211_key_type, represented as a u32
NL80211_ATTR_MAX_SCAN_IE_LEN
maximum length of information elements that can be added to a scan request
NL80211_ATTR_CIPHER_SUITES
a set of u32 values indicating the supported cipher suites
NL80211_ATTR_FREQ_BEFORE
A channel which has suffered a regulatory change due to considerations from a beacon hint. This attribute reflects the state of the channel _before_ the beacon hint processing. This attributes consists of a nested attribute containing NL80211_FREQUENCY_ATTR_*
NL80211_ATTR_FREQ_AFTER
A channel which has suffered a regulatory change due to considerations from a beacon hint. This attribute reflects the state of the channel _after_ the beacon hint processing. This attributes consists of a nested attribute containing NL80211_FREQUENCY_ATTR_*
NL80211_ATTR_FREQ_FIXED
a flag indicating the IBSS should not try to look for other networks on different channels
NL80211_ATTR_WIPHY_RETRY_SHORT
TX retry limit for frames whose length is less than or equal to the RTS threshold; allowed range: 1..255; dot11ShortRetryLimit; u8
NL80211_ATTR_WIPHY_RETRY_LONG
TX retry limit for frames whose length is greater than the RTS threshold; allowed range: 1..255; dot11ShortLongLimit; u8
NL80211_ATTR_WIPHY_FRAG_THRESHOLD
fragmentation threshold, i.e., maximum length in octets for frames; allowed range: 256..8000, disable fragmentation with (u32)-1; dot11FragmentationThreshold; u32
NL80211_ATTR_WIPHY_RTS_THRESHOLD
RTS threshold (TX frames with length larger than or equal to this use RTS/CTS handshake); allowed range: 0..65536, disable with (u32)-1; dot11RTSThreshold; u32
NL80211_ATTR_TIMED_OUT
a flag indicating than an operation timed out; this is used, e.g., with NL80211_CMD_AUTHENTICATE event
NL80211_ATTR_USE_MFP
Whether management frame protection (IEEE 802.11w) is used for the association (enum nl80211_mfp, represented as a u32); this attribute can be used with NL80211_CMD_ASSOCIATE request
NL80211_ATTR_STA_FLAGS2
Attribute containing a struct nl80211_sta_flag_update.
NL80211_ATTR_CONTROL_PORT
A flag indicating whether user space controls IEEE 802.1X port, i.e., sets/clears NL80211_STA_FLAG_AUTHORIZED, in station mode. If the flag is included in NL80211_CMD_ASSOCIATE request, the driver will assume that the port is unauthorized until authorized by user space. Otherwise, port is marked authorized by default in station mode.
NL80211_ATTR_TESTDATA
Testmode data blob, passed through to the driver. We recommend using nested, driver-specific attributes within this.
NL80211_ATTR_PRIVACY
Flag attribute, used with connect, indicating that protected APs should be used.
NL80211_ATTR_DISCONNECTED_BY_AP
A flag indicating that the DISCONNECT event was due to the AP disconnecting the station, and not due to a local disconnect request.
NL80211_ATTR_STATUS_CODE
StatusCode for the NL80211_CMD_CONNECT event (u16)
NL80211_ATTR_CIPHER_SUITES_PAIRWISE
-- undescribed --
NL80211_ATTR_CIPHER_SUITE_GROUP
-- undescribed --
NL80211_ATTR_WPA_VERSIONS
Used with CONNECT and ASSOCIATE to indicate which WPA version(s) the AP we want to associate with is using (a u32 with flags from enum nl80211_wpa_versions).
NL80211_ATTR_AKM_SUITES
Used with CONNECT and ASSOCIATE to indicate which key management algorithm(s) to use (an array of u32).
NL80211_ATTR_REQ_IE
(Re)association request information elements as sent out by the card, for ROAM and successful CONNECT events.
NL80211_ATTR_RESP_IE
(Re)association response information elements as sent by peer, for ROAM and successful CONNECT events.
NL80211_ATTR_PREV_BSSID
previous BSSID, to be used by in ASSOCIATE commands to specify using a reassociate frame
NL80211_ATTR_KEY
key information in a nested attribute with NL80211_KEY_* sub-attributes
NL80211_ATTR_KEYS
array of keys for static WEP keys for connect and join_ibss, key information is in a nested attribute each with NL80211_KEY_* sub-attributes
NL80211_ATTR_PID
Process ID of a network namespace.
NL80211_ATTR_4ADDR
Use 4-address frames on a virtual interface
NL80211_ATTR_SURVEY_INFO
survey information about a channel, part of the survey response for NL80211_CMD_GET_SURVEY, nested attribute containing info as possible, see enum survey_info.
__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_MFP,
__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_MFP
station uses management frame protection
__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.)


struct nl80211_sta_flag_update - station flags mask/set

struct nl80211_sta_flag_update {
    __u32 mask;
    __u32 set;
};

Members

mask
mask of station flags to set
set
which values to set them to

Description

Both mask and set contain bits as per enum nl80211_sta_flags.

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_RX_PACKETS,
NL80211_STA_INFO_TX_PACKETS,
__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_RX_PACKETS
total received packet (u32, from this station)
NL80211_STA_INFO_TX_PACKETS
total transmitted packets (u32, to this station)
__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_SN_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_SN_VALID
the mesh path contains a valid SN
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_SN,
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_SN
-- 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_initiator

enum nl80211_reg_initiator {
NL80211_REGDOM_SET_BY_CORE,
NL80211_REGDOM_SET_BY_USER,
NL80211_REGDOM_SET_BY_DRIVER,
NL80211_REGDOM_SET_BY_COUNTRY_IE
};

Constants

NL80211_REGDOM_SET_BY_CORE
Core queried CRDA for a dynamic world regulatory domain.
NL80211_REGDOM_SET_BY_USER
User asked the wireless core to set the regulatory domain.
NL80211_REGDOM_SET_BY_DRIVER
a wireless drivers has hinted to the wireless core it thinks its knows the regulatory domain we should be in.
NL80211_REGDOM_SET_BY_COUNTRY_IE
the wireless core has received an 802.11 country information element with regulatory information it thinks we should consider.

enum nl80211_reg_type

enum nl80211_reg_type {
NL80211_REGDOM_TYPE_COUNTRY,
NL80211_REGDOM_TYPE_WORLD,
NL80211_REGDOM_TYPE_CUSTOM_WORLD,
NL80211_REGDOM_TYPE_INTERSECTION
};

Constants

NL80211_REGDOM_TYPE_COUNTRY
the regulatory domain set is one that pertains to a specific country. When this is set you can count on the ISO / IEC 3166 alpha2 country code being valid.
NL80211_REGDOM_TYPE_WORLD
the regulatory set domain is the world regulatory domain.
NL80211_REGDOM_TYPE_CUSTOM_WORLD
the regulatory domain set is a custom driver specific world regulatory domain. These do not apply system-wide and are only applicable to the individual devices which have requested them to be applied.
NL80211_REGDOM_TYPE_INTERSECTION
the regulatory domain set is the product of an intersection between two regulatory domains -- the previously set regulatory domain on the system and the last accepted regulatory domain request to be processed.

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_survey_info

enum nl80211_survey_info {
__NL80211_SURVEY_INFO_INVALID,
NL80211_SURVEY_INFO_FREQUENCY,
NL80211_SURVEY_INFO_NOISE,
__NL80211_SURVEY_INFO_AFTER_LAST,
NL80211_SURVEY_INFO_MAX
};

Constants

__NL80211_SURVEY_INFO_INVALID
attribute number 0 is reserved
NL80211_SURVEY_INFO_FREQUENCY
center frequency of channel
NL80211_SURVEY_INFO_NOISE
noise level of channel (u8, dBm)
__NL80211_SURVEY_INFO_AFTER_LAST
-- undescribed --
NL80211_SURVEY_INFO_MAX
-- undescribed --

Description

These attribute types are used with NL80211_ATTR_SURVEY_INFO when getting information about a survey.


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_HWMP_ROOTMODE,
__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_HWMP_ROOTMODE
-- undescribed --
__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

enum nl80211_bss

enum nl80211_bss {
__NL80211_BSS_INVALID,
NL80211_BSS_BSSID,
NL80211_BSS_FREQUENCY,
NL80211_BSS_TSF,
NL80211_BSS_BEACON_INTERVAL,
NL80211_BSS_CAPABILITY,
NL80211_BSS_INFORMATION_ELEMENTS,
NL80211_BSS_SIGNAL_MBM,
NL80211_BSS_SIGNAL_UNSPEC,
NL80211_BSS_STATUS,
NL80211_BSS_SEEN_MS_AGO,
__NL80211_BSS_AFTER_LAST,
NL80211_BSS_MAX
};

Constants

__NL80211_BSS_INVALID
invalid
NL80211_BSS_BSSID
-- undescribed --
NL80211_BSS_FREQUENCY
frequency in MHz (u32)
NL80211_BSS_TSF
TSF of the received probe response/beacon (u64)
NL80211_BSS_BEACON_INTERVAL
beacon interval of the (I)BSS (u16)
NL80211_BSS_CAPABILITY
capability field (CPU order, u16)
NL80211_BSS_INFORMATION_ELEMENTS
binary attribute containing the raw information elements from the probe response/beacon (bin)
NL80211_BSS_SIGNAL_MBM
signal strength of probe response/beacon in mBm (100 * dBm) (s32)
NL80211_BSS_SIGNAL_UNSPEC
signal strength of the probe response/beacon in unspecified units, scaled to 0..100 (u8)
NL80211_BSS_STATUS
status, if this BSS is "used"
NL80211_BSS_SEEN_MS_AGO
age of this BSS entry in ms
__NL80211_BSS_AFTER_LAST
internal
NL80211_BSS_MAX
highest BSS attribute

enum nl80211_bss_status

enum nl80211_bss_status {
NL80211_BSS_STATUS_AUTHENTICATED,
NL80211_BSS_STATUS_ASSOCIATED,
NL80211_BSS_STATUS_IBSS_JOINED
};

Constants

NL80211_BSS_STATUS_AUTHENTICATED
-- undescribed --
NL80211_BSS_STATUS_ASSOCIATED
-- undescribed --
NL80211_BSS_STATUS_IBSS_JOINED
-- undescribed --

enum nl80211_auth_type

enum nl80211_auth_type {
NL80211_AUTHTYPE_OPEN_SYSTEM,
NL80211_AUTHTYPE_SHARED_KEY,
NL80211_AUTHTYPE_FT,
NL80211_AUTHTYPE_NETWORK_EAP,
__NL80211_AUTHTYPE_NUM,
NL80211_AUTHTYPE_MAX,
NL80211_AUTHTYPE_AUTOMATIC
};

Constants

NL80211_AUTHTYPE_OPEN_SYSTEM
Open System authentication
NL80211_AUTHTYPE_SHARED_KEY
Shared Key authentication (WEP only)
NL80211_AUTHTYPE_FT
Fast BSS Transition (IEEE 802.11r)
NL80211_AUTHTYPE_NETWORK_EAP
Network EAP (some Cisco APs and mainly LEAP)
__NL80211_AUTHTYPE_NUM
internal
NL80211_AUTHTYPE_MAX
maximum valid auth algorithm
NL80211_AUTHTYPE_AUTOMATIC
determine automatically (if necessary by trying multiple times); this is invalid in netlink -- leave out the attribute for this on CONNECT commands.

enum nl80211_key_type

enum nl80211_key_type {
NL80211_KEYTYPE_GROUP,
NL80211_KEYTYPE_PAIRWISE,
NL80211_KEYTYPE_PEERKEY
};

Constants

NL80211_KEYTYPE_GROUP
Group (broadcast/multicast) key
NL80211_KEYTYPE_PAIRWISE
Pairwise (unicast/individual) key
NL80211_KEYTYPE_PEERKEY
PeerKey (DLS)

enum nl80211_mfp

enum nl80211_mfp {
NL80211_MFP_NO,
NL80211_MFP_REQUIRED
};

Constants

NL80211_MFP_NO
Management frame protection not used
NL80211_MFP_REQUIRED
Management frame protection required

enum nl80211_key_attributes

enum nl80211_key_attributes {
__NL80211_KEY_INVALID,
NL80211_KEY_DATA,
NL80211_KEY_IDX,
NL80211_KEY_CIPHER,
NL80211_KEY_SEQ,
NL80211_KEY_DEFAULT,
NL80211_KEY_DEFAULT_MGMT,
__NL80211_KEY_AFTER_LAST,
NL80211_KEY_MAX
};

Constants

__NL80211_KEY_INVALID
invalid
NL80211_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_KEY_IDX
key ID (u8, 0-3)
NL80211_KEY_CIPHER
key cipher suite (u32, as defined by IEEE 802.11 section 7.3.2.25.1, e.g. 0x000FAC04)
NL80211_KEY_SEQ
transmit key sequence number (IV/PN) for TKIP and CCMP keys, each six bytes in little endian
NL80211_KEY_DEFAULT
flag indicating default key
NL80211_KEY_DEFAULT_MGMT
flag indicating default management key
__NL80211_KEY_AFTER_LAST
internal
NL80211_KEY_MAX
highest key attribute