FD.io VPP
v21.01.1
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | vring_desc_t |
struct | vring_avail_t |
struct | vring_used_elem_t |
struct | vring_used_t |
struct | vring_t |
Macros | |
#define | foreach_virtio_net_features |
#define | VIRTIO_FEATURE(X) (1ULL << X) |
#define | VRING_MAX_SIZE 32768 |
#define | VRING_DESC_F_NEXT 1 |
#define | VRING_DESC_F_WRITE 2 |
#define | VRING_DESC_F_INDIRECT 4 |
#define | VRING_DESC_F_AVAIL (1 << 7) |
#define | VRING_DESC_F_USED (1 << 15) |
#define | VRING_EVENT_F_ENABLE 0x0 |
#define | VRING_EVENT_F_DISABLE 0x1 |
#define | VRING_EVENT_F_DESC 0x2 |
#define | VRING_USED_F_NO_NOTIFY 1 |
#define | VRING_AVAIL_F_NO_INTERRUPT 1 |
#define | VIRTIO_NET_HDR_F_NEEDS_CSUM 1 /* Use csum_start, csum_offset */ |
#define | VIRTIO_NET_HDR_F_DATA_VALID 2 /* Csum is valid */ |
#define | VIRTIO_NET_HDR_GSO_NONE 0 /* Not a GSO frame */ |
#define | VIRTIO_NET_HDR_GSO_TCPV4 1 /* GSO frame, IPv4 TCP (TSO) */ |
#define | VIRTIO_NET_HDR_GSO_UDP 3 /* GSO frame, IPv4 UDP (UFO) */ |
#define | VIRTIO_NET_HDR_GSO_TCPV6 4 /* GSO frame, IPv6 TCP */ |
#define | VIRTIO_NET_HDR_GSO_ECN 0x80 /* TCP has ECN set */ |
Enumerations | |
enum | virtio_net_feature_t { foreach_virtio_net_features } |
Functions | |
typedef | CLIB_PACKED (struct { u64 addr;u32 len;u16 id;u16 flags;}) vring_packed_desc_t |
STATIC_ASSERT_SIZEOF (vring_packed_desc_t, 16) | |
typedef | CLIB_PACKED (struct { u16 off_wrap;u16 flags;}) vring_desc_event_t |
typedef | CLIB_PACKED (struct { u8 flags;u8 gso_type;u16 hdr_len;u16 gso_size;u16 csum_start;u16 csum_offset;u16 num_buffers;}) virtio_net_hdr_v1_t |
typedef | CLIB_PACKED (struct { u8 flags;u8 gso_type;u16 hdr_len;u16 gso_size;u16 csum_start;u16 csum_offset;}) virtio_net_hdr_t |
typedef | CLIB_PACKED (struct { virtio_net_hdr_t hdr;u16 num_buffers;}) virtio_net_hdr_mrg_rxbuf_t |
static_always_inline void | vring_init (vring_t *vr, u32 num, void *p, u32 align) |
static_always_inline u16 | vring_size (u32 num, u32 align) |
#define foreach_virtio_net_features |
Definition at line 18 of file virtio_std.h.
#define VIRTIO_FEATURE | ( | X | ) | (1ULL << X) |
Definition at line 69 of file virtio_std.h.
#define VIRTIO_NET_HDR_F_DATA_VALID 2 /* Csum is valid */ |
Definition at line 135 of file virtio_std.h.
#define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 /* Use csum_start, csum_offset */ |
Definition at line 134 of file virtio_std.h.
#define VIRTIO_NET_HDR_GSO_ECN 0x80 /* TCP has ECN set */ |
Definition at line 141 of file virtio_std.h.
Definition at line 137 of file virtio_std.h.
#define VIRTIO_NET_HDR_GSO_TCPV4 1 /* GSO frame, IPv4 TCP (TSO) */ |
Definition at line 138 of file virtio_std.h.
#define VIRTIO_NET_HDR_GSO_TCPV6 4 /* GSO frame, IPv6 TCP */ |
Definition at line 140 of file virtio_std.h.
#define VIRTIO_NET_HDR_GSO_UDP 3 /* GSO frame, IPv4 UDP (UFO) */ |
Definition at line 139 of file virtio_std.h.
#define VRING_AVAIL_F_NO_INTERRUPT 1 |
Definition at line 85 of file virtio_std.h.
#define VRING_DESC_F_AVAIL (1 << 7) |
Definition at line 77 of file virtio_std.h.
#define VRING_DESC_F_INDIRECT 4 |
Definition at line 75 of file virtio_std.h.
#define VRING_DESC_F_NEXT 1 |
Definition at line 73 of file virtio_std.h.
#define VRING_DESC_F_USED (1 << 15) |
Definition at line 78 of file virtio_std.h.
#define VRING_DESC_F_WRITE 2 |
Definition at line 74 of file virtio_std.h.
#define VRING_EVENT_F_DESC 0x2 |
Definition at line 82 of file virtio_std.h.
#define VRING_EVENT_F_DISABLE 0x1 |
Definition at line 81 of file virtio_std.h.
#define VRING_EVENT_F_ENABLE 0x0 |
Definition at line 80 of file virtio_std.h.
#define VRING_MAX_SIZE 32768 |
Definition at line 71 of file virtio_std.h.
#define VRING_USED_F_NO_NOTIFY 1 |
Definition at line 84 of file virtio_std.h.
enum virtio_net_feature_t |
Enumerator | |
---|---|
foreach_virtio_net_features |
Definition at line 62 of file virtio_std.h.
typedef CLIB_PACKED | ( | struct { u8 flags;u8 gso_type;u16 hdr_len;u16 gso_size;u16 csum_start;u16 csum_offset;u16 num_buffers;} | ) |
typedef CLIB_PACKED | ( | struct { u8 flags;u8 gso_type;u16 hdr_len;u16 gso_size;u16 csum_start;u16 csum_offset;} | ) |
typedef CLIB_PACKED | ( | struct { virtio_net_hdr_t hdr;u16 num_buffers;} | ) |
STATIC_ASSERT_SIZEOF | ( | vring_packed_desc_t | , |
16 | |||
) |
static_always_inline void vring_init | ( | vring_t * | vr, |
u32 | num, | ||
void * | p, | ||
u32 | align | ||
) |
static_always_inline u16 vring_size | ( | u32 | num, |
u32 | align | ||
) |