[PATCH v3 03/10] ethdev: bring in async queue-based flow rules operations

Ori Kam orika at nvidia.com
Mon Feb 7 14:18:25 CET 2022


HI Alexander,

> -----Original Message-----
> From: Alexander Kozyrev <akozyrev at nvidia.com>
> Sent: Sunday, February 6, 2022 5:25 AM
> To: dev at dpdk.org
> Cc: Ori Kam <orika at nvidia.com>; NBU-Contact-Thomas Monjalon (EXTERNAL)
> <thomas at monjalon.net>; ivan.malov at oktetlabs.ru; andrew.rybchenko at oktetlabs.ru;
> ferruh.yigit at intel.com; mohammad.abdul.awal at intel.com; qi.z.zhang at intel.com;
> jerinj at marvell.com; ajit.khaparde at broadcom.com
> Subject: [PATCH v3 03/10] ethdev: bring in async queue-based flow rules operations
> 
> A new, faster, queue-based flow rules management mechanism is needed for
> applications offloading rules inside the datapath. This asynchronous
> and lockless mechanism frees the CPU for further packet processing and
> reduces the performance impact of the flow rules creation/destruction
> on the datapath. Note that queues are not thread-safe and the queue
> should be accessed from the same thread for all queue operations.
> It is the responsibility of the app to sync the queue functions in case
> of multi-threaded access to the same queue.
> 
> The rte_flow_q_flow_create() function enqueues a flow creation to the
> requested queue. It benefits from already configured resources and sets
> unique values on top of item and action templates. A flow rule is enqueued
> on the specified flow queue and offloaded asynchronously to the hardware.
> The function returns immediately to spare CPU for further packet
> processing. The application must invoke the rte_flow_q_pull() function
> to complete the flow rule operation offloading, to clear the queue, and to
> receive the operation status. The rte_flow_q_flow_destroy() function
> enqueues a flow destruction to the requested queue.
> 
> Signed-off-by: Alexander Kozyrev <akozyrev at nvidia.com>
> ---

Acked-by: Ori Kam <orika at nvidia.com>
Best,
Ori


More information about the dev mailing list