[dpdk-dev] [PATCH v6 0/7] eventdev: cover letter: eth Rx adapter

Jerin Jacob jerin.jacob at caviumnetworks.com
Tue Oct 10 18:26:56 CEST 2017


-----Original Message-----
> Date: Wed, 11 Oct 2017 03:51:30 +0530
> From: Nikhil Rao <nikhil.rao at intel.com>
> To: jerin.jacob at caviumnetworks.com, bruce.richardson at intel.com
> CC: dev at 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.jacob at caviumnetworks.com>
 


More information about the dev mailing list