fuchsia.wlan.common

Added: 7

STRUCTS

BssDescription

Defined in fuchsia.wlan.common/wlan_common.fidl

Type corresponding to a BSSDescription defined by IEEE Std 802.11-2020 6.3.3.3.2

This type only includes explicit fields for information frequently required from a BSSDescription. All other fields are left in a raw buffer of IEs as received in an advertisement from the AP, e.g., from a Beacon or Probe Response frame.

The inclusion of a raw buffer of IEs ensures this type always includes all the information an AP advertises, no matter the version of Fuchsia the advertisement was received in.

Added: HEAD

FieldTypeDescriptionDefault
bssid fuchsia.wlan.ieee80211/MacAddr No default
bss_type BssType No default
beacon_period uint16 No default
capability_info CapabilityInfo No default
ies vector<uint8>

Buffer of IEs as received in an advertisement. E.g., from a Beacon or Probe Response frame.

No default
channel WlanChannel

Channel information for this BSS.

No default
rssi_dbm int8

The running average of received signal strength indicator in units of dBm.

No default
snr_db int8

The running average of snr in units of dB.

No default

DataPlaneExtension

Defined in fuchsia.wlan.common/driver_features.fidl

Indicates where the data plane is implemented. This is a MAC sublayer extension, usable for fullmac or softmac. This extension is not part of the 802.11-2016 spec.

FieldTypeDescriptionDefault
data_plane_type DataPlaneType No default

DeviceExtension

Defined in fuchsia.wlan.common/driver_features.fidl

Feature-like information specific to the device. This is a MAC sublayer extension. This extension is not part of the 802.11-2016 spec.

FieldTypeDescriptionDefault
is_synthetic bool

Indicates that device is not a real hardware device. This extension only exists to support the SYNTH value in fuchsia.hardware.ethernet/EthernetFeature.

No default
mac_implementation_type MacImplementationType

Indicates where MAC layer is implemented.

No default
tx_status_report_supported bool

Indicates whether device supports transmission reports.

No default

DfsFeature

Defined in fuchsia.wlan.common/driver_features.fidl

Dynamic Frequency Selection. See IEEE 802.11-2016 11.9. This is a spectrum management feature, usable for fullmac or softmac.

FieldTypeDescriptionDefault
supported bool

If true, driver implements DFS procedures (e.g. vacate channel upon detecting RADAR). Based on whether the driver implements DFS procedures, higher layers may adjust their logic (e.g. to include/exclude channels that require DFS).

No default

DiscoverySupport

Defined in fuchsia.wlan.common/driver_features.fidl

Features related to discovery of potential BSSs. See IEEE 802.11-2016 11.1.4.2 and 11.1.4.3.

FieldTypeDescriptionDefault
scan_offload ScanOffloadExtension No default
probe_response_offload ProbeResponseOffloadExtension No default

MacSublayerSupport

Defined in fuchsia.wlan.common/driver_features.fidl

Features related to the MAC sublayer (below MLME). See IEEE 802.11-2016 10.

FieldTypeDescriptionDefault
rate_selection_offload RateSelectionOffloadExtension No default
data_plane DataPlaneExtension No default
device DeviceExtension No default

MfpFeature

Defined in fuchsia.wlan.common/driver_features.fidl

Management Frame Protection. See IEEE 802.11-2016 4.5.4.9. This is a security feature, usable for fullmac or softmac.

FieldTypeDescriptionDefault
supported bool No default

ProbeResponseOffloadExtension

Defined in fuchsia.wlan.common/driver_features.fidl

Indicates where and how probe responses are to be handled. See IEEE 802.11-2016 11.1.4.3. This is a discovery extension, expected to be used for softmac only.

FieldTypeDescriptionDefault
supported bool

If true, driver responds to probe requests; otherwise MLME must respond.

No default

RateSelectionOffloadExtension

Defined in fuchsia.wlan.common/driver_features.fidl

