> -----Original Message----- > From: Ferruh Yigit <ferruh.yi...@intel.com> > Sent: Thursday, February 24, 2022 3:13 PM > To: Alexander Kozyrev <akozy...@nvidia.com>; dev@dpdk.org; Raslan > Darawsheh <rasl...@nvidia.com> > Cc: Ori Kam <or...@nvidia.com>; NBU-Contact-Thomas Monjalon > (EXTERNAL) <tho...@monjalon.net>; ivan.ma...@oktetlabs.ru; > andrew.rybche...@oktetlabs.ru; mohammad.abdul.a...@intel.com; > qi.z.zh...@intel.com; jer...@marvell.com; ajit.khapa...@broadcom.com; > bruce.richard...@intel.com > Subject: Re: [PATCH v10 00/11] ethdev: datapath-focused flow rules > management > > On 2/24/2022 1:07 PM, Ferruh Yigit wrote: > > On 2/23/2022 3:02 AM, Alexander Kozyrev wrote: > >> Three major changes to a generic RTE Flow API were implemented in > >> order to speed up flow rule insertion/destruction and adapt the API > >> to the needs of a datapath-focused flow rules management applications: > >> > >> 1. Pre-configuration hints. > >> Application may give us some hints on what type of resources are > needed. > >> Introduce the configuration routine to prepare all the needed > >> resources inside a PMD/HW before any flow rules are created at the init > stage. > >> > >> 2. Flow grouping using templates. > >> Use the knowledge about which flow rules are to be used in an > >> application and prepare item and action templates for them in > >> advance. Group flow rules with common patterns and actions together > for better resource management. > >> > >> 3. Queue-based flow management. > >> Perform flow rule insertion/destruction asynchronously to spare the > >> datapath from blocking on RTE Flow API and allow it to continue with > packet processing. > >> Enqueue flow rules operations and poll for the results later. > >> > >> testpmd examples are part of the patch series. PMD changes will follow. > >> > >> > RFC:https://patchwork.dpdk.org/project/dpdk/cover/20211006044835.3936 > >> 226-1-akozy...@nvidia.com/ > >> > >> Signed-off-by: Alexander Kozyrev<akozy...@nvidia.com> > >> Acked-by: Ori Kam<or...@nvidia.com> > >> Acked-by: Ajit Khaparde<ajit.khapa...@broadcom.com> > >> > >> --- > >> v10: removed missed check in async API > >> > >> v9: > >> - changed sanity checks order > >> - added reconfiguration explanation > >> - added remarks on mandatory direction > >> - renamed operation attributes > >> - removed all checks in async API > >> - removed all errno descriptions > >> > >> v8: fixed documentation indentation > >> > >> v7: > >> - added sanity checks and device state validation > >> - added flow engine state validation > >> - added ingress/egress/transfer attibutes to templates > >> - moved user_data to a parameter list > >> - renamed asynchronous functions from "_q_" to"_async_" > >> - created a separate commit for indirect actions > >> > >> v6: addressed more review comments > >> - fixed typos > >> - rewrote code snippets > >> - add a way to get queue size > >> - renamed port/queue attibutes parameters > >> > >> v5: changed titles for testpmd commits > >> > >> v4: > >> - removed structures versioning > >> - introduced new rte_flow_port_info structure for rte_flow_info_get > >> API > >> - renamed rte_flow_table_create to rte_flow_template_table_create > >> > >> v3: addressed review comments and updated documentation > >> - added API to get info about pre-configurable resources > >> - renamed rte_flow_item_template to rte_flow_pattern_template > >> - renamed drain operation attribute to postpone > >> - renamed rte_flow_q_drain to rte_flow_q_push > >> - renamed rte_flow_q_dequeue to rte_flow_q_pull > >> > >> v2: fixed patch series thread > >> > >> Alexander Kozyrev (11): > >> ethdev: introduce flow engine configuration > >> ethdev: add flow item/action templates > >> ethdev: bring in async queue-based flow rules operations > >> ethdev: bring in async indirect actions operations > >> app/testpmd: add flow engine configuration > >> app/testpmd: add flow template management > >> app/testpmd: add flow table management > >> app/testpmd: add async flow create/destroy operations > >> app/testpmd: add flow queue push operation > >> app/testpmd: add flow queue pull operation > >> app/testpmd: add async indirect actions operations > > > > Series applied to dpdk-next-net/main, thanks. > > +Raslan, > > As ethdev patches merged, can proceed with driver ones.
Thanks for the update, I'll move forward with merging the driver patches once testing for them is complete. Kindest regards, Raslan Darawsheh