1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2020 Intel Corporation
4 #ifndef __INCLUDE_RTE_SWX_PIPELINE_H__
5 #define __INCLUDE_RTE_SWX_PIPELINE_H__
19 #include <rte_compat.h>
22 * Pipeline setup and operation
25 /** Pipeline opaque data structure. */
26 struct rte_swx_pipeline;
32 * Pipeline handle. Must point to valid memory. Contains valid pipeline handle
33 * when the function returns successfully.
34 * @param[in] numa_node
35 * Non-Uniform Memory Access (NUMA) node.
37 * 0 on success or the following error codes otherwise:
38 * -EINVAL: Invalid argument;
39 * -ENOMEM: Not enough space/cannot allocate memory.
43 rte_swx_pipeline_config(struct rte_swx_pipeline **p,
49 * Once called, the pipeline build operation marks the end of pipeline
50 * configuration. At this point, all the internal data structures needed to run
51 * the pipeline are built.
56 * 0 on success or the following error codes otherwise:
57 * -EINVAL: Invalid argument;
58 * -ENOMEM: Not enough space/cannot allocate memory;
59 * -EEXIST: Pipeline was already built successfully.
63 rte_swx_pipeline_build(struct rte_swx_pipeline *p);
73 rte_swx_pipeline_free(struct rte_swx_pipeline *p);