Indicates where and how rate selection logic is orchestrated. See IEEE 802.11-2016 10.7. This is a MAC sublayer extension, expected to be used for softmac only.

FieldTypeDescriptionDefault
supported bool

If true, driver orchestrates rate selection; otherwise MLME must do so.

No default

SaeFeature

Defined in fuchsia.wlan.common/driver_features.fidl

Simultaneous Authentication of Equals. See IEEE 802.11-2016 12.4. This is a security feature, usable for fullmac or softmac.

FieldTypeDescriptionDefault
driver_handler_supported bool

SAE can be handled by the driver.

No default
sme_handler_supported bool

SAE can be handled by SME.

No default

ScanOffloadExtension

Defined in fuchsia.wlan.common/driver_features.fidl

Indicates where and how scan logic is orchestrated. See IEEE 802.11-2016 11.1.4.2 and 11.1.4.3. This is a discovery extension, expected to be used for softmac only.

FieldTypeDescriptionDefault
supported bool

If true, driver orchestrates scans; otherwise MLME must do so.

No default
scan_cancel_supported bool
Added: 10
No default

SecuritySupport

Defined in fuchsia.wlan.common/driver_features.fidl

Features related to security / access control and data confidentiality. See IEEE 802.11-2016 4.5.4 and 802.11-2016 12.

FieldTypeDescriptionDefault
sae SaeFeature No default
mfp MfpFeature No default

SpectrumManagementSupport

Defined in fuchsia.wlan.common/driver_features.fidl

Features related to spectrum management. See IEEE 802.11-2016 4.5.5, 11.8, and 11.9.

FieldTypeDescriptionDefault
dfs DfsFeature No default

WlanChannel

Defined in fuchsia.wlan.common/wlan_common.fidl

FieldTypeDescriptionDefault
primary uint8 No default
cbw ChannelBandwidth No default
secondary80 uint8 No default

WlanTxResult

Defined in fuchsia.wlan.common/wlan_common.fidl

TX status reports are used by the Minstrel rate selection algorithm Tests should use the default value in //src/connectivity/wlan/testing/hw-sim/src/lib.rs

Added: 13

FieldTypeDescriptionDefault
tx_result_entry array<WlanTxResultEntry, 8>

up to 8 different tx_vector for one PPDU frame. WLAN_TX_VECTOR_IDX_INVALID indicates no more entries.

No default
peer_addr fuchsia.wlan.ieee80211/MacAddr

Destination mac address, or addr1 in packet header.

No default
result_code WlanTxResultCode No default

WlanTxResultEntry

Defined in fuchsia.wlan.common/wlan_common.fidl

One entry in a WlanTxResult report. Indicates a number of attempted transmissions on a particular tx vector, but does not imply successful transmission.

Added: 13

FieldTypeDescriptionDefault
tx_vector_idx uint16 No default
attempts uint8

Number of total attempts with this specific tx vector, including successful attempts. DDK assumes the number of attempts per packet will not exceed 255. (typically <= 8)

No default

WlanWmmAccessCategoryParameters

Defined in fuchsia.wlan.common/associnfo.fidl

WFA WMM v1.2, 2.2.2

Added: 13

FieldTypeDescriptionDefault
ecw_min uint8

Lower bound of contention window in exponential form cw_min = 2^(ecw_min) - 1. The unit for contention window is "slot time", which is different for each standard (e.g. 9 microseconds, 13 microseconds, etc.)

No default
ecw_max uint8

Upper bound of contention window in exponential form cw_max = 2^(ecw_max) - 1. The unit for contention window is "slot time", which is different for each standard (e.g. 9 microseconds, 13 microseconds, etc.)

No default
aifsn uint8

Arbitration Interframe Spacing Number (control wait time between sending each frame)

No default
txop_limit uint16

TXOP limit in unit of 32 microseconds

No default
acm bool

Whether admission control is mandatory

No default

WlanWmmParameters

Defined in fuchsia.wlan.common/associnfo.fidl

Added: 13

