FD.io VPP
v21.06-3-gbb25fbf28
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 | foreach_virtio_event_idx_flags |
#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 } |
enum | virtio_event_idx_flags_t { foreach_virtio_event_idx_flags } |
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_event_idx_flags |
Definition at line 78 of file virtio_std.h.
#define foreach_virtio_net_features |
Definition at line 18 of file virtio_std.h.
#define VIRTIO_FEATURE | ( | X | ) | (1ULL << X) |
Definition at line 67 of file virtio_std.h.
#define VIRTIO_NET_HDR_F_DATA_VALID 2 /* Csum is valid */ |
Definition at line 141 of file virtio_std.h.
#define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 /* Use csum_start, csum_offset */ |
Definition at line 140 of file virtio_std.h.
Definition at line 147 of file virtio_std.h.
Definition at line 143 of file virtio_std.h.
Definition at line 144 of file virtio_std.h.
Definition at line 146 of file virtio_std.h.
#define VIRTIO_NET_HDR_GSO_UDP 3 /* GSO frame, IPv4 UDP (UFO) */ |
Definition at line 145 of file virtio_std.h.
#define VRING_AVAIL_F_NO_INTERRUPT 1 |
Definition at line 91 of file virtio_std.h.
#define VRING_DESC_F_AVAIL (1 << 7) |
Definition at line 75 of file virtio_std.h.
#define VRING_DESC_F_INDIRECT 4 |
Definition at line 73 of file virtio_std.h.
#define VRING_DESC_F_NEXT 1 |
Definition at line 71 of file virtio_std.h.
#define VRING_DESC_F_USED (1 << 15) |
Definition at line 76 of file virtio_std.h.
#define VRING_DESC_F_WRITE 2 |
Definition at line 72 of file virtio_std.h.
#define VRING_MAX_SIZE 32768 |
Definition at line 69 of file virtio_std.h.
#define VRING_USED_F_NO_NOTIFY 1 |
Definition at line 90 of file virtio_std.h.
Enumerator | |
---|---|
foreach_virtio_event_idx_flags |
Definition at line 83 of file virtio_std.h.
enum virtio_net_feature_t |
Enumerator | |
---|---|
foreach_virtio_net_features |
Definition at line 60 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 | ||
) |