Family nl80211 netlink specification¶
Summary¶
Netlink API for 802.11 wireless devices
Operations¶
get-wiphy¶
Get information about a wiphy or dump a list of all wiphys. Requests to dump get-wiphy should unconditionally include the split-wiphy-dump flag in the request.
- attribute-set:
- do:
- request
- attributes:
- [ - wiphy,- wdev,- ifindex]
 
- reply
- attributes:
- [ - bands,- cipher-suites,- control-port-ethertype,- ext-capa,- ext-capa-mask,- ext-features,- feature-flags,- generation,- ht-capability-mask,- interface-combinations,- mac,- max-csa-counters,- max-match-sets,- max-num-akm-suites,- max-num-pmkids,- max-num-scan-ssids,- max-num-sched-scan-plans,- max-num-sched-scan-ssids,- max-remain-on-channel-duration,- max-scan-ie-len,- max-scan-plan-interval,- max-scan-plan-iterations,- max-sched-scan-ie-len,- offchannel-tx-ok,- rx-frame-types,- sar-spec,- sched-scan-max-reqs,- software-iftypes,- support-ap-uapsd,- supported-commands,- supported-iftypes,- tdls-external-setup,- tdls-support,- tx-frame-types,- txq-limit,- txq-memory-limit,- txq-quantum,- txq-stats,- vht-capability-mask,- wiphy,- wiphy-antenna-avail-rx,- wiphy-antenna-avail-tx,- wiphy-antenna-rx,- wiphy-antenna-tx,- wiphy-bands,- wiphy-coverage-class,- wiphy-frag-threshold,- wiphy-name,- wiphy-retry-long,- wiphy-retry-short,- wiphy-rts-threshold,- wowlan-triggers-supported]
 
 
- dump:
- request
- attributes:
- [ - wiphy,- wdev,- ifindex,- split-wiphy-dump]
 
- reply
- attributes:
- [ - bands,- cipher-suites,- control-port-ethertype,- ext-capa,- ext-capa-mask,- ext-features,- feature-flags,- generation,- ht-capability-mask,- interface-combinations,- mac,- max-csa-counters,- max-match-sets,- max-num-akm-suites,- max-num-pmkids,- max-num-scan-ssids,- max-num-sched-scan-plans,- max-num-sched-scan-ssids,- max-remain-on-channel-duration,- max-scan-ie-len,- max-scan-plan-interval,- max-scan-plan-iterations,- max-sched-scan-ie-len,- offchannel-tx-ok,- rx-frame-types,- sar-spec,- sched-scan-max-reqs,- software-iftypes,- support-ap-uapsd,- supported-commands,- supported-iftypes,- tdls-external-setup,- tdls-support,- tx-frame-types,- txq-limit,- txq-memory-limit,- txq-quantum,- txq-stats,- vht-capability-mask,- wiphy,- wiphy-antenna-avail-rx,- wiphy-antenna-avail-tx,- wiphy-antenna-rx,- wiphy-antenna-tx,- wiphy-bands,- wiphy-coverage-class,- wiphy-frag-threshold,- wiphy-name,- wiphy-retry-long,- wiphy-retry-short,- wiphy-rts-threshold,- wowlan-triggers-supported]
 
 
get-interface¶
Get information about an interface or dump a list of all interfaces
- attribute-set:
- do:
- request
- attributes:
- [ - ifname]
 
- reply
- attributes:
- [ - ifname,- iftype,- ifindex,- wiphy,- wdev,- mac,- generation,- txq-stats,- 4addr]
 
 
- dump:
- request
- attributes:
- [ - ifname]
 
- reply
- attributes:
- [ - ifname,- iftype,- ifindex,- wiphy,- wdev,- mac,- generation,- txq-stats,- 4addr]
 
 
get-protocol-features¶
Get information about supported protocol features
- attribute-set:
- do:
- request
- attributes:
- [ - protocol-features]
 
