class Start

Defined at line 1186 of file fidling/gen/sdk/fidl/fuchsia.wlan.softmac/fuchsia.wlan.softmac/cpp/fidl/fuchsia.wlan.softmac/cpp/markers.h

Signal to the server that the MLME for the iface is ready to send and receive

frames.

The client provides the following arguments:

- `ifc_bridge`: The client end of a `WlanSoftmacIfcBridge` server which the

`wlansoftmac` driver will use to forward `WlanSoftmacIfc` events to

the bridged driver.

- `ethernet_tx`: A `ethernet_tx_t*` casted to a `uint64`. The

`ethernet_tx_t` is defined in

`//src/connectivity/wlan/drivers/wlansoftmac/rust_driver/c-binding/bindings.h`.

- `wlan_rx`: A `wlan_rx_t*` casted to a `uint64`. The

`wlan_rx_t` is defined in

`//src/connectivity/wlan/drivers/wlansoftmac/rust_driver/c-binding/bindings.h`.

The server must copy the contents of `ethernet_tx_t` and `wlan_rx_t` before

returning from this method. The lifetimes of `ethernet_tx_t*` and `wlan_rx_t*` are only as

long as this method call, but the contents of `ethernet_tx_t` and `wlan_rx_t` will

live until the server stops the MLME.

The server returns a server end of a `fuchsia.wlan.mlme/MLME` protocol. The SME

for the iface owns the client end. Thus, this channel is used for SME

<

-> MLME

communication.

The `WlanSoftmacBridge.Start` method is different from `WlanSoftmac.Start`

for two reasons. First, Rust bindings do not exist for Driver transported

protocols, so `WlanSoftmacIfcBridge` protocol must be Zircon transported to be

usable by the bridged driver. Second, the Zircon transport adds

significant latency compared to the Driver transport. As a result, the

`ethernet_tx` and `wlan_rx` arguments provide an FFI for the wlansoftmac driver

to send Ethernet and receive WLAN packets to the bridged driver with

latency comparable or better than a Driver transported protocol.

Except where noted, `WlanSoftmacBridge` methods must only be called after

a successful call to `WlanSoftmacBridge.Start`.

Common errors include:

- `ZX_ERR_ALREADY_BOUND`: `Start` was already called on this softmac.

Public Members

static const bool kHasClientToServer
static const bool kHasClientToServerBody
static const bool kHasServerToClient
static const bool kHasServerToClientBody
static const bool kHasNonEmptyUserFacingResponse
static const bool kHasDomainError
static const bool kHasFrameworkError
static const uint64_t kOrdinal