Add common APIs for configuring packet transfer from ethernet Rx queues to event devices across HW & SW packet transfer mechanisms. A detailed description of the adapter is contained in the header's comments.
The adapter implementation uses eventdev PMDs to configure the packet transfer if HW support is available and if not, it uses an EAL service function that reads packets from ethernet Rx queues and injects these as events into the event device. Signed-off-by: Nikhil Rao <nikhil....@intel.com> Signed-off-by: Gage Eads <gage.e...@intel.com> Signed-off-by: Abhinandan Gujjar <abhinandan.guj...@intel.com> --- lib/Makefile | 2 +- lib/librte_eventdev/Makefile | 2 ++ lib/librte_eventdev/rte_eventdev_version.map | 11 ++++++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/Makefile b/lib/Makefile index 86caba1..dbe9b3d 100644 --- a/lib/Makefile +++ b/lib/Makefile @@ -52,7 +52,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_CRYPTODEV) += librte_cryptodev DEPDIRS-librte_cryptodev := librte_eal librte_mempool librte_ring librte_mbuf DEPDIRS-librte_cryptodev += librte_kvargs DIRS-$(CONFIG_RTE_LIBRTE_EVENTDEV) += librte_eventdev -DEPDIRS-librte_eventdev := librte_eal librte_ring +DEPDIRS-librte_eventdev := librte_eal librte_ring librte_hash librte_ether DIRS-$(CONFIG_RTE_LIBRTE_VHOST) += librte_vhost DEPDIRS-librte_vhost := librte_eal librte_mempool librte_mbuf librte_ether DIRS-$(CONFIG_RTE_LIBRTE_HASH) += librte_hash diff --git a/lib/librte_eventdev/Makefile b/lib/librte_eventdev/Makefile index 410578a..c404d67 100644 --- a/lib/librte_eventdev/Makefile +++ b/lib/librte_eventdev/Makefile @@ -43,6 +43,7 @@ CFLAGS += $(WERROR_FLAGS) # library source files SRCS-y += rte_eventdev.c SRCS-y += rte_event_ring.c +SRCS-y += rte_event_eth_rx_adapter.c # export include files SYMLINK-y-include += rte_eventdev.h @@ -50,6 +51,7 @@ SYMLINK-y-include += rte_eventdev_pmd.h SYMLINK-y-include += rte_eventdev_pmd_pci.h SYMLINK-y-include += rte_eventdev_pmd_vdev.h SYMLINK-y-include += rte_event_ring.h +SYMLINK-y-include += rte_event_eth_rx_adapter.h # versioning export map EXPORT_MAP := rte_eventdev_version.map diff --git a/lib/librte_eventdev/rte_eventdev_version.map b/lib/librte_eventdev/rte_eventdev_version.map index 996b361..e10546f 100644 --- a/lib/librte_eventdev/rte_eventdev_version.map +++ b/lib/librte_eventdev/rte_eventdev_version.map @@ -56,6 +56,15 @@ DPDK_17.08 { DPDK_17.11 { global: + rte_event_eth_rx_adapter_create_ext; + rte_event_eth_rx_adapter_create; + rte_event_eth_rx_adapter_free; + rte_event_eth_rx_adapter_queue_add; + rte_event_eth_rx_adapter_queue_del; + rte_event_eth_rx_adapter_start; + rte_event_eth_rx_adapter_stop; + rte_event_eth_rx_adapter_stats_get; + rte_event_eth_rx_adapter_stats_reset; rte_event_eth_rx_adapter_caps_get; - + rte_event_eth_rx_adapter_service_id_get; } DPDK_17.08; -- 2.7.4