FieldTypeDescriptionDefault
apsd bool No default
ac_be_params WlanWmmAccessCategoryParameters No default
ac_bk_params WlanWmmAccessCategoryParameters No default
ac_vi_params WlanWmmAccessCategoryParameters No default
ac_vo_params WlanWmmAccessCategoryParameters No default

ENUMS

BssType flexible

Type: uint32

Defined in fuchsia.wlan.common/wlan_common.fidl

Added: 13

NameValueDescription
0
1
2
3
4

ChannelBandwidth flexible

Type: uint32

Defined in fuchsia.wlan.common/wlan_common.fidl

Added: 13

NameValueDescription
1
2
3
4
5
6

DataPlaneType strict

Type: uint8

Defined in fuchsia.wlan.common/driver_features.fidl

Indicates where data plane is implemented.

NameValueDescription
1
2

GuardInterval strict

Type: uint8

Defined in fuchsia.wlan.common/wlan_common.fidl

HT and VHT guard interval. See IEEE 802.11-2016 Table 19-1 and Table 21-1.

NameValueDescription
1
2

MacImplementationType strict

Type: uint8

Defined in fuchsia.wlan.common/driver_features.fidl

Indicates where MAC layer is implemented.

NameValueDescription
1
2

PowerSaveType strict

Type: uint32

Defined in fuchsia.wlan.common/wlan_common.fidl

NameValueDescription
0
1
2
3

RequestStatus strict

Type: uint32

Defined in fuchsia.wlan.common/wlan_common.fidl

Removed: 25

NameValueDescription
0
1
2
3
4

ScanType strict

Type: uint32

Defined in fuchsia.wlan.common/wlan_common.fidl

NameValueDescription
1
2

WlanBand flexible

Type: uint8

Defined in fuchsia.wlan.common/history.fidl

Removed: NEXT

NameValueDescription
0
1

WlanKeyType flexible

Type: uint8

Defined in fuchsia.wlan.common/associnfo.fidl

Added: 13

NameValueDescription
1
2
3
4

WlanMacRole flexible

Type: uint32

Defined in fuchsia.wlan.common/wlan_common.fidl

NameValueDescription
1
2
3

WlanPhyType flexible

Type: uint32

Defined in fuchsia.wlan.common/wlan_common.fidl

PHY types supporting different MCS and payload data rates. Based off of dot11PHYType from IEEE 802.11-2016/2020 Annex C + Amendments

NameValueDescription
1

IEEE 802.11-2016 Clause 15: Direct Sequence Spread Spectrum Supports 1, 2 Mbps.

2

IEEE 802.11-2016 Clause 16: High Rate DSSS Supports 5.5, 11 Mbps. Also referred to as ERP-CCK

3

IEEE 802.11a/g or IEEE 802.11-2016 Clause 17: Orthogonal Frequency Division Multiplexing Supports 6, 9, 12, 18, 24, 36, 48, and 54 Mbps.

4

IEEE 802.11g or IEEE 802.11-2016 Clause 18: Extended Rate PHY Supports 1, 2, 5.5, 11, 12, 24 Mbps + optionally 6, 54 Mbps. Encompasses DSSS/HR/OFDM rates and modulation.

5

IEEE 802.11n or IEEE 802.11-2016 Clause 19: High Throughput PHY Supports rates up to 495 Mbps.

6

802.11ad or IEEE 802.11-2016 Clause 20: Directional Multi-Gigabit PHY

7

IEEE 802.11ac or IEEE 802.11-2016 Clause 21: Very High Throughput PHY Supports rates up to 6.9 Gbps.

8

IEEE 802.11af or IEEE 802.11-2016 Clause 22: Television Very High Throughput PHY Supports rates of up to 568.9 Mbps in TV spectrum

9

IEEE 802.11ah or IEEE 802.11-2020 Clause 23: Sub 1-GHz PHY

10

IEEE 802.11aj or IEEE 802.11-2020 Clause 24: China Directional Multi-Gigabit PHY

11

