[dpdk-dev] [PATCH 03/13] examples/eventdev: add framework for caps based pipeline

Pavan Nikhilesh pbhagavatula at caviumnetworks.com
Thu Dec 7 21:36:55 CET 2017


Add framework to support capability based pipeline.
Based on the capability of event device and probed ethernet devices the
optimal pipeline configuration can be chosen.

Signed-off-by: Pavan Nikhilesh <pbhagavatula at caviumnetworks.com>
---
 examples/eventdev_pipeline_sw_pmd/pipeline_common.h | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/examples/eventdev_pipeline_sw_pmd/pipeline_common.h b/examples/eventdev_pipeline_sw_pmd/pipeline_common.h
index 938e155d3..5219a4e85 100644
--- a/examples/eventdev_pipeline_sw_pmd/pipeline_common.h
+++ b/examples/eventdev_pipeline_sw_pmd/pipeline_common.h
@@ -67,6 +67,16 @@ struct worker_data {
 	uint8_t port_id;
 } __rte_cache_aligned;
 
+struct setup_data {
+	int (*worker_loop)(void *);
+	int (*consumer_loop)(void);
+	void (*schedule_loop)(unsigned int);
+	int (*eventdev_setup)(struct prod_data *, struct cons_data *,
+			struct worker_data *);
+	void (*rx_adapter_setup)(uint16_t nb_ports);
+	void (*opt_check)(void);
+};
+
 struct fastpath_data {
 	volatile int done;
 	uint32_t rx_lock;
@@ -82,6 +92,7 @@ struct fastpath_data {
 	unsigned int sched_core[MAX_NUM_CORE];
 	unsigned int worker_core[MAX_NUM_CORE];
 	struct rte_eth_dev_tx_buffer *tx_buf[RTE_MAX_ETHPORTS];
+	struct setup_data cap;
 } __rte_cache_aligned;
 
 struct config_data {
-- 
2.14.1



More information about the dev mailing list