API Reference Manual
1.46.0
|
External memory pool capabilities. More...
#include <pool_types.h>
Data Fields | |
odp_pool_type_t | type |
Requested pool type. More... | |
uint32_t | max_pools |
Maximum number of pools. More... | |
uint32_t | min_cache_size |
Minimum size of thread local cache. | |
uint32_t | max_cache_size |
Maximum size of thread local cache. | |
odp_pool_stats_opt_t | stats |
Supported statistics counters. | |
struct { | |
uint32_t max_num_buf | |
Maximum number of packet buffers. | |
uint32_t max_buf_size | |
Maximum packet buffer size in bytes. | |
uint32_t odp_header_size | |
ODP header size in bytes. More... | |
uint32_t odp_trailer_size | |
ODP trailer size in bytes. More... | |
uint32_t min_mem_align | |
Minimum packet pool memory area alignment in bytes. More... | |
uint32_t min_buf_align | |
Minimum packet buffer pointer alignment in bytes. More... | |
uint32_t min_head_align | |
Minimum packet headroom alignment in bytes. More... | |
struct { | |
uint16_t buf_size_aligned: 1 | |
Packet buffers are size aligned. More... | |
} | |
Packet buffer alignment flags. More... | |
uint32_t max_headroom | |
Maximum headroom parameter value. More... | |
uint32_t max_headroom_size | |
Maximum headroom size in bytes. More... | |
uint32_t max_segs_per_pkt | |
Maximum number of segments per packet. | |
uint32_t max_uarea_size | |
Maximum user area size in bytes. | |
odp_bool_t uarea_persistence | |
Pool user area persistence. More... | |
} | pkt |
Packet pool capabilities | |
External memory pool capabilities.
Generic fields (not specific to a pool type) contain capabilities of the requested pool type.
Definition at line 665 of file api/spec/pool_types.h.
odp_pool_type_t odp_pool_ext_capability_t::type |
Requested pool type.
Pool type from the odp_pool_ext_capability() call is recorded here for reference.
Definition at line 669 of file api/spec/pool_types.h.
uint32_t odp_pool_ext_capability_t::max_pools |
Maximum number of pools.
Maximum number of external memory pools of the requested type.
Definition at line 674 of file api/spec/pool_types.h.
uint32_t odp_pool_ext_capability_t::odp_header_size |
ODP header size in bytes.
Application must reserve this many bytes from the start of a packet buffer for ODP implementation usage. When the value is zero, ODP implementation does not need header space to be reserved for it. Application will not modify this memory area (after buffer populate call).
Definition at line 700 of file api/spec/pool_types.h.
uint32_t odp_pool_ext_capability_t::odp_trailer_size |
ODP trailer size in bytes.
Application must reserve this many bytes from the end of a packet buffer for ODP implementation usage. When the value is zero, ODP implementation does not need trailer space to be reserved for it. Application will not modify this memory area (after buffer populate call).
Definition at line 709 of file api/spec/pool_types.h.
uint32_t odp_pool_ext_capability_t::min_mem_align |
Minimum packet pool memory area alignment in bytes.
The memory area used for a packet pool, starting from (or before) the lowest addressed buffer and extending to the end (or after) of the highest addressed buffer, must have at least this (power of two) alignment. The value is 1 when there is no alignment requirement.
Definition at line 718 of file api/spec/pool_types.h.
uint32_t odp_pool_ext_capability_t::min_buf_align |
Minimum packet buffer pointer alignment in bytes.
Packet buffer pointers populated into a pool must be evenly divisible with this value. The value is 1 when there is no alignment requirement.
Definition at line 725 of file api/spec/pool_types.h.
uint32_t odp_pool_ext_capability_t::min_head_align |
Minimum packet headroom alignment in bytes.
Packet buffers populated into a pool must have their headroom start address evenly divisible with this value. The value is 1 when there is no alignment requirement.
Definition at line 733 of file api/spec/pool_types.h.
uint16_t odp_pool_ext_capability_t::buf_size_aligned |
Packet buffers are size aligned.
When set, packet buffer pointers must be aligned to the buffer size. For example, if the buffer size would be 2304 bytes (0x900), each buffer start address must be a multiple of 0x900 (e.g. 0x12000900, 0x12001200, 0x12004800, etc).
Definition at line 748 of file api/spec/pool_types.h.
uint32_t odp_pool_ext_capability_t::max_headroom |
Maximum headroom parameter value.
The packet pool headroom parameter may not exceed this value.
Definition at line 756 of file api/spec/pool_types.h.
uint32_t odp_pool_ext_capability_t::max_headroom_size |
Maximum headroom size in bytes.
Any newly allocated packet will have at most this much headroom. Application may use this to ensure that packet buffer size is large enough to fit both buffer headers, headroom and data.
Definition at line 764 of file api/spec/pool_types.h.
odp_bool_t odp_pool_ext_capability_t::uarea_persistence |
Pool user area persistence.
See buf.uarea_persistence of odp_pool_capability_t for details (odp_pool_capability_t::uarea_persistence).
Definition at line 776 of file api/spec/pool_types.h.