- reply
- attributes:
- [ - protocol-features]
 
 
Multicast groups¶
- config 
- scan 
- regulatory 
- mlme 
- vendor 
- nan 
- testmode 
Definitions¶
commands¶
- type:
- enum 
- entries:
- unspec
- get-wiphy
- set-wiphy
- new-wiphy
- del-wiphy
- get-interface
- set-interface
- new-interface
- del-interface
- get-key
- set-key
- new-key
- del-key
- get-beacon
- set-beacon
- new-beacon
- del-beacon
- get-station
- set-station
- new-station
- del-station
- get-mpath
- set-mpath
- new-mpath
- del-mpath
- set-bss
- set-reg
- req-set-reg
- get-mesh-config
- set-mesh-config
- set-mgmt-extra-ie
- get-reg
- get-scan
- trigger-scan
- new-scan-results
- scan-aborted
- reg-change
- authenticate
- associate
- deauthenticate
- disassociate
- michael-mic-failure
- reg-beacon-hint
- join-ibss
- leave-ibss
- testmode
- connect
- roam
- disconnect
- set-wiphy-netns
- get-survey
- new-survey-results
- set-pmksa
- del-pmksa
- flush-pmksa
- remain-on-channel
- cancel-remain-on-channel
- set-tx-bitrate-mask
- register-action
- action
- action-tx-status
- set-power-save
- get-power-save
- set-cqm
- notify-cqm
- set-channel
- set-wds-peer
- frame-wait-cancel
- join-mesh
- leave-mesh
- unprot-deauthenticate
- unprot-disassociate
- new-peer-candidate
- get-wowlan
- set-wowlan
- start-sched-scan
- stop-sched-scan
- sched-scan-results
- sched-scan-stopped
- set-rekey-offload
- pmksa-candidate
- tdls-oper
- tdls-mgmt
- unexpected-frame
- probe-client
- register-beacons
- unexpected-4-addr-frame
- set-noack-map
- ch-switch-notify
- start-p2p-device
- stop-p2p-device
- conn-failed
- set-mcast-rate
- set-mac-acl
- radar-detect
- get-protocol-features
- update-ft-ies
- ft-event
- crit-protocol-start
- crit-protocol-stop
- get-coalesce
- set-coalesce
- channel-switch
- vendor
- set-qos-map
- add-tx-ts
- del-tx-ts
- get-mpp
- join-ocb
- leave-ocb
- ch-switch-started-notify
- tdls-channel-switch
- tdls-cancel-channel-switch
- wiphy-reg-change
- abort-scan
- start-nan
- stop-nan
- add-nan-function
- del-nan-function
- change-nan-config
- nan-match
- set-multicast-to-unicast
- update-connect-params
- set-pmk
- del-pmk
- port-authorized
- reload-regdb
- external-auth
- sta-opmode-changed
- control-port-frame
- get-ftm-responder-stats
- peer-measurement-start
- peer-measurement-result
- peer-measurement-complete
- notify-radar
- update-owe-info
- probe-mesh-link
- set-tid-config
- unprot-beacon
- control-port-frame-tx-status
- set-sar-specs
- obss-color-collision
- color-change-request
- color-change-started
- color-change-aborted
- color-change-completed
- set-fils-aad
- assoc-comeback
- add-link
- remove-link
- add-link-sta
- modify-link-sta
- remove-link-sta
- set-hw-timestamp
- links-removed
- set-tid-to-link-mapping
 
feature-flags¶
- type:
- flags 
- entries:
- sk-tx-status
- ht-ibss
- inactivity-timer
- cell-base-reg-hints
- p2p-device-needs-channel
- sae
- low-priority-scan
- scan-flush
- ap-scan
- vif-txpower
- need-obss-scan
- p2p-go-ctwin
- p2p-go-oppps
- reserved
- advertise-chan-limits
- full-ap-client-state
- userspace-mpm
- active-monitor
- ap-mode-chan-width-change
- ds-param-set-ie-in-probes
- wfa-tpc-ie-in-probes
- quiet
- tx-power-insertion
- ackto-estimation
- static-smps
- dynamic-smps
- supports-wmm-admission
- mac-on-create
- tdls-channel-switch
- scan-random-mac-addr
- sched-scan-random-mac-addr
- no-random-mac-addr
 
ieee80211-mcs-info¶
- type:
- struct 
- members:
- rx-mask (binary):
- rx-highest (u16):
- tx-params (u8):
- reserved (binary):
 
