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, const std::shared_ptr<fdf::Namespace> & incoming, const std::optional<std::string> & node_name)

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

void ~NetworkDevice ()

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

zx_status_t Init ()

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

const char * tag ()

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

uint16_t virtio_header_len ()

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

void Shutdown ()

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

void IrqRingUpdate ()

VirtIO callbacks

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

void IrqConfigChange ()

Defined at line 372 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 398 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

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

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

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

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

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

Defined at line 598 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 617 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 698 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 742 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 752 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 763 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

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

Defined at line 781 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 785 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

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

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

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

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

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

MacAddr protocol:

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

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

Defined at line 805 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 814 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

Friends

class NetworkDeviceTests