table of contents
rte_ring(3) | DPDK | rte_ring(3) |
NAME¶
rte_ring
SYNOPSIS¶
#include <rte_ring_core.h>
Data Fields¶
char name[RTE_RING_NAMESIZE] __rte_cache_aligned
int flags
const struct rte_memzone * memzone
uint32_t size
uint32_t mask
uint32_t capacity
union {
} __rte_cache_aligned
union {
} __rte_cache_aligned
Detailed Description¶
An RTE ring structure.
The producer and the consumer have a head and a tail index. The particularity of these index is that they are not between 0 and size(ring)-1. These indexes are between 0 and 2^32 -1, and we mask their value when we access the ring[] field. Thanks to this assumption, we can do subtractions between 2 index values in a modulo-32bit base: that's why the overflow of the indexes is not a problem.
Definition at line 119 of file rte_ring_core.h.
Field Documentation¶
char name [RTE_RING_NAMESIZE] __rte_cache_aligned¶
Name of the ring.
Definition at line 120 of file rte_ring_core.h.
int flags¶
Flags supplied at creation.
Definition at line 122 of file rte_ring_core.h.
const struct rte_memzone* memzone¶
Memzone, if any, containing the rte_ring
Definition at line 123 of file rte_ring_core.h.
uint32_t size¶
Size of ring.
Definition at line 125 of file rte_ring_core.h.
uint32_t mask¶
Mask (size-1) of ring.
Definition at line 126 of file rte_ring_core.h.
uint32_t capacity¶
Usable size of ring
Definition at line 127 of file rte_ring_core.h.
union { ... } __rte_cache_aligned¶
Ring producer status.
union { ... } __rte_cache_aligned¶
Ring consumer status.
Author¶
Generated automatically by Doxygen for DPDK from the source code.
Fri Dec 15 2023 | Version 23.11.0 |