- rx-mask (
ieee80211-vht-mcs-info¶
- type:
- struct 
- members:
- rx-mcs-map (u16):
- rx-highest (u16):
- tx-mcs-map (u16):
- tx-highest (u16):
 
- rx-mcs-map (
ieee80211-ht-cap¶
- type:
- struct 
- members:
- cap-info (u16):
- ampdu-params-info (u8):
- mcs (binary):
- extended-ht-cap-info (u16):
- tx-bf-cap-info (u32):
- antenna-selection-info (u8):
 
- cap-info (
channel-type¶
- type:
- enum 
- entries:
- no-ht
- ht20
- ht40minus
- ht40plus
 
sta-flag-update¶
- type:
- struct 
- members:
- mask (u32):
- set (u32):
 
- mask (
protocol-features¶
- type:
- flags 
- entries:
- split-wiphy-dump
 
Attribute sets¶
nl80211-attrs¶
wiphy (u32)¶
wiphy-name (string)¶
ifindex (u32)¶
ifname (string)¶
iftype (u32)¶
mac (binary)¶
- display-hint:
- mac 
key-data (binary)¶
key-idx (u8)¶
key-cipher (u32)¶
key-seq (binary)¶
key-default (flag)¶
beacon-interval (u32)¶
dtim-period (u32)¶
beacon-head (binary)¶
beacon-tail (binary)¶
sta-aid (u16)¶
sta-flags (binary)¶
sta-listen-interval (u16)¶
sta-supported-rates (binary)¶
sta-vlan (u32)¶
sta-info (binary)¶
wiphy-bands (nest)¶
- nested-attributes:
mntr-flags (binary)¶
mesh-id (binary)¶
sta-plink-action (u8)¶
mpath-next-hop (binary)¶
- display-hint:
- mac 
mpath-info (binary)¶
bss-cts-prot (u8)¶
bss-short-preamble (u8)¶
bss-short-slot-time (u8)¶
ht-capability (binary)¶
supported-iftypes (nest)¶
- nested-attributes:
reg-alpha2 (binary)¶
reg-rules (binary)¶
mesh-config (binary)¶
bss-basic-rates (binary)¶
wiphy-txq-params (binary)¶
wiphy-freq (u32)¶
wiphy-channel-type (u32)¶
- enum:
key-default-mgmt (flag)¶
mgmt-subtype (u8)¶
ie (binary)¶
max-num-scan-ssids (u8)¶
scan-frequencies (binary)¶
scan-ssids (binary)¶
generation (u32)¶
bss (binary)¶
reg-initiator (u8)¶
reg-type (u8)¶
supported-commands (indexed-array)¶
- sub-type:
- u32 
- enum:
frame (binary)¶
ssid (binary)¶
auth-type (u32)¶
reason-code (u16)¶
key-type (u32)¶
max-scan-ie-len (u16)¶
cipher-suites (binary)¶
- sub-type:
- u32 
- display-hint:
- hex 
freq-before (binary)¶
freq-after (binary)¶
freq-fixed (flag)¶
wiphy-retry-short (u8)¶
wiphy-retry-long (u8)¶
wiphy-frag-threshold (u32)¶
wiphy-rts-threshold (u32)¶
timed-out (flag)¶
use-mfp (u32)¶
sta-flags2 (binary)¶
- struct:
control-port (flag)¶
testdata (binary)¶
privacy (flag)¶
disconnected-by-ap (flag)¶
status-code (u16)¶
cipher-suites-pairwise (binary)¶
cipher-suite-group (u32)¶
wpa-versions (u32)¶
akm-suites (binary)¶
req-ie (binary)¶
resp-ie (binary)¶
prev-bssid (binary)¶
key (binary)¶
keys (binary)¶
pid (u32)¶
4addr (u8)¶
survey-info (binary)¶
pmkid (binary)¶
max-num-pmkids (u8)¶
duration (u32)¶
wiphy-coverage-class (u8)¶
tx-rates (binary)¶
frame-match (binary)¶
ack (flag)¶
ps-state (u32)¶
cqm (binary)¶
local-state-change (flag)¶
ap-isolate (u8)¶
wiphy-tx-power-setting (u32)¶
wiphy-tx-power-level (u32)¶
tx-frame-types (nest)¶
- nested-attributes:
rx-frame-types (nest)¶
- nested-attributes:
frame-type (u16)¶
control-port-ethertype (flag)¶
control-port-no-encrypt (flag)¶
support-ibss-rsn (flag)¶
wiphy-antenna-tx (u32)¶
wiphy-antenna-rx (u32)¶
mcast-rate (u32)¶
offchannel-tx-ok (flag)¶
bss-ht-opmode (u16)¶
key-default-types (binary)¶
max-remain-on-channel-duration (u32)¶
mesh-setup (binary)¶
wiphy-antenna-avail-tx (u32)¶
wiphy-antenna-avail-rx (u32)¶
support-mesh-auth (flag)¶
sta-plink-state (u8)¶
wowlan-triggers (binary)¶
wowlan-triggers-supported (nest)¶
- nested-attributes:
sched-scan-interval (u32)¶
interface-combinations (indexed-array)¶
- sub-type:
- nest 
- nested-attributes:
software-iftypes (nest)¶
- nested-attributes:
rekey-data (binary)¶
max-num-sched-scan-ssids (u8)¶
max-sched-scan-ie-len (u16)¶
scan-supp-rates (binary)¶
ie-probe-resp (binary)¶
ie-assoc-resp (binary)¶
sta-wme (binary)¶
support-ap-uapsd (flag)¶
roam-support (flag)¶
sched-scan-match (binary)¶
max-match-sets (u8)¶
pmksa-candidate (binary)¶
tx-no-cck-rate (flag)¶
tdls-action (u8)¶
tdls-dialog-token (u8)¶
tdls-operation (u8)¶
tdls-support (flag)¶
tdls-external-setup (flag)¶
device-ap-sme (u32)¶
dont-wait-for-ack (flag)¶
feature-flags (u32)¶
- enum:
- enum-as-flags:
- True 
probe-resp-offload (u32)¶
probe-resp (binary)¶
dfs-region (u8)¶
disable-ht (flag)¶
ht-capability-mask (binary)¶
- struct:
noack-map (u16)¶
inactivity-timeout (u16)¶
rx-signal-dbm (u32)¶
bg-scan-period (u16)¶
wdev (u64)¶
user-reg-hint-type (u32)¶
conn-failed-reason (u32)¶
auth-data (binary)¶
vht-capability (binary)¶
scan-flags (u32)¶
channel-width (u32)¶
center-freq1 (u32)¶
center-freq2 (u32)¶
p2p-ctwindow (u8)¶
p2p-oppps (u8)¶
local-mesh-power-mode (u32)¶
acl-policy (u32)¶
mac-addrs (binary)¶
mac-acl-max (u32)¶
radar-event (u32)¶
ext-capa (binary)¶
ext-capa-mask (binary)¶
sta-capability (u16)¶
sta-ext-capability (binary)¶
protocol-features (u32)¶
- enum:
split-wiphy-dump (flag)¶
disable-vht (flag)¶
vht-capability-mask (binary)¶
mdid (u16)¶
ie-ric (binary)¶
crit-prot-id (u16)¶
max-crit-prot-duration (u16)¶
peer-aid (u16)¶
coalesce-rule (binary)¶
ch-switch-count (u32)¶
ch-switch-block-tx (flag)¶
csa-ies (binary)¶
cntdwn-offs-beacon (binary)¶
cntdwn-offs-presp (binary)¶
rxmgmt-flags (binary)¶
sta-supported-channels (binary)¶
sta-supported-oper-classes (binary)¶
handle-dfs (flag)¶
support-5-mhz (flag)¶
support-10-mhz (flag)¶
opmode-notif (u8)¶
vendor-id (u32)¶
vendor-subcmd (u32)¶
vendor-data (binary)¶
vendor-events (binary)¶
qos-map (binary)¶
mac-hint (binary)¶
- display-hint:
- mac 
wiphy-freq-hint (u32)¶
max-ap-assoc-sta (u32)¶
tdls-peer-capability (u32)¶
socket-owner (flag)¶
csa-c-offsets-tx (binary)¶
max-csa-counters (u8)¶
tdls-initiator (flag)¶
use-rrm (flag)¶
wiphy-dyn-ack (flag)¶
tsid (u8)¶
user-prio (u8)¶
admitted-time (u16)¶
smps-mode (u8)¶
oper-class (u8)¶
mac-mask (binary)¶
- display-hint:
- mac 
wiphy-self-managed-reg (flag)¶
ext-features (binary)¶
survey-radio-stats (binary)¶
netns-fd (u32)¶
sched-scan-delay (u32)¶
reg-indoor (flag)¶
max-num-sched-scan-plans (u32)¶
max-scan-plan-interval (u32)¶
max-scan-plan-iterations (u32)¶
sched-scan-plans (binary)¶
pbss (flag)¶
bss-select (binary)¶
sta-support-p2p-ps (u8)¶
pad (binary)¶
iftype-ext-capa (binary)¶
mu-mimo-group-data (binary)¶
mu-mimo-follow-mac-addr (binary)¶
- display-hint:
- mac 
scan-start-time-tsf (u64)¶
scan-start-time-tsf-bssid (binary)¶
measurement-duration (u16)¶
measurement-duration-mandatory (flag)¶
mesh-peer-aid (u16)¶
nan-master-pref (u8)¶
bands (u32)¶
nan-func (binary)¶
nan-match (binary)¶
fils-kek (binary)¶
fils-nonces (binary)¶
multicast-to-unicast-enabled (flag)¶
bssid (binary)¶
- display-hint:
- mac 
sched-scan-relative-rssi (s8)¶
sched-scan-rssi-adjust (binary)¶
timeout-reason (u32)¶
fils-erp-username (binary)¶
fils-erp-realm (binary)¶
fils-erp-next-seq-num (u16)¶
fils-erp-rrk (binary)¶
fils-cache-id (binary)¶
pmk (binary)¶
sched-scan-multi (flag)¶
sched-scan-max-reqs (u32)¶
want-1x-4way-hs (flag)¶
pmkr0-name (binary)¶
external-auth-action (u32)¶
external-auth-support (flag)¶
nss (u8)¶
ack-signal (s32)¶
control-port-over-nl80211 (flag)¶
txq-stats (nest)¶
- nested-attributes:
txq-limit (u32)¶
txq-memory-limit (u32)¶
txq-quantum (u32)¶
he-capability (binary)¶
ftm-responder (binary)¶
ftm-responder-stats (binary)¶
timeout (u32)¶
peer-measurements (binary)¶
airtime-weight (u16)¶
sta-tx-power-setting (u8)¶
sta-tx-power (s16)¶
sae-password (binary)¶
twt-responder (flag)¶
he-obss-pd (binary)¶
wiphy-edmg-channels (u8)¶
wiphy-edmg-bw-config (u8)¶
vlan-id (u16)¶
he-bss-color (binary)¶
iftype-akm-suites (binary)¶
tid-config (binary)¶
control-port-no-preauth (flag)¶
pmk-lifetime (u32)¶
pmk-reauth-threshold (u8)¶
receive-multicast (flag)¶
wiphy-freq-offset (u32)¶
center-freq1-offset (u32)¶
scan-freq-khz (binary)¶
he-6ghz-capability (binary)¶
fils-discovery (binary)¶
unsol-bcast-probe-resp (binary)¶
s1g-capability (binary)¶
s1g-capability-mask (binary)¶
sae-pwe (u8)¶
reconnect-requested (binary)¶
sar-spec (nest)¶
- nested-attributes:
disable-he (flag)¶
obss-color-bitmap (u64)¶
color-change-count (u8)¶
color-change-color (u8)¶
color-change-elems (binary)¶
mbssid-config (binary)¶
mbssid-elems (binary)¶
radar-background (flag)¶
ap-settings-flags (u32)¶
eht-capability (binary)¶
disable-eht (flag)¶
mlo-links (binary)¶
mlo-link-id (u8)¶
mld-addr (binary)¶
- display-hint:
- mac 
mlo-support (flag)¶
max-num-akm-suites (binary)¶
eml-capability (u16)¶
mld-capa-and-ops (u16)¶
tx-hw-timestamp (u64)¶
rx-hw-timestamp (u64)¶
td-bitmap (binary)¶
punct-bitmap (u32)¶
max-hw-timestamp-peers (u16)¶
hw-timestamp-enabled (flag)¶
ema-rnr-elems (binary)¶
mlo-link-disabled (flag)¶
bss-dump-include-use-data (flag)¶
mlo-ttlm-dlink (u16)¶
mlo-ttlm-ulink (u16)¶
assoc-spp-amsdu (flag)¶
wiphy-radios (binary)¶
wiphy-interface-combinations (binary)¶
vif-radio-mask (u32)¶
frame-type-attrs¶
frame-type¶
wiphy-bands¶
2ghz (nest)¶
- doc:
- 2.4 GHz ISM band 
- value:
- 0 
- nested-attributes:
5ghz (nest)¶
- doc:
- around 5 GHz band (4.9 - 5.7 GHz) 
- nested-attributes:
60ghz (nest)¶
- doc:
- around 60 GHz band (58.32 - 69.12 GHz) 
- nested-attributes:
6ghz (nest)¶
- nested-attributes:
s1ghz (nest)¶
- nested-attributes:
lc (nest)¶
- nested-attributes:
band-attrs¶
freqs (indexed-array)¶
- sub-type:
- nest 
- nested-attributes:
rates (indexed-array)¶
- sub-type:
- nest 
- nested-attributes:
ht-mcs-set (binary)¶
- struct:
ht-capa (u16)¶
ht-ampdu-factor (u8)¶
ht-ampdu-density (u8)¶
vht-mcs-set (binary)¶
- struct:
vht-capa (u32)¶
iftype-data (indexed-array)¶
- sub-type:
- nest 
- nested-attributes:
edmg-channels (binary)¶
edmg-bw-config (binary)¶
s1g-mcs-nss-set (binary)¶
s1g-capa (binary)¶
bitrate-attrs¶
rate (u32)¶
2ghz-shortpreamble (flag)¶
frequency-attrs¶
freq (u32)¶
disabled (flag)¶
no-ir (flag)¶
no-ibss (flag)¶
- name-prefix:
- __nl80211-frequency-attr- 
radar (flag)¶
max-tx-power (u32)¶
dfs-state (u32)¶
dfs-time (binary)¶
no-ht40-minus (binary)¶
no-ht40-plus (binary)¶
no-80mhz (binary)¶
no-160mhz (binary)¶
dfs-cac-time (binary)¶
indoor-only (binary)¶
ir-concurrent (binary)¶
no-20mhz (binary)¶
no-10mhz (binary)¶
wmm (indexed-array)¶
- sub-type:
- nest 
- nested-attributes:
no-he (binary)¶
offset (u32)¶
1mhz (binary)¶
2mhz (binary)¶
4mhz (binary)¶
8mhz (binary)¶
16mhz (binary)¶
no-320mhz (binary)¶
no-eht (binary)¶
psd (binary)¶
dfs-concurrent (binary)¶
no-6ghz-vlp-client (binary)¶
no-6ghz-afc-client (binary)¶
can-monitor (binary)¶
allow-6ghz-vlp-ap (binary)¶
if-combination-attributes¶
limits (indexed-array)¶
- sub-type:
- nest 
- nested-attributes:
maxnum (u32)¶
sta-ap-bi-match (flag)¶
num-channels (u32)¶
radar-detect-widths (u32)¶
radar-detect-regions (u32)¶
bi-min-gcd (u32)¶
iface-limit-attributes¶
max (u32)¶
types (nest)¶
- nested-attributes:
iftype-data-attrs¶
iftypes (binary)¶
he-cap-mac (binary)¶
he-cap-phy (binary)¶
he-cap-mcs-set (binary)¶
he-cap-ppe (binary)¶
he-6ghz-capa (binary)¶
vendor-elems (binary)¶
eht-cap-mac (binary)¶
eht-cap-phy (binary)¶
eht-cap-mcs-set (binary)¶
eht-cap-ppe (binary)¶
iftype-attrs¶
unspecified (nest)¶
- value:
- 0 
- nested-attributes:
adhoc (nest)¶
- nested-attributes:
station (nest)¶
- nested-attributes:
ap (nest)¶
- nested-attributes:
ap-vlan (nest)¶
- nested-attributes:
wds (nest)¶
- nested-attributes:
monitor (nest)¶
- nested-attributes:
mesh-point (nest)¶
- nested-attributes:
p2p-client (nest)¶
- nested-attributes:
p2p-go (nest)¶
- nested-attributes:
p2p-device (nest)¶
- nested-attributes:
ocb (nest)¶
- nested-attributes:
nan (nest)¶
- nested-attributes:
sar-attributes¶
type (u32)¶
specs (indexed-array)¶
- sub-type:
- nest 
- nested-attributes: