class NetworkDevice

Defined at line 39 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.h

Public Members

static const uint16_t kMaxDepth
static const uint8_t kPortId
static const size_t kMtu
static const size_t kFrameSize
static const size_t kBufferAlignment
static const uint16_t kRxId
static const uint16_t kTxId
static const char[] kChildNodeName

Public Methods

void NetworkDevice (VirtioNetDriver * driver, zx::bti bti_handle, std::unique_ptr<Backend> backend)

Defined at line 60 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void ~NetworkDevice ()

Defined at line 80 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

zx_status_t Init ()

Defined at line 82 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

const char * tag ()

Defined at line 109 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.h

uint16_t virtio_header_len ()

Defined at line 111 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.h

void Shutdown ()

Defined at line 226 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void IrqRingUpdate ()

VirtIO callbacks

Defined at line 245 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void IrqConfigChange ()

Defined at line 352 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void Init (fuchsia_hardware_network_driver::wire::NetworkDeviceImplInitRequest * request, fdf::Arena & arena, InitCompleter::Sync & completer)

NetworkDeviceImpl protocol:

Defined at line 378 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void Start (fdf::Arena & arena, StartCompleter::Sync & completer)

Defined at line 406 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void Stop (fdf::Arena & arena, StopCompleter::Sync & completer)

Defined at line 476 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void GetInfo (fdf::Arena & arena, fdf::WireServer<netdev::NetworkDeviceImpl>::GetInfoCompleter::Sync & completer)

Defined at line 581 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void QueueTx (fuchsia_hardware_network_driver::wire::NetworkDeviceImplQueueTxRequest * request, fdf::Arena & arena, QueueTxCompleter::Sync & completer)

Defined at line 600 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void QueueRxSpace (fuchsia_hardware_network_driver::wire::NetworkDeviceImplQueueRxSpaceRequest * request, fdf::Arena & arena, QueueRxSpaceCompleter::Sync & completer)

Defined at line 681 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void PrepareVmo (fuchsia_hardware_network_driver::wire::NetworkDeviceImplPrepareVmoRequest * request, fdf::Arena & arena, PrepareVmoCompleter::Sync & completer)

Defined at line 725 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void ReleaseVmo (fuchsia_hardware_network_driver::wire::NetworkDeviceImplReleaseVmoRequest * request, fdf::Arena & arena, ReleaseVmoCompleter::Sync & completer)

Defined at line 735 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void GetInfo (fdf::Arena & arena, fdf::WireServer<netdev::NetworkPort>::GetInfoCompleter::Sync & completer)

NetworkPort protocol:

Defined at line 746 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void GetStatus (fdf::Arena & arena, GetStatusCompleter::Sync & completer)

Defined at line 764 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void SetActive (fuchsia_hardware_network_driver::wire::NetworkPortSetActiveRequest * request, fdf::Arena & arena, SetActiveCompleter::Sync & completer)

Defined at line 768 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void GetMac (fdf::Arena & arena, GetMacCompleter::Sync & completer)

Defined at line 772 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void Removed (fdf::Arena & arena, RemovedCompleter::Sync & completer)

Defined at line 778 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void GetAddress (fdf::Arena & arena, GetAddressCompleter::Sync & completer)

MacAddr protocol:

Defined at line 782 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void GetFeatures (fdf::Arena & arena, GetFeaturesCompleter::Sync & completer)

Defined at line 788 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

void SetMode (fuchsia_hardware_network_driver::wire::MacAddrSetModeRequest * request, fdf::Arena & arena, SetModeCompleter::Sync & completer)

Defined at line 797 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

Friends

class NetworkDeviceTests