fuchsia.hardware.ethernet

PROTOCOLS

Device

Defined in fuchsia.hardware.ethernet/ethernet.fidl

Operation

Packets are transmitted by writing data into the IO buffer and writing a FifoEntry referencing that data (offset + length) into the tx fifo. When the driver is done accessing the data, a FifoEntry with the same cookie value (opaque to the driver) will be readable from the tx fifo.

Packets are received by writing a FifoEntry referencing an available buffer (offset + length) in the IO buffer. When a packet is received, a FifoEntry with the same cookie value (opaque to the driver) will be readable from the rx fifo. The offset field will be the same as was sent. The length field will reflect the actual size of the received packet. The flags field will indicate success or a specific failure condition.

IMPORTANT: The driver will not buffer response messages. It is the client's responsibility to ensure that there is space in the reply side of each fifo for each outstanding tx or rx request. The fifo sizes are returned along with the fifo handles from GetFifos().

See //zircon/system/public/zircon/device/ethernet.h for fifo entry layout and request / response message bits.

GetInfo

Request

NameType

Response

NameType
info Info

GetFifos

Request

NameType

Response

NameType
status int32
info Fifos?

SetIOBuffer

Request

NameType
h handle<vmo>

Response

NameType
status int32

Start

Request

NameType

Response

NameType
status int32

Stop

Request

NameType

Response

NameType

ListenStart

Request

NameType

Response

NameType
status int32

ListenStop

Request

NameType

Response

NameType

SetClientName

Request

NameType
name string[16]

Response

NameType
status int32

GetStatus

Request

NameType

Response

NameType
device_status uint32

SetPromiscuousMode

Request

NameType
enabled bool

Response

NameType
status int32

ConfigMulticastAddMac

Request

NameType
addr MacAddress

Response

NameType
status int32

ConfigMulticastDeleteMac

Request

NameType
addr MacAddress

Response

NameType
status int32

ConfigMulticastSetPromiscuousMode

Request

NameType
enabled bool

Response

NameType
status int32

ConfigMulticastTestFilter

Request

NameType

Response

NameType
status int32

DumpRegisters

Request

NameType

Response

NameType
status int32

STRUCTS

MacAddress

Defined in fuchsia.hardware.ethernet/ethernet.fidl

NameTypeDescriptionDefault
octets uint8[6] No default

Info

Defined in fuchsia.hardware.ethernet/ethernet.fidl

NameTypeDescriptionDefault
features uint32 No default
mtu uint32 No default
mac MacAddress No default

Fifos

Defined in fuchsia.hardware.ethernet/ethernet.fidl

NameTypeDescriptionDefault
rx handle<fifo> No default
tx handle<fifo> No default
rx_depth uint32 No default
tx_depth uint32 No default

CONSTANTS

NameValueTypeDescription
INFO_FEATURE_WLAN 1 uint32
INFO_FEATURE_SYNTH 2 uint32
INFO_FEATURE_LOOPBACK 4 uint32
SIGNAL_STATUS 16777216 uint32
DEVICE_STATUS_ONLINE 1 uint32
MAX_CLIENT_NAME_LEN 15 uint32
SET_CLIENT_NAME_MAX_LEN 16 uint32