PROTOCOLS
WlantapCtl
Defined in fuchsia.wlan.tap/wlantap.fidl
Instruct the wlantap-ctl device to creates a fake wlantap-phy device based on the
WlantapPhyConfig
passed in. The newly created wlantap-phy device will use the channel to
allow a WlantapPhy
client to observe and control its behavior.
CreatePhy
Request
Name | Type |
---|---|
config |
WlantapPhyConfig
|
proxy |
request<WlantapPhy>
|
Response
Name | Type |
---|---|
status |
zx/status
|
WlantapPhy
Defined in fuchsia.wlan.tap/wlantap.fidl
Allow the test program to observe and control the behavior of the wlantap-phy device.
A wlantap-phy device is a special vendor device and its driver (Fuchsia being the vendor)
used for testing purpose.
Implements a subset of wlanmac_ifc_t
and wlanmac_protocol_ops_t
in
//garnet/lib/wlan/protocol/include/wlan/protocol/mac.h
Implements a subset of WlanphyImpl
protocol in
//zircon/system/banjo/fuchsia.hardware.wlanphyimpl/wlanphy-impl.banjo
ConfigureBss
AP: The device is to use args.config as a template for beacon frames. Client: The device is to be configured with this BSS as it peer.
Response
Name | Type |
---|---|
args |
ConfigureBssArgs
|
ReportTxStatus
For rate selection (Minstrel), the device's last frame transmission is a success/failure, with a certain number of retries.
Request
Name | Type |
---|---|
wlanmac_id |
uint16
|
txs |
WlanTxStatus
|
Rx
The device "receives" a frame "over the air" and pass it up to driver.
Request
Name | Type |
---|---|
wlanmac_id |
uint16
|
data |
vector<uint8>
|
info |
WlanRxInfo
|
SetChannel
The device is to switch to the specified channel.
Response
Name | Type |
---|---|
args |
SetChannelArgs
|
SetCountry
The device is to change its radio and power settings to conform to the regulation of the specified country.
Response
Name | Type |
---|---|
args |
SetCountryArgs
|
SetKey
The device is to install the keys (often coming from RSN, exceptions apply).
Response
Name | Type |
---|---|
args |
SetKeyArgs
|
Shutdown
Shutdown the phy device so that it does not respond to any further calls. Once shutdown, there is no way to restart the device. It can only be called at the end of a test.
Request
Name | Type |
---|
Response
Name | Type |
---|
Status
The device report its status to the driver. (Not used).
Request
Name | Type |
---|---|
wlanmac_id |
uint16
|
st |
uint32
|
Tx
The device is to send a frame "over the air".
Response
Name | Type |
---|---|
args |
TxArgs
|
WlanmacStart
The device created by its parent device (wlantap-phy: wlanphy) is detected and being connected by wlanstack/wlancfg. The device is to enter the "running" state.
Response
Name | Type |
---|---|
args |
WlanmacStartArgs
|
STRUCTS
ConfigureBssArgs
Defined in fuchsia.wlan.tap/wlantap.fidl
Name | Type | Description | Default |
---|---|---|---|
wlanmac_id |
uint16
|
No default | |
config |
WlanBssConfig
|
No default |
SetChannelArgs
Defined in fuchsia.wlan.tap/wlantap.fidl
Name | Type | Description | Default |
---|---|---|---|
wlanmac_id |
uint16
|
No default | |
chan |
fuchsia.wlan.common/WlanChan
|
No default |
SetCountryArgs
Defined in fuchsia.wlan.tap/wlantap.fidl
Country code the device is to switch to. These values are populated by the wlantap driver and should not be specified manually. See also phy.fidl CountryCode.
Name | Type | Description | Default |
---|---|---|---|
alpha2 |
uint8[2]
|
No default |
SetKeyArgs
Defined in fuchsia.wlan.tap/wlantap.fidl
Name | Type | Description | Default |
---|---|---|---|
wlanmac_id |
uint16
|
No default | |
config |
WlanKeyConfig
|
No default |
TxArgs
Defined in fuchsia.wlan.tap/wlantap.fidl
Name | Type | Description | Default |
---|---|---|---|
wlanmac_id |
uint16
|
No default | |
packet |
WlanTxPacket
|
No default |
WlanBssConfig
Defined in fuchsia.wlan.tap/wlantap.fidl
BSS that is to be configured, or "remembered", by the wlantap device. These values are populated by the wlantap driver and should not be specified manually. See wlan_bss_config_t for details about each field.
Name | Type | Description | Default |
---|---|---|---|
bssid |
uint8[6]
|
No default | |
bss_type |
uint8
|
No default | |
remote |
bool
|
No default |
WlanKeyConfig
Defined in fuchsia.wlan.tap/wlantap.fidl
Configuration pertaining to security keys, often used by RSN and other secure authentication. These values are populated by the wlantap driver and should not be specified manually. See wlan_key_config_t for details about each field.
Name | Type | Description | Default |
---|---|---|---|
protection |
uint8
|
No default | |
cipher_oui |
uint8[3]
|
No default | |
cipher_type |
uint8
|
No default | |
key_type |
uint8
|
No default | |
peer_addr |
uint8[6]
|
No default | |
key_idx |
uint8
|
No default | |
key |
vector<uint8>[32]
|
No default |
WlanRxInfo
Defined in fuchsia.wlan.tap/wlantap.fidl
Information pertaining to incoming packets. One WlanRxInfo is associated with each packet. You are encouraged to use the default value in //src/connectivity/wlan/testing/hw-sim/src/lib.rs See wlan_rx_info_t for details about each field.
Name | Type | Description | Default |
---|---|---|---|
rx_flags |
uint32
|
No default | |
valid_fields |
uint32
|
No default | |
phy |
uint16
|
No default | |
data_rate |
uint32
|
No default | |
chan |
fuchsia.wlan.common/WlanChan
|
No default | |
mcs |
uint8
|
No default | |
rssi_dbm |
int8
|
No default | |
snr_dbh |
int16
|
No default |
WlanTxInfo
Defined in fuchsia.wlan.tap/wlantap.fidl
Instruction from generic WLAN driver on how to send a packet. One WlanTxInfo per packet. These values are populated by the wlantap driver and should not be specified manually. See wlan_tx_info_t for details about each field.
Name | Type | Description | Default |
---|---|---|---|
tx_flags |
uint32
|
No default | |
valid_fields |
uint32
|
No default | |
tx_vector_idx |
uint16
|
No default | |
phy |
uint16
|
No default | |
cbw |
uint8
|
No default | |
mcs |
uint8
|
No default |
WlanTxPacket
Defined in fuchsia.wlan.tap/wlantap.fidl
An outgoing packet that is to be "sent" by the wlantap device. data
contains the packet
in its wire format.
Name | Type | Description | Default |
---|---|---|---|
data |
vector<uint8>
|
No default | |
info |
WlanTxInfo
|
No default |
WlanTxStatus
Defined in fuchsia.wlan.tap/wlantap.fidl
TX status report used by Minstrel rate selection algorithm. One report per packet. You are encouraged to use the default value in //src/connectivity/wlan/testing/hw-sim/src/lib.rs See wlan_tx_status_t for details about each field.
Name | Type | Description | Default |
---|---|---|---|
peer_addr |
uint8[6]
|
No default | |
tx_status_entries |
[8]
|
No default | |
success |
bool
|
No default |
WlanTxStatusEntry
Defined in fuchsia.wlan.tap/wlantap.fidl
One entry in a WlanTxStatus report, 1 report can contain up to 8 entries (see below). These values are populated by the wlantap driver and should not be specified manually. See wlan_tx_status_entry_t for details about each field.
Name | Type | Description | Default |
---|---|---|---|
tx_vec_idx |
uint16
|
No default | |
attempts |
uint8
|
No default |
WlanmacStartArgs
Defined in fuchsia.wlan.tap/wlantap.fidl
Name | Type | Description | Default |
---|---|---|---|
wlanmac_id |
uint16
|
No default |
WlantapPhyConfig
Defined in fuchsia.wlan.tap/wlantap.fidl
Describes the capabilities of the fake wlantap-phy device to be created.
Name | Type | Description | Default |
---|---|---|---|
iface_mac_addr |
uint8[6]
|
No default | |
mac_role |
fuchsia.wlan.device/MacRole
|
No default | |
supported_phys |
vector<fuchsia.wlan.device/SupportedPhy>[8]
|
No default | |
driver_features |
vector<fuchsia.wlan.common/DriverFeature>[8]
|
No default | |
caps |
vector<fuchsia.wlan.device/Capability>[8]
|
No default | |
bands |
vector<fuchsia.wlan.device/BandInfo>[8]
|
No default | |
name |
string[32]
|
No default | |
quiet |
bool
|
No default |