class NetworkDevice

Defined at line 41 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 113 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.h

uint16_t virtio_header_len ()

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

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

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

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

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

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

Defined at line 608 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 635 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 716 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 761 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 771 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 782 of file ../../src/connectivity/ethernet/drivers/virtio/netdevice.cc

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

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

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

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

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

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

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

MacAddr protocol:

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

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

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

Friends

class NetworkDeviceTests