API Reference Manual  1.45.0
odp_pool_ext_param_t Struct Reference

External memory pool parameters. More...

#include <pool_types.h>

Collaboration diagram for odp_pool_ext_param_t:
[legend]

Data Fields

odp_pool_type_t type
 Pool type.
 
struct {
   void(*   init_fn )(void *uarea, uint32_t size,
      void *args, uint32_t index)
 See uarea_init.init_fn of odp_pool_param_t for details (odp_pool_param_t::init_fn). More...
 
   void *   args
 See uarea_init.args of odp_pool_param_t for details (odp_pool_param_t::args).
 
uarea_init
 Parameters for user area initialization.
 
uint32_t cache_size
 Maximum thread local cache size for the pool. More...
 
odp_pool_stats_opt_t stats
 Pool statistics configuration. More...
 
struct {
   uint32_t   num_buf
 Number of packet buffers. More...
 
   uint32_t   buf_size
 Packet buffer size. More...
 
   uint32_t   app_header_size
 Application header size. More...
 
   uint32_t   uarea_size
 User area size. More...
 
   uint32_t   headroom
 Minimum headroom size. More...
 
pkt
 Parameters for packet pools.
 

Detailed Description

External memory pool parameters.

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

Field Documentation

◆ init_fn

void(* odp_pool_ext_param_t::init_fn) (void *uarea, uint32_t size, void *args, uint32_t index)

See uarea_init.init_fn of odp_pool_param_t for details (odp_pool_param_t::init_fn).

However, note that with external memory pools, this function is called during memory population and not during pool creation (odp_pool_ext_populate()). Depending on the implementation, the function may be called each time pool is being populated with odp_pool_ext_populate() or during the last population call (odp_pool_ext_populate() with ODP_POOL_POPULATE_DONE).

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

◆ cache_size

uint32_t odp_pool_ext_param_t::cache_size

Maximum thread local cache size for the pool.

Valid value range is from min_cache_size to max_cache_size capability. The default value is implementation specific. See odp_pool_param_t (buf.cache_size) for more detailed documentation.

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

◆ stats

odp_pool_stats_opt_t odp_pool_ext_param_t::stats

Pool statistics configuration.

All pool statistics are disabled by default. For optimal performance, enable only those counters that are actually used. Counters may be read with odp_pool_stats().

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

◆ num_buf

uint32_t odp_pool_ext_param_t::num_buf

Number of packet buffers.

The number of packet buffers application will populate into the pool. The maximum value is defined by pool capability pkt.max_num_buf.

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

◆ buf_size

uint32_t odp_pool_ext_param_t::buf_size

Packet buffer size.

Total buffer size in bytes including all headers, trailer, head-/tailroom and data. This is calculated from buffer start pointer to the end of buffer data area (including tailroom) or ODP trailer (see odp_trailer_size capability). All packet buffers application populates into the pool are of this size.

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

◆ app_header_size

uint32_t odp_pool_ext_param_t::app_header_size

Application header size.

Application reserves this many bytes for its own buffer header usage. The application header follows immediately the ODP buffer header (see odp_header_size capability). ODP implementation will not modify this memory area. The default value is 0.

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

◆ uarea_size

uint32_t odp_pool_ext_param_t::uarea_size

User area size.

Per packet user area size in bytes. As with normal pools, user area location is ODP implementation specific. Use zero if no user area is needed. The maximum value is defined by pool capability pkt.max_uarea_size. The default value is 0.

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

◆ headroom

uint32_t odp_pool_ext_param_t::headroom

Minimum headroom size.

Each newly allocated packet from the pool must have at least this much headroom in bytes. The configuration applies to both ODP packet input and application allocated packets. Use zero if headroom is not needed. The maximum value is defined by pool capability pkt.max_headroom. Implementation may round up the initial headroom size up to pool capability pkt.max_headroom_size.

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


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