![]() |
L4Re Operating System Framework
Interface and Usage Documentation
|
The Base class of a Port. More...
#include <virtio_net.h>
Public Member Functions | |
void | reset () override |
reset callback, called for doing a device reset | |
int | reconfig_queue (unsigned index) override |
callback for client queue-config request | |
bool | check_queues () override |
Check whether both virtqueues are ready. | |
void | register_single_driver_irq () override |
Save the _kick_guest_irq that the client sent via device_notification_irq() . | |
void | trigger_driver_config_irq () override |
callback for triggering configuration change notification IRQ | |
void | notify_queue (L4virtio::Svr::Virtqueue *queue) |
Trigger the _kick_guest_irq IRQ. | |
Virtqueue * | tx_q () |
Getter for the transmission queue. | |
Virtqueue * | rx_q () |
Getter for the receive queue. | |
Virtqueue const * | tx_q () const |
Getter for the transmission queue. | |
Virtqueue const * | rx_q () const |
Getter for the receive queue. | |
![]() | |
virtual bool | check_features () |
callback for checking the subset of accepted features | |
virtual void | cfg_changed (unsigned) |
callback for client device configuration changes | |
virtual L4::Cap< L4::Irq > | device_notify_irq () const |
callback to gather the device notification IRQ (old-style) | |
virtual void | register_driver_irq (unsigned idx) |
Callback for registering an notification IRQ (multi IRQ). | |
virtual L4::Cap< L4::Irq > | device_notify_irq (unsigned idx) |
Callback to gather the device notification IRQ (multi IRQ). | |
virtual unsigned | num_events_supported () const |
Return the highest notification index supported. | |
Device_t (Dev_config *dev_config) | |
Make a device for the given config. | |
Mem_list const * | mem_info () const |
Get the memory region list used for this device. | |
void | reset_queue_config (unsigned idx, unsigned num_max, bool inc_generation=false) |
Trigger reset for the configuration space for queue idx. | |
void | init_mem_info (unsigned num) |
Initialize the memory region list to the given maximum. | |
void | device_error () |
Transition device into DEVICE_NEEDS_RESET state. | |
bool | setup_queue (Virtqueue *q, unsigned qn, unsigned num_max) |
Enable/disable the specified queue. | |
bool | handle_mem_cmd_write () |
Check for a value in the cmd register and handle a write. | |
void | enable_trusted_ds_validation () |
Enable trusted dataspace validation. | |
void | add_trusted_dataspaces (std::shared_ptr< Ds_vector const > ds) |
Provide a list of trusted dataspaces that can be used for validation. | |
![]() | |
Type_info::Demand | get_buffer_demand () const |
Get the server-side buffer demand based in IFACE. | |
Cap< RPC_IFACE > | obj_cap () const |
Get the (typed) capability to this object. | |
![]() | |
Epiface () | |
Make a server object. | |
virtual | ~Epiface ()=0 |
Destroy the object. | |
Stored_cap | obj_cap () const |
Get the capability to the kernel object belonging to this object. | |
Server_iface * | server_iface () const |
Get pointer to server interface at which the object is currently registered. | |
int | set_server (Server_iface *srv, Cap< void > cap, bool managed=false) |
Set server registration info for the object. | |
void | set_obj_cap (Cap< void > const &cap) |
Deprecated server registration function. | |
Additional Inherited Members | |
![]() | |
typedef RPC_IFACE | Interface |
Data type of the IPC interface definition. | |
![]() | |
typedef Ipc_svr::Server_iface | Server_iface |
Type for abstract server interface. | |
typedef Ipc_svr::Server_iface::Demand | Demand |
Type for server-side receive buffer demand. | |
![]() | |
Mem_list | _mem_info |
Memory region list. | |
The Base class of a Port.
This class provides the Virtio network protocol specific implementation aspects of a port.
Virtio_net
comprises the virtqueues for both, the incoming and the outgoing network requests:
Definition at line 71 of file virtio_net.h.
|
inline |
Trigger the _kick_guest_irq
IRQ.
This function gets called on the receiving port, when a request was successfully transmitted by the switch.
Definition at line 263 of file virtio_net.h.
References L4VIRTIO_IRQ_STATUS_VRING.