5 #ifndef __INCLUDE_RTE_ETH_SOFTNIC_INTERNALS_H__ 6 #define __INCLUDE_RTE_ETH_SOFTNIC_INTERNALS_H__ 10 #include <sys/queue.h> 20 #include <ethdev_driver.h> 22 #include "rte_eth_softnic.h" 26 #define SOFTNIC_PATH_MAX 4096 34 char firmware[SOFTNIC_PATH_MAX];
49 struct softnic_mempool {
50 TAILQ_ENTRY(softnic_mempool) node;
56 TAILQ_HEAD(softnic_mempool_list, softnic_mempool);
66 TAILQ_ENTRY(softnic_swq) node;
71 TAILQ_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;
152 static inline struct rte_eth_dev *
165 return &rte_eth_devices[port_id];
177 struct softnic_mempool *
181 struct softnic_mempool *
196 softnic_softnic_swq_free_keep_rxq_txq(
struct pmd_internals *p);
220 softnic_pipeline_thread_count(
struct pmd_internals *p, uint32_t thread_id);
223 softnic_pipeline_find(
struct pmd_internals *p,
const char *name);
228 const char *lib_file_name,
229 const char *iospec_file_name,
252 softnic_thread_pipeline_disable_all(
struct pmd_internals *p);
258 softnic_cli_process(
char *in,
265 const char *file_name,
266 size_t msg_in_len_max,
267 size_t msg_out_len_max);
int rte_eth_dev_get_port_by_name(const char *name, uint16_t *port_id)
#define __rte_cache_aligned