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