5#ifndef __INCLUDE_RTE_ETH_SOFTNIC_INTERNALS_H__
6#define __INCLUDE_RTE_ETH_SOFTNIC_INTERNALS_H__
20#include <ethdev_driver.h>
22#include "rte_eth_softnic.h"
26#define SOFTNIC_PATH_MAX 4096
34 char firmware[SOFTNIC_PATH_MAX];
49struct softnic_mempool {
50 TAILQ_ENTRY(softnic_mempool) node;
56TAILQ_HEAD(softnic_mempool_list, softnic_mempool);
66 TAILQ_ENTRY(softnic_swq) node;
71TAILQ_HEAD(softnic_swq_list, softnic_swq);
80 struct rte_swx_pipeline *p;
81 struct rte_swx_ctl_pipeline *ctl;
92#ifndef THREAD_PIPELINES_MAX
93#define THREAD_PIPELINES_MAX 256
96#ifndef THREAD_MSGQ_SIZE
97#define THREAD_MSGQ_SIZE 64
100#ifndef THREAD_TIMER_PERIOD_MS
101#define THREAD_TIMER_PERIOD_MS 100
109#ifndef PIPELINE_INSTR_QUANTA
110#define PIPELINE_INSTR_QUANTA 1000
127 struct rte_swx_pipeline *p[THREAD_PIPELINES_MAX];
128 uint32_t n_pipelines;
132 uint64_t timer_period;
144 struct softnic_conn *conn;
145 struct softnic_mempool_list mempool_list;
146 struct softnic_swq_list swq_list;
147 struct pipeline_list pipeline_list;
152static inline struct rte_eth_dev *
165 return &rte_eth_devices[port_id];
177struct softnic_mempool *
181struct softnic_mempool *
196softnic_softnic_swq_free_keep_rxq_txq(
struct pmd_internals *p);
220softnic_pipeline_thread_count(
struct pmd_internals *p, uint32_t thread_id);
223softnic_pipeline_find(
struct pmd_internals *p,
const char *name);
228 const char *lib_file_name,
229 const char *iospec_file_name,
258softnic_cli_process(
char *in,
265 const char *file_name,
266 size_t msg_in_len_max,
267 size_t msg_out_len_max);
#define __rte_cache_aligned
int rte_eth_dev_get_port_by_name(const char *name, uint16_t *port_id)