|
iPXE
|
Virtual I/O network device. More...
#include <ipxe/virtio.h>Go to the source code of this file.
Data Structures | |
| union | virtio_net_header |
| A virtio network packet header. More... | |
| struct | virtio_net_queue |
| A virtio network queue. More... | |
| struct | virtio_net |
| A virtio network device. More... | |
Macros | |
| #define | VIRTIO_FEAT0_NET_MTU 0x00000008 |
| Device has a reported MTU. | |
| #define | VIRTIO_FEAT0_NET_MAC 0x00000020 |
| Device has a MAC address. | |
| #define | VIRTIO_NET_MAC 0x00 |
| MAC address register offset. | |
| #define | VIRTIO_NET_MTU 0x0a |
| MTU register offset. | |
| #define | VIRTIO_NET_RX_INDEX 0 |
| Receive queue index. | |
| #define | VIRTIO_NET_RX_COUNT 128 |
| Receive queue requested queue size. | |
| #define | VIRTIO_NET_RX_MAX 16 |
| Receive queue maximum fill level. | |
| #define | VIRTIO_NET_TX_INDEX 1 |
| Transmit queue index. | |
| #define | VIRTIO_NET_TX_COUNT 128 |
| Transmit queue requested queue size. | |
| #define | VIRTIO_NET_TX_MAX 128 |
| Transmit queue maximum fill level. | |
| #define | VIRTIO_NET_DESCS 2 |
| Number of descriptors per packet. | |
Functions | |
| FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) | |
| FILE_SECBOOT (PERMITTED) | |
| static void | virtio_net_queue_init (struct virtio_net_queue *queue, struct io_buffer **iobufs, uint8_t *slots, unsigned int index, unsigned int count, unsigned int max, unsigned int dma, unsigned int write) |
| Initialise virtio network queue. | |
Virtual I/O network device.
Definition in file virtio-net.h.
| #define VIRTIO_FEAT0_NET_MTU 0x00000008 |
Device has a reported MTU.
Definition at line 16 of file virtio-net.h.
Referenced by virtio_net_mtu().
| #define VIRTIO_FEAT0_NET_MAC 0x00000020 |
Device has a MAC address.
Definition at line 19 of file virtio-net.h.
Referenced by virtio_net_mac().
| #define VIRTIO_NET_MAC 0x00 |
MAC address register offset.
Definition at line 22 of file virtio-net.h.
Referenced by virtio_net_mac().
| #define VIRTIO_NET_MTU 0x0a |
| #define VIRTIO_NET_RX_INDEX 0 |
| #define VIRTIO_NET_RX_COUNT 128 |
Receive queue requested queue size.
Definition at line 39 of file virtio-net.h.
Referenced by virtio_net_probe().
| #define VIRTIO_NET_RX_MAX 16 |
Receive queue maximum fill level.
Definition at line 42 of file virtio-net.h.
Referenced by virtio_net_close(), and virtio_net_probe().
| #define VIRTIO_NET_TX_INDEX 1 |
| #define VIRTIO_NET_TX_COUNT 128 |
Transmit queue requested queue size.
Definition at line 48 of file virtio-net.h.
Referenced by virtio_net_probe().
| #define VIRTIO_NET_TX_MAX 128 |
Transmit queue maximum fill level.
Definition at line 51 of file virtio-net.h.
Referenced by virtio_net_probe().
| #define VIRTIO_NET_DESCS 2 |
Number of descriptors per packet.
Definition at line 54 of file virtio-net.h.
Referenced by virtio_net_complete(), virtio_net_enable(), and virtio_net_submit().
| FILE_LICENCE | ( | GPL2_OR_LATER_OR_UBDL | ) |
| FILE_SECBOOT | ( | PERMITTED | ) |
|
inlinestatic |
Initialise virtio network queue.
| queue | Virtio network queue |
| index | Queue index |
| iobufs | I/O buffer list |
| slots | Descriptor slot ring |
| dma | DMA direction for packet header |
| write | Writability flag for packet header |
| count | Requested queue size |
| max | Maximum fill level |
Definition at line 97 of file virtio-net.h.
References count, dma(), index, iobufs, max, queue, and write.
Referenced by virtio_net_probe().