Loading...
Searching...
No Matches
Virtio Net Switch

A virtual network switch that can be used as defined in the virtio protocol. More...

## Data Structures

class | Mac_addr
| A wrapper class around the value of a MAC address. More...
class | Mac_table< Size >
| Mac_table manages a 1:n association between ports and MAC addresses. More...
class | Switch_factory
| The IPC interface for creating ports. More...
class | L4virtio_port
| A Port on the Virtio Net Switch. More...
class | Net_transfer
| A network request to only a single destination. More...
class | Virtio_net_request
| Abstraction for a network request. More...
class | Virtio_switch
| The Virtio switch contains all ports and processes network requests. More...
struct | Buffer
| Data buffer used to transfer packets. More...
class | Virtio_vlan_mangle
| Class for VLAN packet rewriting. More...

## Detailed Description

A virtual network switch that can be used as defined in the virtio protocol.

The abstraction of a single connection with a network device (also called client) from the switch's perspective is a port. A client can register multiple ports on the switch. The communication between a client and the switch happens via IRQs, MMIO and shared memory as defined by the Virtio protocol. The switch supports VLANs and ports can be either 'access' or 'trunk' ports. The optionally available monitor port receives network traffic from all ports, and the monitor can not send.