-----Original Message----- > Date: Wed, 11 Oct 2017 03:51:30 +0530 > From: Nikhil Rao <nikhil....@intel.com> > To: jerin.ja...@caviumnetworks.com, bruce.richard...@intel.com > CC: dev@dpdk.org > Subject: [PATCH v6 0/7] eventdev: cover letter: eth Rx adapter > X-Mailer: git-send-email 2.7.4 > > Eventdev-based networking applications require a component to dequeue > packets from NIC Rx queues and inject them into eventdev queues[1]. While > some platforms (e.g. Cavium Octeontx) do this operation in hardware, other > platforms use software. > > This patchset introduces an ethernet Rx event adapter that dequeues packets > from ethernet devices and enqueues them to event devices. This patch is based > on > a previous RFC[2] and supercedes [3], the main difference being that > this version implements a common abstraction for HW and SW based packet > transfers. > > The adapter is designed to work with the EAL service core[4] for SW based > packet transfers. An eventdev PMD callback is used to determine that SW > based packet transfer service is required. The application can discover > and configure the service with a core mask using rte_service APIs. > > The adapter can service multiple ethernet devices and queues. For SW based > packet transfers each queue is configured with a servicing weight to > control the relative frequency with which the adapter polls the queue, > and the event fields to use when constructing packet events. The adapter > has two modes for programming an event's flow ID: use a static per-queue > user-specified value or use the RSS hash. > > A detailed description of the adapter is contained in the header's > comments. > > [1] http://dpdk.org/ml/archives/dev/2017-May/065341.html > [2] http://dpdk.org/ml/archives/dev/2017-May/065539.html > [3] http://dpdk.org/ml/archives/dev/2017-July/070452.html > [4] http://dpdk.org/ml/archives/dev/2017-July/069782.html > > v3: > - This patch extends the V2 implementation with some changes to > provide a common API across HW & SW packet transfer mechanisms from > the eth devices to the event devices. > - Introduces a caps API that is used by the apps and the Rx > adapter to configure the packet transfer path. > - Adds an API to retrieve the service ID of the service function. > (if one is used by the adapter) > > v4: > - Unit test fixes (Santosh Shukla) > - Pass ethernet device pointer to eventdev callback functions > instead of ethernet port ID. (Nipun Gupta) > - Check for existence of stats callback before invocation (Nipun Gupta) > - Various code cleanups (Harry Van Haaren) > > v5: > - Add RTE_EVENT_TYPE_ETH_RX_ADAPTER (Jerin) > - Add header to documentation build (Jerin) > - Split patch series into smaller patches (Jerin) > - Replace RTE_EVENT_ETH_RX_ADAPTER_CAP_FLOW_ID with > RTE_EVENT_ETH_RX_ADAPTER_CAP_OVERRIDE_FLOW_ID (Jerin) > - If eth_rx_adapter_caps_get PMD callback isn't implemented > return zeored caps (Jerin) > - Replace RTE_EVENT_ETH_RX_ADAPTER_CAP_SINGLE_EVENTQ with > RTE_EVENT_ETH_RX_ADAPTER_CAP_MULTI_EVENTQ (Jerin) > - Replace RTE_MAX_EVENT_ETH_RX_ADAPTER_INSTANCE with > RTE_EVENT_ETH_RX_ADAPTER_MAX_INSTANCE (Jerin) > - Move rss_key_be to per adapter memory > - Various other fixes (Jerin) > - Test fixes for mempool (Santosh) > - Change order for event v/s eth port init in test app (Pavan) > > v6: > - Fixed out of scope variable in rte_event_eth_rx_adapter.c (Pavan) > - Add #define for RSS_KEY_SIZE in rte_event_eth_rx_adapter.c (Pavan) > - Doxygen and git log fixes (Jerin) >
For the series: Acked-by: Jerin Jacob <jerin.ja...@caviumnetworks.com>