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.
Field | Type | Description | Default |
---|---|---|---|
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.
Field | Type | Description | Default |
---|---|---|---|
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.
Field | Type | Description | Default |
---|---|---|---|
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.
Field | Type | Description | Default |
---|---|---|---|
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.
Field | Type | Description | Default |
---|---|---|---|
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.
Field | Type | Description | Default |
---|---|---|---|
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.
Field | Type | Description | Default |
---|---|---|---|
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.
Field | Type | Description | Default |
---|---|---|---|
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.
Field | Type | Description | Default |
---|---|---|---|
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.
Field | Type | Description | Default |
---|---|---|---|
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.
Field | Type | Description | Default |
---|---|---|---|
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.
Field | Type | Description | Default |
---|---|---|---|
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.
Field | Type | Description | Default |
---|---|---|---|
dfs |
DfsFeature
|
No default |
WlanChannel
Defined in fuchsia.wlan.common/wlan_common.fidl
Field | Type | Description | Default |
---|---|---|---|
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
Field | Type | Description | Default |
---|---|---|---|
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.
Field | Type | Description | Default |
---|---|---|---|
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
Field | Type | Description | Default |
---|---|---|---|
ecw_min |
uint8
|
Lower bound of contention window in exponential form
|
No default |
ecw_max |
uint8
|
Upper bound of contention window in exponential form
|
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
Field | Type | Description | Default |
---|---|---|---|
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
Name | Value | Description |
---|---|---|
UNKNOWN |
0 |
|
INFRASTRUCTURE |
1 |
|
INDEPENDENT |
2 |
|
MESH |
3 |
|
PERSONAL |
4 |
ChannelBandwidth flexible
Type: uint32
Defined in fuchsia.wlan.common/wlan_common.fidl
Name | Value | Description |
---|---|---|
CBW20 |
1 |
|
CBW40 |
2 |
|
CBW40BELOW |
3 |
|
CBW80 |
4 |
|
CBW160 |
5 |
|
CBW80P80 |
6 |
DataPlaneType strict
Type: uint8
Defined in fuchsia.wlan.common/driver_features.fidl
Indicates where data plane is implemented.
Name | Value | Description |
---|---|---|
ETHERNET_DEVICE |
1 |
|
GENERIC_NETWORK_DEVICE |
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.
Name | Value | Description |
---|---|---|
LONG_GI |
1 |
|
SHORT_GI |
2 |
MacImplementationType strict
Type: uint8
Defined in fuchsia.wlan.common/driver_features.fidl
Indicates where MAC layer is implemented.
Name | Value | Description |
---|---|---|
SOFTMAC |
1 |
|
FULLMAC |
2 |
PowerSaveType strict
Type: uint32
Defined in fuchsia.wlan.common/wlan_common.fidl
Name | Value | Description |
---|---|---|
PS_MODE_ULTRA_LOW_POWER |
0 |
|
PS_MODE_LOW_POWER |
1 |
|
PS_MODE_BALANCED |
2 |
|
PS_MODE_PERFORMANCE |
3 |
RequestStatus strict
Type: uint32
Defined in fuchsia.wlan.common/wlan_common.fidl
Name | Value | Description |
---|---|---|
ACKNOWLEDGED |
0 |
|
REJECTED_NOT_SUPPORTED |
1 |
|
REJECTED_INCOMPATIBLE_MODE |
2 |
|
REJECTED_ALREADY_IN_USE |
3 |
|
REJECTED_DUPLICATE_REQUEST |
4 |
ScanType strict
Type: uint32
Defined in fuchsia.wlan.common/wlan_common.fidl
Name | Value | Description |
---|---|---|
ACTIVE |
1 |
|
PASSIVE |
2 |
WlanBand flexible
Type: uint8
Defined in fuchsia.wlan.common/wlan_common.fidl
Name | Value | Description |
---|---|---|
TWO_GHZ |
0 |
|
FIVE_GHZ |
1 |
WlanKeyType flexible
Type: uint8
Defined in fuchsia.wlan.common/associnfo.fidl
Name | Value | Description |
---|---|---|
PAIRWISE |
1 |
|
GROUP |
2 |
|
IGTK |
3 |
|
PEER |
4 |
WlanMacRole flexible
Type: uint32
Defined in fuchsia.wlan.common/wlan_common.fidl
Name | Value | Description |
---|---|---|
CLIENT |
1 |
|
AP |
2 |
|
MESH |
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
Name | Value | Description |
---|---|---|
DSSS |
1 |
IEEE 802.11-2016 Clause 15: Direct Sequence Spread Spectrum Supports 1, 2 Mbps. |
HR |
2 |
IEEE 802.11-2016 Clause 16: High Rate DSSS Supports 5.5, 11 Mbps. Also referred to as ERP-CCK |
OFDM |
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. |
ERP |
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. |
HT |
5 |
IEEE 802.11n or IEEE 802.11-2016 Clause 19: High Throughput PHY Supports rates up to 495 Mbps. |
DMG |
6 |
802.11ad or IEEE 802.11-2016 Clause 20: Directional Multi-Gigabit PHY |
VHT |
7 |
IEEE 802.11ac or IEEE 802.11-2016 Clause 21: Very High Throughput PHY Supports rates up to 6.9 Gbps. |
TVHT |
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 |
S1G |
9 |
IEEE 802.11ah or IEEE 802.11-2020 Clause 23: Sub 1-GHz PHY |
CDMG |
10 |
IEEE 802.11aj or IEEE 802.11-2020 Clause 24: China Directional Multi-Gigabit PHY |
CMMG |
11 |
IEEE 802.11aj or IEEE 802.11-2020 Clause 25: China Millimeter-wave Multi-Gigabit PHY |
HE |
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
Name | Value | Description |
---|---|---|
NONE |
0 |
|
RX |
1 |
|
TX |
2 |
|
RX_TX |
3 |
WlanSoftmacHardwareCapabilityBit strict
Type: uint32
Defined in fuchsia.wlan.common/wlan_common.fidl
Name | Value | Description |
---|---|---|
SHORT_PREAMBLE |
32 |
Short packet preamble. |
SPECTRUM_MGMT |
256 |
Spectrum management. |
QOS |
512 |
|
SHORT_SLOT_TIME |
1024 |
Short slot times after packet collision. |
RADIO_MSMT |
4096 |
Radio measurement. |
SIMULTANEOUS_CLIENT_AP |
65536 |
WlanTxResultCode flexible
Type: uint8
Defined in fuchsia.wlan.common/wlan_common.fidl
Outcome of a packet transmission.
Name | Value | Description |
---|---|---|
FAILED |
0 |
ACK was not received or transmission otherwise failed. |
SUCCESS |
1 |
ACK was received from peer. |
TABLES
JoinBssRequest
Defined in fuchsia.wlan.common/wlan_common.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
bssid |
fuchsia.wlan.ieee80211/MacAddr
|
|
2 |
bss_type |
BssType
|
|
3 |
remote |
bool
|
|
4 |
beacon_period |
uint16
|
WlanKeyConfig
Defined in fuchsia.wlan.common/wlan_common.fidl
Ordinal | Field | Type | Description |
---|---|---|---|
1 |
protection |
WlanProtection
|
Which path to protect: None, TX, RX, or TX and RX. |
2 |
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. |
3 |
cipher_type |
fuchsia.wlan.ieee80211/CipherSuiteType
|
The cipher type. Required. |
4 |
key_type |
WlanKeyType
|
Whether this key is a pairwise, group or peer key. Required. |
5 |
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. |
6 |
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. |
7 |
key |
vector<uint8>:32
|
They key's actual bytes. Required. |
8 |
rsc |
uint64
|
Receive Sequence Counter for group keys only. In all other cases the RSC will be 0. Optional. |
CONSTANTS
Name | Value | Type | Description |
---|---|---|---|
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
Name | Value | Description |
---|---|---|
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 |