xref: /linux/Documentation/netlink/specs/nl80211.yaml (revision e7e86d7697c6ed1dbbde18d7185c35b6967945ed)
1# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
2---
3name: nl80211
4protocol: genetlink-legacy
5
6doc:
7  Netlink API for 802.11 wireless devices
8
9definitions:
10  -
11    name: commands
12    type: enum
13    entries:
14      - unspec
15      - get-wiphy
16      - set-wiphy
17      - new-wiphy
18      - del-wiphy
19      - get-interface
20      - set-interface
21      - new-interface
22      - del-interface
23      - get-key
24      - set-key
25      - new-key
26      - del-key
27      - get-beacon
28      - set-beacon
29      - new-beacon
30      - del-beacon
31      - get-station
32      - set-station
33      - new-station
34      - del-station
35      - get-mpath
36      - set-mpath
37      - new-mpath
38      - del-mpath
39      - set-bss
40      - set-reg
41      - req-set-reg
42      - get-mesh-config
43      - set-mesh-config
44      - set-mgmt-extra-ie
45      - get-reg
46      - get-scan
47      - trigger-scan
48      - new-scan-results
49      - scan-aborted
50      - reg-change
51      - authenticate
52      - associate
53      - deauthenticate
54      - disassociate
55      - michael-mic-failure
56      - reg-beacon-hint
57      - join-ibss
58      - leave-ibss
59      - testmode
60      - connect
61      - roam
62      - disconnect
63      - set-wiphy-netns
64      - get-survey
65      - new-survey-results
66      - set-pmksa
67      - del-pmksa
68      - flush-pmksa
69      - remain-on-channel
70      - cancel-remain-on-channel
71      - set-tx-bitrate-mask
72      - register-action
73      - action
74      - action-tx-status
75      - set-power-save
76      - get-power-save
77      - set-cqm
78      - notify-cqm
79      - set-channel
80      - set-wds-peer
81      - frame-wait-cancel
82      - join-mesh
83      - leave-mesh
84      - unprot-deauthenticate
85      - unprot-disassociate
86      - new-peer-candidate
87      - get-wowlan
88      - set-wowlan
89      - start-sched-scan
90      - stop-sched-scan
91      - sched-scan-results
92      - sched-scan-stopped
93      - set-rekey-offload
94      - pmksa-candidate
95      - tdls-oper
96      - tdls-mgmt
97      - unexpected-frame
98      - probe-client
99      - register-beacons
100      - unexpected-4-addr-frame
101      - set-noack-map
102      - ch-switch-notify
103      - start-p2p-device
104      - stop-p2p-device
105      - conn-failed
106      - set-mcast-rate
107      - set-mac-acl
108      - radar-detect
109      - get-protocol-features
110      - update-ft-ies
111      - ft-event
112      - crit-protocol-start
113      - crit-protocol-stop
114      - get-coalesce
115      - set-coalesce
116      - channel-switch
117      - vendor
118      - set-qos-map
119      - add-tx-ts
120      - del-tx-ts
121      - get-mpp
122      - join-ocb
123      - leave-ocb
124      - ch-switch-started-notify
125      - tdls-channel-switch
126      - tdls-cancel-channel-switch
127      - wiphy-reg-change
128      - abort-scan
129      - start-nan
130      - stop-nan
131      - add-nan-function
132      - del-nan-function
133      - change-nan-config
134      - nan-match
135      - set-multicast-to-unicast
136      - update-connect-params
137      - set-pmk
138      - del-pmk
139      - port-authorized
140      - reload-regdb
141      - external-auth
142      - sta-opmode-changed
143      - control-port-frame
144      - get-ftm-responder-stats
145      - peer-measurement-start
146      - peer-measurement-result
147      - peer-measurement-complete
148      - notify-radar
149      - update-owe-info
150      - probe-mesh-link
151      - set-tid-config
152      - unprot-beacon
153      - control-port-frame-tx-status
154      - set-sar-specs
155      - obss-color-collision
156      - color-change-request
157      - color-change-started
158      - color-change-aborted
159      - color-change-completed
160      - set-fils-aad
161      - assoc-comeback
162      - add-link
163      - remove-link
164      - add-link-sta
165      - modify-link-sta
166      - remove-link-sta
167      - set-hw-timestamp
168      - links-removed
169      - set-tid-to-link-mapping
170  -
171    name: feature-flags
172    type: flags
173    entries:
174      - sk-tx-status
175      - ht-ibss
176      - inactivity-timer
177      - cell-base-reg-hints
178      - p2p-device-needs-channel
179      - sae
180      - low-priority-scan
181      - scan-flush
182      - ap-scan
183      - vif-txpower
184      - need-obss-scan
185      - p2p-go-ctwin
186      - p2p-go-oppps
187      - reserved
188      - advertise-chan-limits
189      - full-ap-client-state
190      - userspace-mpm
191      - active-monitor
192      - ap-mode-chan-width-change
193      - ds-param-set-ie-in-probes
194      - wfa-tpc-ie-in-probes
195      - quiet
196      - tx-power-insertion
197      - ackto-estimation
198      - static-smps
199      - dynamic-smps
200      - supports-wmm-admission
201      - mac-on-create
202      - tdls-channel-switch
203      - scan-random-mac-addr
204      - sched-scan-random-mac-addr
205      - no-random-mac-addr
206  -
207    name: channel-type
208    type: enum
209    entries:
210      - no-ht
211      - ht20
212      - ht40minus
213      - ht40plus
214  -
215    name: sta-flag-update
216    type: struct
217    members:
218      -
219        name: mask
220        type: u32
221      -
222        name: set
223        type: u32
224  -
225    name: protocol-features
226    type: flags
227    entries:
228      - split-wiphy-dump
229
230attribute-sets:
231  -
232    name: nl80211-attrs
233    name-prefix: nl80211-attr-
234    enum-name: nl80211-attrs
235    attr-max-name: num-nl80211-attr
236    attributes:
237      -
238        name: wiphy
239        type: u32
240      -
241        name: wiphy-name
242        type: string
243      -
244        name: ifindex
245        type: u32
246      -
247        name: ifname
248        type: string
249      -
250        name: iftype
251        type: u32
252      -
253        name: mac
254        type: binary
255        display-hint: mac
256      -
257        name: key-data
258        type: binary
259      -
260        name: key-idx
261        type: u8
262      -
263        name: key-cipher
264        type: u32
265      -
266        name: key-seq
267        type: binary
268      -
269        name: key-default
270        type: flag
271      -
272        name: beacon-interval
273        type: u32
274      -
275        name: dtim-period
276        type: u32
277      -
278        name: beacon-head
279        type: binary
280      -
281        name: beacon-tail
282        type: binary
283      -
284        name: sta-aid
285        type: u16
286      -
287        name: sta-flags
288        type: binary  # TODO: nest
289      -
290        name: sta-listen-interval
291        type: u16
292      -
293        name: sta-supported-rates
294        type: binary
295      -
296        name: sta-vlan
297        type: u32
298      -
299        name: sta-info
300        type: binary  # TODO: nest
301      -
302        name: wiphy-bands
303        type: nest
304        nested-attributes: wiphy-bands
305      -
306        name: mntr-flags
307        type: binary  # TODO: nest
308      -
309        name: mesh-id
310        type: binary
311      -
312        name: sta-plink-action
313        type: u8
314      -
315        name: mpath-next-hop
316        type: binary
317        display-hint: mac
318      -
319        name: mpath-info
320        type: binary  # TODO: nest
321      -
322        name: bss-cts-prot
323        type: u8
324      -
325        name: bss-short-preamble
326        type: u8
327      -
328        name: bss-short-slot-time
329        type: u8
330      -
331        name: ht-capability
332        type: binary
333      -
334        name: supported-iftypes
335        type: nest
336        nested-attributes: supported-iftypes
337      -
338        name: reg-alpha2
339        type: binary
340      -
341        name: reg-rules
342        type: binary  # TODO: nest
343      -
344        name: mesh-config
345        type: binary  # TODO: nest
346      -
347        name: bss-basic-rates
348        type: binary
349      -
350        name: wiphy-txq-params
351        type: binary  # TODO: nest
352      -
353        name: wiphy-freq
354        type: u32
355      -
356        name: wiphy-channel-type
357        type: u32
358        enum: channel-type
359      -
360        name: key-default-mgmt
361        type: flag
362      -
363        name: mgmt-subtype
364        type: u8
365      -
366        name: ie
367        type: binary
368      -
369        name: max-num-scan-ssids
370        type: u8
371      -
372        name: scan-frequencies
373        type: binary  # TODO: nest
374      -
375        name: scan-ssids
376        type: binary  # TODO: nest
377      -
378        name: generation
379        type: u32
380      -
381        name: bss
382        type: binary  # TODO: nest
383      -
384        name: reg-initiator
385        type: u8
386      -
387        name: reg-type
388        type: u8
389      -
390        name: supported-commands
391        type: indexed-array
392        sub-type: u32
393        enum: commands
394      -
395        name: frame
396        type: binary
397      -
398        name: ssid
399        type: binary
400      -
401        name: auth-type
402        type: u32
403      -
404        name: reason-code
405        type: u16
406      -
407        name: key-type
408        type: u32
409      -
410        name: max-scan-ie-len
411        type: u16
412      -
413        name: cipher-suites
414        type: binary
415        sub-type: u32
416        display-hint: hex
417      -
418        name: freq-before
419        type: binary  # TODO: nest
420      -
421        name: freq-after
422        type: binary  # TODO: nest
423      -
424        name: freq-fixed
425        type: flag
426      -
427        name: wiphy-retry-short
428        type: u8
429      -
430        name: wiphy-retry-long
431        type: u8
432      -
433        name: wiphy-frag-threshold
434        type: u32
435      -
436        name: wiphy-rts-threshold
437        type: u32
438      -
439        name: timed-out
440        type: flag
441      -
442        name: use-mfp
443        type: u32
444      -
445        name: sta-flags2
446        type: binary
447        struct: sta-flag-update
448      -
449        name: control-port
450        type: flag
451      -
452        name: testdata
453        type: binary
454      -
455        name: privacy
456        type: flag
457      -
458        name: disconnected-by-ap
459        type: flag
460      -
461        name: status-code
462        type: u16
463      -
464        name: cipher-suites-pairwise
465        type: binary
466      -
467        name: cipher-suite-group
468        type: u32
469      -
470        name: wpa-versions
471        type: u32
472      -
473        name: akm-suites
474        type: binary
475      -
476        name: req-ie
477        type: binary
478      -
479        name: resp-ie
480        type: binary
481      -
482        name: prev-bssid
483        type: binary
484      -
485        name: key
486        type: binary  # TODO: nest
487      -
488        name: keys
489        type: binary  # TODO: nest
490      -
491        name: pid
492        type: u32
493      -
494        name: 4addr
495        type: u8
496      -
497        name: survey-info
498        type: binary  # TODO: nest
499      -
500        name: pmkid
501        type: binary
502      -
503        name: max-num-pmkids
504        type: u8
505      -
506        name: duration
507        type: u32
508      -
509        name: cookie
510        type: u64
511      -
512        name: wiphy-coverage-class
513        type: u8
514      -
515        name: tx-rates
516        type: binary  # TODO: nest
517      -
518        name: frame-match
519        type: binary
520      -
521        name: ack
522        type: flag
523      -
524        name: ps-state
525        type: u32
526      -
527        name: cqm
528        type: binary  # TODO: nest
529      -
530        name: local-state-change
531        type: flag
532      -
533        name: ap-isolate
534        type: u8
535      -
536        name: wiphy-tx-power-setting
537        type: u32
538      -
539        name: wiphy-tx-power-level
540        type: u32
541      -
542        name: tx-frame-types
543        type: nest
544        nested-attributes: iftype-attrs
545      -
546        name: rx-frame-types
547        type: nest
548        nested-attributes: iftype-attrs
549      -
550        name: frame-type
551        type: u16
552      -
553        name: control-port-ethertype
554        type: flag
555      -
556        name: control-port-no-encrypt
557        type: flag
558      -
559        name: support-ibss-rsn
560        type: flag
561      -
562        name: wiphy-antenna-tx
563        type: u32
564      -
565        name: wiphy-antenna-rx
566        type: u32
567      -
568        name: mcast-rate
569        type: u32
570      -
571        name: offchannel-tx-ok
572        type: flag
573      -
574        name: bss-ht-opmode
575        type: u16
576      -
577        name: key-default-types
578        type: binary  # TODO: nest
579      -
580        name: max-remain-on-channel-duration
581        type: u32
582      -
583        name: mesh-setup
584        type: binary  # TODO: nest
585      -
586        name: wiphy-antenna-avail-tx
587        type: u32
588      -
589        name: wiphy-antenna-avail-rx
590        type: u32
591      -
592        name: support-mesh-auth
593        type: flag
594      -
595        name: sta-plink-state
596        type: u8
597      -
598        name: wowlan-triggers
599        type: binary  # TODO: nest
600      -
601        name: wowlan-triggers-supported
602        type: nest
603        nested-attributes: wowlan-triggers-attrs
604      -
605        name: sched-scan-interval
606        type: u32
607      -
608        name: interface-combinations
609        type: indexed-array
610        sub-type: nest
611        nested-attributes: if-combination-attributes
612      -
613        name: software-iftypes
614        type: nest
615        nested-attributes: supported-iftypes
616      -
617        name: rekey-data
618        type: binary  # TODO: nest
619      -
620        name: max-num-sched-scan-ssids
621        type: u8
622      -
623        name: max-sched-scan-ie-len
624        type: u16
625      -
626        name: scan-supp-rates
627        type: binary  # TODO: nest
628      -
629        name: hidden-ssid
630        type: u32
631      -
632        name: ie-probe-resp
633        type: binary
634      -
635        name: ie-assoc-resp
636        type: binary
637      -
638        name: sta-wme
639        type: binary  # TODO: nest
640      -
641        name: support-ap-uapsd
642        type: flag
643      -
644        name: roam-support
645        type: flag
646      -
647        name: sched-scan-match
648        type: binary  # TODO: nest
649      -
650        name: max-match-sets
651        type: u8
652      -
653        name: pmksa-candidate
654        type: binary  # TODO: nest
655      -
656        name: tx-no-cck-rate
657        type: flag
658      -
659        name: tdls-action
660        type: u8
661      -
662        name: tdls-dialog-token
663        type: u8
664      -
665        name: tdls-operation
666        type: u8
667      -
668        name: tdls-support
669        type: flag
670      -
671        name: tdls-external-setup
672        type: flag
673      -
674        name: device-ap-sme
675        type: u32
676      -
677        name: dont-wait-for-ack
678        type: flag
679      -
680        name: feature-flags
681        type: u32
682        enum: feature-flags
683        enum-as-flags: true
684      -
685        name: probe-resp-offload
686        type: u32
687      -
688        name: probe-resp
689        type: binary
690      -
691        name: dfs-region
692        type: u8
693      -
694        name: disable-ht
695        type: flag
696      -
697        name: ht-capability-mask
698        type: binary
699      -
700        name: noack-map
701        type: u16
702      -
703        name: inactivity-timeout
704        type: u16
705      -
706        name: rx-signal-dbm
707        type: u32
708      -
709        name: bg-scan-period
710        type: u16
711      -
712        name: wdev
713        type: u64
714      -
715        name: user-reg-hint-type
716        type: u32
717      -
718        name: conn-failed-reason
719        type: u32
720      -
721        name: auth-data
722        type: binary
723      -
724        name: vht-capability
725        type: binary
726      -
727        name: scan-flags
728        type: u32
729      -
730        name: channel-width
731        type: u32
732      -
733        name: center-freq1
734        type: u32
735      -
736        name: center-freq2
737        type: u32
738      -
739        name: p2p-ctwindow
740        type: u8
741      -
742        name: p2p-oppps
743        type: u8
744      -
745        name: local-mesh-power-mode
746        type: u32
747      -
748        name: acl-policy
749        type: u32
750      -
751        name: mac-addrs
752        type: binary  # TODO: nest
753      -
754        name: mac-acl-max
755        type: u32
756      -
757        name: radar-event
758        type: u32
759      -
760        name: ext-capa
761        type: binary
762      -
763        name: ext-capa-mask
764        type: binary
765      -
766        name: sta-capability
767        type: u16
768      -
769        name: sta-ext-capability
770        type: binary
771      -
772        name: protocol-features
773        type: u32
774        enum: protocol-features
775      -
776        name: split-wiphy-dump
777        type: flag
778      -
779        name: disable-vht
780        type: flag
781      -
782        name: vht-capability-mask
783        type: binary
784      -
785        name: mdid
786        type: u16
787      -
788        name: ie-ric
789        type: binary
790      -
791        name: crit-prot-id
792        type: u16
793      -
794        name: max-crit-prot-duration
795        type: u16
796      -
797        name: peer-aid
798        type: u16
799      -
800        name: coalesce-rule
801        type: binary  # TODO: nest
802      -
803        name: ch-switch-count
804        type: u32
805      -
806        name: ch-switch-block-tx
807        type: flag
808      -
809        name: csa-ies
810        type: binary  # TODO: nest
811      -
812        name: cntdwn-offs-beacon
813        type: binary
814      -
815        name: cntdwn-offs-presp
816        type: binary
817      -
818        name: rxmgmt-flags
819        type: binary
820      -
821        name: sta-supported-channels
822        type: binary
823      -
824        name: sta-supported-oper-classes
825        type: binary
826      -
827        name: handle-dfs
828        type: flag
829      -
830        name: support-5-mhz
831        type: flag
832      -
833        name: support-10-mhz
834        type: flag
835      -
836        name: opmode-notif
837        type: u8
838      -
839        name: vendor-id
840        type: u32
841      -
842        name: vendor-subcmd
843        type: u32
844      -
845        name: vendor-data
846        type: binary
847      -
848        name: vendor-events
849        type: binary
850      -
851        name: qos-map
852        type: binary
853      -
854        name: mac-hint
855        type: binary
856        display-hint: mac
857      -
858        name: wiphy-freq-hint
859        type: u32
860      -
861        name: max-ap-assoc-sta
862        type: u32
863      -
864        name: tdls-peer-capability
865        type: u32
866      -
867        name: socket-owner
868        type: flag
869      -
870        name: csa-c-offsets-tx
871        type: binary
872      -
873        name: max-csa-counters
874        type: u8
875      -
876        name: tdls-initiator
877        type: flag
878      -
879        name: use-rrm
880        type: flag
881      -
882        name: wiphy-dyn-ack
883        type: flag
884      -
885        name: tsid
886        type: u8
887      -
888        name: user-prio
889        type: u8
890      -
891        name: admitted-time
892        type: u16
893      -
894        name: smps-mode
895        type: u8
896      -
897        name: oper-class
898        type: u8
899      -
900        name: mac-mask
901        type: binary
902        display-hint: mac
903      -
904        name: wiphy-self-managed-reg
905        type: flag
906      -
907        name: ext-features
908        type: binary
909      -
910        name: survey-radio-stats
911        type: binary
912      -
913        name: netns-fd
914        type: u32
915      -
916        name: sched-scan-delay
917        type: u32
918      -
919        name: reg-indoor
920        type: flag
921      -
922        name: max-num-sched-scan-plans
923        type: u32
924      -
925        name: max-scan-plan-interval
926        type: u32
927      -
928        name: max-scan-plan-iterations
929        type: u32
930      -
931        name: sched-scan-plans
932        type: binary  # TODO: nest
933      -
934        name: pbss
935        type: flag
936      -
937        name: bss-select
938        type: binary  # TODO: nest
939      -
940        name: sta-support-p2p-ps
941        type: u8
942      -
943        name: pad
944        type: binary
945      -
946        name: iftype-ext-capa
947        type: binary  # TODO: nest
948      -
949        name: mu-mimo-group-data
950        type: binary
951      -
952        name: mu-mimo-follow-mac-addr
953        type: binary
954        display-hint: mac
955      -
956        name: scan-start-time-tsf
957        type: u64
958      -
959        name: scan-start-time-tsf-bssid
960        type: binary
961      -
962        name: measurement-duration
963        type: u16
964      -
965        name: measurement-duration-mandatory
966        type: flag
967      -
968        name: mesh-peer-aid
969        type: u16
970      -
971        name: nan-master-pref
972        type: u8
973      -
974        name: bands
975        type: u32
976      -
977        name: nan-func
978        type: binary  # TODO: nest
979      -
980        name: nan-match
981        type: binary  # TODO: nest
982      -
983        name: fils-kek
984        type: binary
985      -
986        name: fils-nonces
987        type: binary
988      -
989        name: multicast-to-unicast-enabled
990        type: flag
991      -
992        name: bssid
993        type: binary
994        display-hint: mac
995      -
996        name: sched-scan-relative-rssi
997        type: s8
998      -
999        name: sched-scan-rssi-adjust
1000        type: binary
1001      -
1002        name: timeout-reason
1003        type: u32
1004      -
1005        name: fils-erp-username
1006        type: binary
1007      -
1008        name: fils-erp-realm
1009        type: binary
1010      -
1011        name: fils-erp-next-seq-num
1012        type: u16
1013      -
1014        name: fils-erp-rrk
1015        type: binary
1016      -
1017        name: fils-cache-id
1018        type: binary
1019      -
1020        name: pmk
1021        type: binary
1022      -
1023        name: sched-scan-multi
1024        type: flag
1025      -
1026        name: sched-scan-max-reqs
1027        type: u32
1028      -
1029        name: want-1x-4way-hs
1030        type: flag
1031      -
1032        name: pmkr0-name
1033        type: binary
1034      -
1035        name: port-authorized
1036        type: binary
1037      -
1038        name: external-auth-action
1039        type: u32
1040      -
1041        name: external-auth-support
1042        type: flag
1043      -
1044        name: nss
1045        type: u8
1046      -
1047        name: ack-signal
1048        type: s32
1049      -
1050        name: control-port-over-nl80211
1051        type: flag
1052      -
1053        name: txq-stats
1054        type: nest
1055        nested-attributes: txq-stats-attrs
1056      -
1057        name: txq-limit
1058        type: u32
1059      -
1060        name: txq-memory-limit
1061        type: u32
1062      -
1063        name: txq-quantum
1064        type: u32
1065      -
1066        name: he-capability
1067        type: binary
1068      -
1069        name: ftm-responder
1070        type: binary  # TODO: nest
1071      -
1072        name: ftm-responder-stats
1073        type: binary  # TODO: nest
1074      -
1075        name: timeout
1076        type: u32
1077      -
1078        name: peer-measurements
1079        type: binary  # TODO: nest
1080      -
1081        name: airtime-weight
1082        type: u16
1083      -
1084        name: sta-tx-power-setting
1085        type: u8
1086      -
1087        name: sta-tx-power
1088        type: s16
1089      -
1090        name: sae-password
1091        type: binary
1092      -
1093        name: twt-responder
1094        type: flag
1095      -
1096        name: he-obss-pd
1097        type: binary  # TODO: nest
1098      -
1099        name: wiphy-edmg-channels
1100        type: u8
1101      -
1102        name: wiphy-edmg-bw-config
1103        type: u8
1104      -
1105        name: vlan-id
1106        type: u16
1107      -
1108        name: he-bss-color
1109        type: binary  # TODO: nest
1110      -
1111        name: iftype-akm-suites
1112        type: binary  # TODO: nest
1113      -
1114        name: tid-config
1115        type: binary  # TODO: nest
1116      -
1117        name: control-port-no-preauth
1118        type: flag
1119      -
1120        name: pmk-lifetime
1121        type: u32
1122      -
1123        name: pmk-reauth-threshold
1124        type: u8
1125      -
1126        name: receive-multicast
1127        type: flag
1128      -
1129        name: wiphy-freq-offset
1130        type: u32
1131      -
1132        name: center-freq1-offset
1133        type: u32
1134      -
1135        name: scan-freq-khz
1136        type: binary  # TODO: nest
1137      -
1138        name: he-6ghz-capability
1139        type: binary
1140      -
1141        name: fils-discovery
1142        type: binary  # TOOD: nest
1143      -
1144        name: unsol-bcast-probe-resp
1145        type: binary  # TOOD: nest
1146      -
1147        name: s1g-capability
1148        type: binary
1149      -
1150        name: s1g-capability-mask
1151        type: binary
1152      -
1153        name: sae-pwe
1154        type: u8
1155      -
1156        name: reconnect-requested
1157        type: binary
1158      -
1159        name: sar-spec
1160        type: nest
1161        nested-attributes: sar-attributes
1162      -
1163        name: disable-he
1164        type: flag
1165      -
1166        name: obss-color-bitmap
1167        type: u64
1168      -
1169        name: color-change-count
1170        type: u8
1171      -
1172        name: color-change-color
1173        type: u8
1174      -
1175        name: color-change-elems
1176        type: binary  # TODO: nest
1177      -
1178        name: mbssid-config
1179        type: binary  # TODO: nest
1180      -
1181        name: mbssid-elems
1182        type: binary  # TODO: nest
1183      -
1184        name: radar-background
1185        type: flag
1186      -
1187        name: ap-settings-flags
1188        type: u32
1189      -
1190        name: eht-capability
1191        type: binary
1192      -
1193        name: disable-eht
1194        type: flag
1195      -
1196        name: mlo-links
1197        type: binary  # TODO: nest
1198      -
1199        name: mlo-link-id
1200        type: u8
1201      -
1202        name: mld-addr
1203        type: binary
1204        display-hint: mac
1205      -
1206        name: mlo-support
1207        type: flag
1208      -
1209        name: max-num-akm-suites
1210        type: binary
1211      -
1212        name: eml-capability
1213        type: u16
1214      -
1215        name: mld-capa-and-ops
1216        type: u16
1217      -
1218        name: tx-hw-timestamp
1219        type: u64
1220      -
1221        name: rx-hw-timestamp
1222        type: u64
1223      -
1224        name: td-bitmap
1225        type: binary
1226      -
1227        name: punct-bitmap
1228        type: u32
1229      -
1230        name: max-hw-timestamp-peers
1231        type: u16
1232      -
1233        name: hw-timestamp-enabled
1234        type: flag
1235      -
1236        name: ema-rnr-elems
1237        type: binary  # TODO: nest
1238      -
1239        name: mlo-link-disabled
1240        type: flag
1241      -
1242        name: bss-dump-include-use-data
1243        type: flag
1244      -
1245        name: mlo-ttlm-dlink
1246        type: u16
1247      -
1248        name: mlo-ttlm-ulink
1249        type: u16
1250      -
1251        name: assoc-spp-amsdu
1252        type: flag
1253      -
1254        name: wiphy-radios
1255        type: binary  # TODO: nest
1256      -
1257        name: wiphy-interface-combinations
1258        type: binary  # TODO: nest
1259      -
1260        name: vif-radio-mask
1261        type: u32
1262  -
1263    name: frame-type-attrs
1264    subset-of: nl80211-attrs
1265    attributes:
1266      -
1267        name: frame-type
1268  -
1269    name: wiphy-bands
1270    name-prefix: nl80211-band-
1271    attr-max-name: num-nl80211-bands
1272    attributes:
1273      -
1274        name: 2ghz
1275        doc: 2.4 GHz ISM band
1276        value: 0
1277        type: nest
1278        nested-attributes: band-attrs
1279      -
1280        name: 5ghz
1281        doc: around 5 GHz band (4.9 - 5.7 GHz)
1282        type: nest
1283        nested-attributes: band-attrs
1284      -
1285        name: 60ghz
1286        doc: around 60 GHz band (58.32 - 69.12 GHz)
1287        type: nest
1288        nested-attributes: band-attrs
1289      -
1290        name: 6ghz
1291        type: nest
1292        nested-attributes: band-attrs
1293      -
1294        name: s1ghz
1295        type: nest
1296        nested-attributes: band-attrs
1297      -
1298        name: lc
1299        type: nest
1300        nested-attributes: band-attrs
1301  -
1302    name: band-attrs
1303    enum-name: nl80211-band-attr
1304    name-prefix: nl80211-band-attr-
1305    attributes:
1306      -
1307        name: freqs
1308        type: indexed-array
1309        sub-type: nest
1310        nested-attributes: frequency-attrs
1311      -
1312        name: rates
1313        type: indexed-array
1314        sub-type: nest
1315        nested-attributes: bitrate-attrs
1316      -
1317        name: ht-mcs-set
1318        type: binary
1319      -
1320        name: ht-capa
1321        type: u16
1322      -
1323        name: ht-ampdu-factor
1324        type: u8
1325      -
1326        name: ht-ampdu-density
1327        type: u8
1328      -
1329        name: vht-mcs-set
1330        type: binary
1331      -
1332        name: vht-capa
1333        type: u32
1334      -
1335        name: iftype-data
1336        type: indexed-array
1337        sub-type: nest
1338        nested-attributes: iftype-data-attrs
1339      -
1340        name: edmg-channels
1341        type: binary
1342      -
1343        name: edmg-bw-config
1344        type: binary
1345      -
1346        name: s1g-mcs-nss-set
1347        type: binary
1348      -
1349        name: s1g-capa
1350        type: binary
1351  -
1352    name: bitrate-attrs
1353    name-prefix: nl80211-bitrate-attr-
1354    attributes:
1355      -
1356        name: rate
1357        type: u32
1358      -
1359        name: 2ghz-shortpreamble
1360        type: flag
1361  -
1362    name: frequency-attrs
1363    name-prefix: nl80211-frequency-attr-
1364    attributes:
1365      -
1366        name: freq
1367        type: u32
1368      -
1369        name: disabled
1370        type: flag
1371      -
1372        name: no-ir
1373        type: flag
1374      -
1375        name: no-ibss
1376        name-prefix: __nl80211-frequency-attr-
1377        type: flag
1378      -
1379        name: radar
1380        type: flag
1381      -
1382        name: max-tx-power
1383        type: u32
1384      -
1385        name: dfs-state
1386        type: u32
1387      -
1388        name: dfs-time
1389        type: binary
1390      -
1391        name: no-ht40-minus
1392        type: binary
1393      -
1394        name: no-ht40-plus
1395        type: binary
1396      -
1397        name: no-80mhz
1398        type: binary
1399      -
1400        name: no-160mhz
1401        type: binary
1402      -
1403        name: dfs-cac-time
1404        type: binary
1405      -
1406        name: indoor-only
1407        type: binary
1408      -
1409        name: ir-concurrent
1410        type: binary
1411      -
1412        name: no-20mhz
1413        type: binary
1414      -
1415        name: no-10mhz
1416        type: binary
1417      -
1418        name: wmm
1419        type: indexed-array
1420        sub-type: nest
1421        nested-attributes: wmm-attrs
1422      -
1423        name: no-he
1424        type: binary
1425      -
1426        name: offset
1427        type: u32
1428      -
1429        name: 1mhz
1430        type: binary
1431      -
1432        name: 2mhz
1433        type: binary
1434      -
1435        name: 4mhz
1436        type: binary
1437      -
1438        name: 8mhz
1439        type: binary
1440      -
1441        name: 16mhz
1442        type: binary
1443      -
1444        name: no-320mhz
1445        type: binary
1446      -
1447        name: no-eht
1448        type: binary
1449      -
1450        name: psd
1451        type: binary
1452      -
1453        name: dfs-concurrent
1454        type: binary
1455      -
1456        name: no-6ghz-vlp-client
1457        type: binary
1458      -
1459        name: no-6ghz-afc-client
1460        type: binary
1461      -
1462        name: can-monitor
1463        type: binary
1464      -
1465        name: allow-6ghz-vlp-ap
1466        type: binary
1467  -
1468    name: if-combination-attributes
1469    enum-name: nl80211-if-combination-attrs
1470    name-prefix: nl80211-iface-comb-
1471    attr-max-name: max-nl80211-iface-comb
1472    attributes:
1473      -
1474        name: limits
1475        type: indexed-array
1476        sub-type: nest
1477        nested-attributes: iface-limit-attributes
1478      -
1479        name: maxnum
1480        type: u32
1481      -
1482        name: sta-ap-bi-match
1483        type: flag
1484      -
1485        name: num-channels
1486        type: u32
1487      -
1488        name: radar-detect-widths
1489        type: u32
1490      -
1491        name: radar-detect-regions
1492        type: u32
1493      -
1494        name: bi-min-gcd
1495        type: u32
1496  -
1497    name: iface-limit-attributes
1498    enum-name: nl80211-iface-limit-attrs
1499    name-prefix: nl80211-iface-limit-
1500    attr-max-name: max-nl80211-iface-limit
1501    attributes:
1502      -
1503        name: max
1504        type: u32
1505      -
1506        name: types
1507        type: nest
1508        nested-attributes: supported-iftypes
1509  -
1510    name: iftype-data-attrs
1511    name-prefix: nl80211-band-iftype-attr-
1512    attributes:
1513      -
1514        name: iftypes
1515        type: binary
1516      -
1517        name: he-cap-mac
1518        type: binary
1519      -
1520        name: he-cap-phy
1521        type: binary
1522      -
1523        name: he-cap-mcs-set
1524        type: binary
1525      -
1526        name: he-cap-ppe
1527        type: binary
1528      -
1529        name: he-6ghz-capa
1530        type: binary
1531      -
1532        name: vendor-elems
1533        type: binary
1534      -
1535        name: eht-cap-mac
1536        type: binary
1537      -
1538        name: eht-cap-phy
1539        type: binary
1540      -
1541        name: eht-cap-mcs-set
1542        type: binary
1543      -
1544        name: eht-cap-ppe
1545        type: binary
1546  -
1547    name: iftype-attrs
1548    enum-name: nl80211-iftype
1549    name-prefix: nl80211-iftype-
1550    attributes:
1551      -
1552        name: unspecified
1553        type: nest
1554        value: 0
1555        nested-attributes: frame-type-attrs
1556      -
1557        name: adhoc
1558        type: nest
1559        nested-attributes: frame-type-attrs
1560      -
1561        name: station
1562        type: nest
1563        nested-attributes: frame-type-attrs
1564      -
1565        name: ap
1566        type: nest
1567        nested-attributes: frame-type-attrs
1568      -
1569        name: ap-vlan
1570        type: nest
1571        nested-attributes: frame-type-attrs
1572      -
1573        name: wds
1574        type: nest
1575        nested-attributes: frame-type-attrs
1576      -
1577        name: monitor
1578        type: nest
1579        nested-attributes: frame-type-attrs
1580      -
1581        name: mesh-point
1582        type: nest
1583        nested-attributes: frame-type-attrs
1584      -
1585        name: p2p-client
1586        type: nest
1587        nested-attributes: frame-type-attrs
1588      -
1589        name: p2p-go
1590        type: nest
1591        nested-attributes: frame-type-attrs
1592      -
1593        name: p2p-device
1594        type: nest
1595        nested-attributes: frame-type-attrs
1596      -
1597        name: ocb
1598        type: nest
1599        nested-attributes: frame-type-attrs
1600      -
1601        name: nan
1602        type: nest
1603        nested-attributes: frame-type-attrs
1604  -
1605    name: sar-attributes
1606    enum-name: nl80211-sar-attrs
1607    name-prefix: nl80211-sar-attr-
1608    attributes:
1609      -
1610        name: type
1611        type: u32
1612      -
1613        name: specs
1614        type: indexed-array
1615        sub-type: nest
1616        nested-attributes: sar-specs
1617  -
1618    name: sar-specs
1619    enum-name: nl80211-sar-specs-attrs
1620    name-prefix: nl80211-sar-attr-specs-
1621    attributes:
1622      -
1623        name: power
1624        type: s32
1625      -
1626        name: range-index
1627        type: u32
1628      -
1629        name: start-freq
1630        type: u32
1631      -
1632        name: end-freq
1633        type: u32
1634  -
1635    name: supported-iftypes
1636    enum-name: nl80211-iftype
1637    name-prefix: nl80211-iftype-
1638    attributes:
1639      -
1640        name: adhoc
1641        type: flag
1642      -
1643        name: station
1644        type: flag
1645      -
1646        name: ap
1647        type: flag
1648      -
1649        name: ap-vlan
1650        type: flag
1651      -
1652        name: wds
1653        type: flag
1654      -
1655        name: monitor
1656        type: flag
1657      -
1658        name: mesh-point
1659        type: flag
1660      -
1661        name: p2p-client
1662        type: flag
1663      -
1664        name: p2p-go
1665        type: flag
1666      -
1667        name: p2p-device
1668        type: flag
1669      -
1670        name: ocb
1671        type: flag
1672      -
1673        name: nan
1674        type: flag
1675  -
1676    name: txq-stats-attrs
1677    name-prefix: nl80211-txq-stats-
1678    attributes:
1679      -
1680        name: backlog-bytes
1681        type: u32
1682      -
1683        name: backlog-packets
1684        type: u32
1685      -
1686        name: flows
1687        type: u32
1688      -
1689        name: drops
1690        type: u32
1691      -
1692        name: ecn-marks
1693        type: u32
1694      -
1695        name: overlimit
1696        type: u32
1697      -
1698        name: overmemory
1699        type: u32
1700      -
1701        name: collisions
1702        type: u32
1703      -
1704        name: tx-bytes
1705        type: u32
1706      -
1707        name: tx-packets
1708        type: u32
1709      -
1710        name: max-flows
1711        type: u32
1712  -
1713    name: wmm-attrs
1714    enum-name: nl80211-wmm-rule
1715    name-prefix: nl80211-wmmr-
1716    attributes:
1717      -
1718        name: cw-min
1719        type: u16
1720      -
1721        name: cw-max
1722        type: u16
1723      -
1724        name: aifsn
1725        type: u8
1726      -
1727        name: txop
1728        type: u16
1729  -
1730    name: wowlan-triggers-attrs
1731    enum-name: nl80211-wowlan-triggers
1732    name-prefix: nl80211-wowlan-trig-
1733    attr-max-name: max-nl80211-wowlan-trig
1734    attributes:
1735      -
1736        name: any
1737        type: flag
1738      -
1739        name: disconnect
1740        type: flag
1741      -
1742        name: magic-pkt
1743        type: flag
1744      -
1745        name: pkt-pattern
1746        type: flag
1747      -
1748        name: gtk-rekey-supported
1749        type: flag
1750      -
1751        name: gtk-rekey-failure
1752        type: flag
1753      -
1754        name: eap-ident-request
1755        type: flag
1756      -
1757        name: 4way-handshake
1758        type: flag
1759      -
1760        name: rfkill-release
1761        type: flag
1762      -
1763        name: wakeup-pkt-80211
1764        type: flag
1765      -
1766        name: wakeup-pkt-80211-len
1767        type: flag
1768      -
1769        name: wakeup-pkt-8023
1770        type: flag
1771      -
1772        name: wakeup-pkt-8023-len
1773        type: flag
1774      -
1775        name: tcp-connection
1776        type: flag
1777      -
1778        name: wakeup-tcp-match
1779        type: flag
1780      -
1781        name: wakeup-tcp-connlost
1782        type: flag
1783      -
1784        name: wakeup-tcp-nomoretokens
1785        type: flag
1786      -
1787        name: net-detect
1788        type: flag
1789      -
1790        name: net-detect-results
1791        type: flag
1792      -
1793        name: unprotected-deauth-disassoc
1794        type: flag
1795
1796operations:
1797  enum-model: directional
1798  list:
1799    -
1800      name: get-wiphy
1801      doc: |
1802        Get information about a wiphy or dump a list of all wiphys. Requests to
1803        dump get-wiphy should unconditionally include the split-wiphy-dump flag
1804        in the request.
1805      attribute-set: nl80211-attrs
1806      do:
1807        request:
1808          value: 1
1809          attributes:
1810            - wiphy
1811            - wdev
1812            - ifindex
1813        reply:
1814          value: 3
1815          attributes: &wiphy-reply-attrs
1816            - bands
1817            - cipher-suites
1818            - control-port-ethertype
1819            - ext-capa
1820            - ext-capa-mask
1821            - ext-features
1822            - feature-flags
1823            - generation
1824            - ht-capability-mask
1825            - interface-combinations
1826            - mac
1827            - max-csa-counters
1828            - max-match-sets
1829            - max-num-akm-suites
1830            - max-num-pmkids
1831            - max-num-scan-ssids
1832            - max-num-sched-scan-plans
1833            - max-num-sched-scan-ssids
1834            - max-remain-on-channel-duration
1835            - max-scan-ie-len
1836            - max-scan-plan-interval
1837            - max-scan-plan-iterations
1838            - max-sched-scan-ie-len
1839            - offchannel-tx-ok
1840            - rx-frame-types
1841            - sar-spec
1842            - sched-scan-max-reqs
1843            - software-iftypes
1844            - support-ap-uapsd
1845            - supported-commands
1846            - supported-iftypes
1847            - tdls-external-setup
1848            - tdls-support
1849            - tx-frame-types
1850            - txq-limit
1851            - txq-memory-limit
1852            - txq-quantum
1853            - txq-stats
1854            - vht-capability-mask
1855            - wiphy
1856            - wiphy-antenna-avail-rx
1857            - wiphy-antenna-avail-tx
1858            - wiphy-antenna-rx
1859            - wiphy-antenna-tx
1860            - wiphy-bands
1861            - wiphy-coverage-class
1862            - wiphy-frag-threshold
1863            - wiphy-name
1864            - wiphy-retry-long
1865            - wiphy-retry-short
1866            - wiphy-rts-threshold
1867            - wowlan-triggers-supported
1868      dump:
1869        request:
1870          attributes:
1871            - wiphy
1872            - wdev
1873            - ifindex
1874            - split-wiphy-dump
1875        reply:
1876          attributes: *wiphy-reply-attrs
1877    -
1878      name: get-interface
1879      doc: Get information about an interface or dump a list of all interfaces
1880      attribute-set: nl80211-attrs
1881      do:
1882        request:
1883          value: 5
1884          attributes:
1885            - ifname
1886        reply:
1887          value: 7
1888          attributes: &interface-reply-attrs
1889            - ifname
1890            - iftype
1891            - ifindex
1892            - wiphy
1893            - wdev
1894            - mac
1895            - generation
1896            - txq-stats
1897            - 4addr
1898      dump:
1899        request:
1900          attributes:
1901            - ifname
1902        reply:
1903          attributes: *interface-reply-attrs
1904    -
1905      name: get-protocol-features
1906      doc: Get information about supported protocol features
1907      attribute-set: nl80211-attrs
1908      do:
1909        request:
1910          value: 95
1911          attributes:
1912            - protocol-features
1913        reply:
1914          value: 95
1915          attributes:
1916            - protocol-features
1917
1918mcast-groups:
1919  list:
1920    -
1921      name: config
1922    -
1923      name: scan
1924    -
1925      name: regulatory
1926    -
1927      name: mlme
1928    -
1929      name: vendor
1930    -
1931      name: nan
1932    -
1933      name: testmode
1934