Data Accelerator Offload
Loading...
Searching...
No Matches
dao_port_group.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: Marvell-MIT
2 * Copyright (c) 2023 Marvell.
3 */
4
5#ifndef _DAO_PORT_GROUP_H_
6#define _DAO_PORT_GROUP_H_
7
14#include <errno.h>
15#include <stdint.h>
16#include <stdlib.h>
17#include <string.h>
18#include <stdio.h>
19#include <stddef.h>
20#include <signal.h>
21#include <assert.h>
22
23#include <rte_common.h>
24#include <rte_compat.h>
25#include <rte_debug.h>
26
27#ifdef __cplusplus
28extern "C" {
29#endif
30
31#define DAO_PORT_GROUP_MAX 8
32#define DAO_PORT_GROUP_NAMELEN 64
34#define DAO_PORT_GROUP_INITIALIZER ((dao_port_group_t)(~0))
35#define DAO_PORT_INVALID_VALUE ((dao_port_t)(~0))
37typedef uint32_t dao_port_group_t;
38typedef uint64_t dao_port_t;
72int dao_port_group_create(const char *group_name, uint32_t max_num_ports, dao_port_group_t *epg);
73
86int dao_port_group_get_by_name(const char *group_name, dao_port_group_t *epg);
87
106int dao_port_group_port_add(dao_port_group_t epg, dao_port_t port, int32_t *returned_index);
107
123int dao_port_group_port_get(dao_port_group_t epg, int32_t returned_index, dao_port_t *port);
124
142
155int dao_port_group_port_get_num(dao_port_group_t epg, uint32_t *num_ports);
156
170int dao_port_group_port_delete(dao_port_group_t epg, int32_t returned_index);
171
183
194#define DAO_PORT_GROUP_FOREACH_PORT(epg, port, index) \
195 for (index = dao_port_group_port_get_next(epg, &port, -1); \
196 (index > -1) && (port != DAO_PORT_INVALID_VALUE); \
197 index = dao_port_group_port_get_next(epg, &port, index))
198
199#endif
int dao_port_group_create(const char *group_name, uint32_t max_num_ports, dao_port_group_t *epg)
int dao_port_group_get_by_name(const char *group_name, dao_port_group_t *epg)
int dao_port_group_port_get_num(dao_port_group_t epg, uint32_t *num_ports)
int dao_port_group_port_get(dao_port_group_t epg, int32_t returned_index, dao_port_t *port)
int32_t dao_port_group_port_get_next(dao_port_group_t epg, dao_port_t *port, int32_t index)
uint64_t dao_port_t
uint32_t dao_port_group_t
int dao_port_group_destroy(dao_port_group_t epg)
int dao_port_group_port_add(dao_port_group_t epg, dao_port_t port, int32_t *returned_index)
int dao_port_group_port_delete(dao_port_group_t epg, int32_t returned_index)