IEEE 802.11aj or IEEE 802.11-2020 Clause 25: China Millimeter-wave Multi-Gigabit PHY

12

IEEE 802.11ax: High Efficiency PHY Supports rates of up to 9.6 Gbps (whew!)

WlanProtection strict

Type: uint8

Defined in fuchsia.wlan.common/wlan_common.fidl

Added: HEAD

NameValueDescription
0
1
2
3

WlanSoftmacHardwareCapabilityBit strict

Type: uint32

Defined in fuchsia.wlan.common/wlan_common.fidl

NameValueDescription
32

Short packet preamble.

256

Spectrum management.

512
1024

Short slot times after packet collision.

4096

Radio measurement.

65536

WlanTxResultCode flexible

Type: uint8

Defined in fuchsia.wlan.common/wlan_common.fidl

Outcome of a packet transmission.

Added: 13

NameValueDescription
0

ACK was not received or transmission otherwise failed.

1

ACK was received from peer.

TABLES

JoinBssRequest

Defined in fuchsia.wlan.common/wlan_common.fidl

Added: 13

OrdinalFieldTypeDescription
bssid fuchsia.wlan.ieee80211/MacAddr
bss_type BssType
remote bool
beacon_period uint16

WlanKeyConfig

Defined in fuchsia.wlan.common/wlan_common.fidl

Added: HEAD

OrdinalFieldTypeDescription
protection WlanProtection

Which path to protect: None, TX, RX, or TX and RX.

cipher_oui array<uint8, 3>

IEEE Cipher suite selector. See IEEE Std 802.11-2016, 9.4.2.25.2, Table 9-131 Optional. If not specified, it's assumed that this is the IEEE OUI.

cipher_type fuchsia.wlan.ieee80211/CipherSuiteType

The cipher type. Required.

key_type WlanKeyType

Whether this key is a pairwise, group or peer key. Required.

peer_addr fuchsia.wlan.ieee80211/MacAddr

The peer MAC address for pairwise and peer keys. For group keys this value is always the broadcast address. Required.

key_idx uint8

Index for rotating keys, e.g. group keys. This value is always 0 for key types which aren't rotating, e.g. pairwise keys. Required.

TODO(https://fxbug.dev/301104836): This is a uint8, but SetKeyDescriptor in MLME FIDL and DeleteKeysDescriptor in Fullmac FIDL use a uint16 for key_id/key_idx. We should consider making all these use the same type.

key vector<uint8>:32

They key's actual bytes. Required.

rsc uint64

Receive Sequence Counter for group keys only. In all other cases the RSC will be 0. Optional.

CONSTANTS

NameValueTypeDescription
MAX_BANDS 16 uint8

This constant defined the fixed length for arrays containing the capabilities for each band supported by a device driver.

MAX_SUPPORTED_MAC_ROLES 16 uint8

This constant defines fixed length for arrays containing MAC roles supported by PHY entities.

MAX_SUPPORTED_PHY_TYPES 64 uint8

This constant defines fixed length for arrays containing PHY types supported by PHY entities.

WLAN_MAC_MAX_EXT_RATES 255 uint32
Added: 13
WLAN_MAC_MAX_SUPP_RATES 8 uint32

Information defined only within a context of association Beware the subtle interpretation of each field: they are designed to reflect the parameters safe to use within an association Many parameters do not distinguish Rx capability from Tx capability. In those cases, a capability is commonly applied to both Rx and Tx. Some parameters are distinctively for Rx only, and some are Tx only.

Added: 13
WLAN_TX_RESULT_MAX_ENTRY 8 uint32
Added: 13
WLAN_TX_VECTOR_IDX_INVALID 0 uint16

ALIASES

NameValueDescription
CapabilityInfo uint16

Corresponds to the Capability Information field defined by IEEE Std 802.11-2020, 9.4.1.4. This contains subfields that indicate support for requested or optional capabilities.

TODO(https://fxbug.dev/367315525) Consider making this a bitfield.

Added: HEAD
WlanSoftmacHardwareCapability uint32