Data Accelerator Offload
|
#include <errno.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <stddef.h>
#include <signal.h>
#include <assert.h>
#include <rte_common.h>
#include <rte_compat.h>
#include <rte_debug.h>
#include <dao_portq_group.h>
#include <dao_log.h>
#include <dao_util.h>
Go to the source code of this file.
Data Structures | |
struct | dao_portq_list |
struct | dao_portq_group |
struct | dao_portq_group_main |
Macros | |
#define | DAO_PORTQ_GROUP_NAMELEN 64 |
#define | DAO_PORTQ_INVALID_VALUE ((uint32_t)(~1)) |
#define | DAO_PORTQ_GROUP_FOREACH_CORE(epg, core_id, portq, i) |
Typedefs | |
typedef struct dao_portq_list | dao_portq_list_t |
typedef struct dao_portq_group_main | dao_portq_group_main_t |
Functions | |
static struct dao_portq_group * | dao_portq_group_get (dao_portq_group_t epg) |
static dao_portq_list_t * | __dao_portq_group_list_get (struct dao_portq_group *epg, uint32_t core_id) |
static dao_portq_list_t * | dao_portq_group_list_get (dao_portq_group_t epg, uint32_t core_id) |
static int32_t | dao_portq_group_portq_get_next (dao_portq_group_t epg, uint32_t core_id, dao_portq_t **portq, int32_t index) |
Fast Path PortQ [port, queue] group APIs
Once application creates dao_portq_group_t and assign dao_portq_t by core_id in control path, on each worker, list of dao_portq_t (aka dao_portq_list_t) can be retrieved using dao_portq_group_list_get().
Caller either can manually iterate over dao_portq_list_t OR use fast path defined macro DAO_PORTQ_GROUP_FOREACH_CORE()
Definition in file dao_portq_group_worker.h.
#define DAO_PORTQ_GROUP_NAMELEN 64 |
Max length of portq group name
Definition at line 44 of file dao_portq_group_worker.h.
#define DAO_PORTQ_INVALID_VALUE ((uint32_t)(~1)) |
Default value, if uninitialized
Definition at line 45 of file dao_portq_group_worker.h.
#define DAO_PORTQ_GROUP_FOREACH_CORE | ( | epg, | |
core_id, | |||
portq, | |||
i | |||
) |
Fast path macro for iterating over dao_portq_t
Usage:
epg | dao_portq_group_t object. |
core_id | core_id ranging from 0 to "num_cores-1" (provided in dao_portq_group_create()) Type: (uint32_t) |
portq | Pointer to dao_portq_t |
i | Iterator. (int32_t) |
Definition at line 237 of file dao_portq_group_worker.h.
typedef struct dao_portq_list dao_portq_list_t |
List/Array of dao_portq_t
typedef struct dao_portq_group_main dao_portq_group_main_t |
dao portq_group main
|
inlinestatic |
Function definitions Translate from public portq_group object to internal structure
Definition at line 126 of file dao_portq_group_worker.h.
|
inlinestatic |
Fast path API: Get list of dao_portq_t for core_id in a portq_group object
epg | Pointer to struct dao_portq_group |
core_id | Core_id ranging from 0 to "num_cores -1" (dao_portq_group_create()) |
Definition at line 147 of file dao_portq_group_worker.h.
|
inlinestatic |
Per core Fast path API: Get list of dao_portq_t for core_id in a portq_group object
epg | dao_portq_group_t object |
core_id | Core_id ranging from 0 to "num_cores -1" (dao_portq_group_create()) |
Definition at line 171 of file dao_portq_group_worker.h.
|
inlinestatic |
Fast path API for getting first "dao_portq_t" from a portq_group whose returned_index (
epg | "dao_port_group_t" object. | |
core_id | core_id ranging from 0 to "num_cores-1" (provided in dao_portq_group_create()) | |
[out] | portq | Pointer to "dao_portq_t *". Valid if function returns 0 |
[out] | index | -1 or Returned index from dao_port_group_port_get_next() or dao_port_group_port_add() |
Definition at line 195 of file dao_portq_group_worker.h.