![]() |
L4Re Operating System Framework
Interface and Usage Documentation
|
A network request to only a single destination. More...
#include <transfer.h>
Static Public Member Functions | |
static Result | transfer (Virtio_net_request const &request, Virtio_net *dst_dev, L4virtio::Svr::Virtqueue *dst_queue, Virtio_vlan_mangle &mangle) |
Deliver the request to the destination port. | |
A network request to only a single destination.
A Virtio_net_request
can have multiple destinations (being a broadcast request, for example). That is why it is processed by multiple Virtio_net_transfer
s, each representing the delivery to a single destination port.
Virtio_port::handle_request
uses the transfer function to move one packet to the destination of the request.
Definition at line 34 of file transfer.h.
|
inlinestatic |
Deliver the request to the destination port.
request | The associated network request |
dst_dev | The destination port |
dst_queue | The Receive queue of the destination port |
mangle | The VLAN packet rewriting handler for the transfer |
L4virtio::Svr::Bad_descriptor | Exception raised in SRC port queue. |
Definition at line 53 of file transfer.h.
References Virtio_vlan_mangle::copy_pkt(), L4virtio::Svr::Device_t< DATA >::device_error(), L4virtio::Svr::Data_buffer::done(), L4virtio::Svr::Virtqueue::finish(), L4_EINVAL, L4_UNLIKELY, L4virtio::Svr::Data_buffer::left, L4virtio::Svr::Device_t< DATA >::mem_info(), L4virtio::Svr::Bad_descriptor::message(), L4virtio::Svr::Request_processor::next(), L4virtio::Svr::Virtqueue::next_avail(), L4virtio::Svr::Data_buffer::pos, L4virtio::Virtqueue::ready(), L4virtio::Svr::Virtqueue::rewind_avail(), Virtio_vlan_mangle::rewrite_hdr(), L4virtio::Svr::Data_buffer::skip(), and L4virtio::Svr::Request_processor::start().
Referenced by Virtio_port::handle_request().