fuchsia.wlan.tap

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

NameType
config WlantapPhyConfig
proxy request<WlantapPhy>

Response

NameType
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/ddk.protocol.wlanphyimpl/wlanphy-impl.banjo

Rx

The device "receives" a frame "over the air" and pass it up to driver.

Request

NameType
wlanmac_id uint16
data vector<uint8>
info WlanRxInfo

Status

The device report its status to the driver. (Not used).

Request

NameType
wlanmac_id uint16
st uint32

ReportTxStatus

For rate selection (Minstrel), the device's last frame transmission is a success/failure, with a certain number of retries.

Request

NameType
wlanmac_id uint16
txs WlanTxStatus

Tx

The device is to send a frame "over the air".

Response

NameType
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

NameType
args WlanmacStartArgs

SetChannel

The device is to switch to the specified channel.

Response

NameType
args SetChannelArgs

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

NameType
args ConfigureBssArgs

SetKey

The device is to install the keys (often coming from RSN, exceptions apply).

Response

NameType
args SetKeyArgs

SetCountry

The device is to change its radio and power settings to conform to the regulation of the specified country.

Response

NameType
args SetCountryArgs

STRUCTS

WlantapPhyConfig

Defined in fuchsia.wlan.tap/wlantap.fidl

Describes the capabilities of the fake wlantap-phy device to be created.

NameTypeDescriptionDefault
phy_info fuchsia.wlan.device/PhyInfo No default
name string No default
quiet bool 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.

NameTypeDescriptionDefault
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
rcpi_dbmh int16 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.

NameTypeDescriptionDefault
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.

NameTypeDescriptionDefault
data vector<uint8> No default
info WlanTxInfo 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.

NameTypeDescriptionDefault
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.

NameTypeDescriptionDefault
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

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.

NameTypeDescriptionDefault
tx_vec_idx uint16 No default
attempts uint8 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.

NameTypeDescriptionDefault
peer_addr uint8[6] No default
tx_status_entries [8] No default
success bool 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 SetCountryRequest/Response.

NameTypeDescriptionDefault
alpha2 uint8[2] No default

TxArgs

Defined in fuchsia.wlan.tap/wlantap.fidl

NameTypeDescriptionDefault
wlanmac_id uint16 No default
packet WlanTxPacket No default

SetChannelArgs

Defined in fuchsia.wlan.tap/wlantap.fidl

NameTypeDescriptionDefault
wlanmac_id uint16 No default
chan fuchsia.wlan.common/WlanChan No default

ConfigureBssArgs

Defined in fuchsia.wlan.tap/wlantap.fidl

NameTypeDescriptionDefault
wlanmac_id uint16 No default
config WlanBssConfig No default

SetKeyArgs

Defined in fuchsia.wlan.tap/wlantap.fidl

NameTypeDescriptionDefault
wlanmac_id uint16 No default
config WlanKeyConfig No default

WlanmacStartArgs

Defined in fuchsia.wlan.tap/wlantap.fidl

NameTypeDescriptionDefault
wlanmac_id uint16 No default