Add utility function to get the rte_eth_dev from a given softnic. Signed-off-by: Cristian Dumitrescu <cristian.dumitre...@intel.com> Signed-off-by: Reshma Pattan <reshma.pat...@intel.com> --- drivers/net/softnic/rte_eth_softnic_internals.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+)
diff --git a/drivers/net/softnic/rte_eth_softnic_internals.h b/drivers/net/softnic/rte_eth_softnic_internals.h index 9c587bc7d..1857ec50d 100644 --- a/drivers/net/softnic/rte_eth_softnic_internals.h +++ b/drivers/net/softnic/rte_eth_softnic_internals.h @@ -18,6 +18,7 @@ #include <rte_table_action.h> #include <rte_pipeline.h> +#include <rte_ethdev_core.h> #include <rte_ethdev_driver.h> #include <rte_tm_driver.h> #include <rte_flow_driver.h> @@ -537,6 +538,22 @@ struct pmd_internals { struct softnic_thread_data thread_data[RTE_MAX_LCORE]; }; +static inline struct rte_eth_dev * +ETHDEV(struct pmd_internals *softnic) +{ + uint16_t port_id; + int status; + + if (softnic == NULL) + return NULL; + + status = rte_eth_dev_get_port_by_name(softnic->params.name, &port_id); + if (status) + return NULL; + + return &rte_eth_devices[port_id]; +} + /** * Ethdev Flow API */ -- 2.14.4