API Reference Manual  1.45.1
odp_pool_ext_capability_t Struct Reference

External memory pool capabilities. More...

#include <pool_types.h>

Collaboration diagram for odp_pool_ext_capability_t:
[legend]

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

 

Detailed Description

External memory pool capabilities.

Generic fields (not specific to a pool type) contain capabilities of the requested pool type.

Examples
odp_sysinfo.c.

Definition at line 665 of file api/spec/pool_types.h.

Field Documentation

◆ type

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.

◆ max_pools

uint32_t odp_pool_ext_capability_t::max_pools

Maximum number of pools.

Maximum number of external memory pools of the requested type.

Examples
odp_sysinfo.c.

Definition at line 674 of file api/spec/pool_types.h.

◆ odp_header_size

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).

Examples
odp_sysinfo.c.

Definition at line 700 of file api/spec/pool_types.h.

◆ odp_trailer_size

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).

Examples
odp_sysinfo.c.

Definition at line 709 of file api/spec/pool_types.h.

◆ min_mem_align

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.

Examples
odp_sysinfo.c.

Definition at line 718 of file api/spec/pool_types.h.

◆ min_buf_align

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.

Examples
odp_sysinfo.c.

Definition at line 725 of file api/spec/pool_types.h.

◆ min_head_align

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.

Examples
odp_sysinfo.c.

Definition at line 733 of file api/spec/pool_types.h.

◆ buf_size_aligned

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).

Examples
odp_sysinfo.c.

Definition at line 748 of file api/spec/pool_types.h.

◆ max_headroom

uint32_t odp_pool_ext_capability_t::max_headroom

Maximum headroom parameter value.

The packet pool headroom parameter may not exceed this value.

Examples
odp_sysinfo.c.

Definition at line 756 of file api/spec/pool_types.h.

◆ max_headroom_size

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.

Examples
odp_sysinfo.c.

Definition at line 764 of file api/spec/pool_types.h.

◆ uarea_persistence

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).

Examples
odp_sysinfo.c.

Definition at line 776 of file api/spec/pool_types.h.


The documentation for this struct was generated from the following file: