![]() |
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_features () override |
| callback for checking the subset of accepted features | |
| 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. | |
| Public Member Functions inherited from L4virtio::Svr::Device_t< No_custom_data > | |
| 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. | |
| Public Member Functions inherited from L4::Epiface_t0< L4virtio::Device, L4::Epiface > | |
| Type_info::Demand | get_buffer_demand () const |
| Get the server-side buffer demand based in IFACE. | |
| Cap< L4virtio::Device > | obj_cap () const |
| Get the (typed) capability to this object. | |
| Public Member Functions inherited from L4::Epiface | |
| 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 | |
| Public Types inherited from L4::Epiface_t0< L4virtio::Device, L4::Epiface > | |
| typedef L4virtio::Device | Interface |
| Data type of the IPC interface definition. | |
| Public Types inherited from L4::Epiface | |
| 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. | |
| Protected Attributes inherited from L4virtio::Svr::Device_t< No_custom_data > | |
| 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 269 of file virtio_net.h.
References L4VIRTIO_IRQ_STATUS_VRING.