[PATCH v4 00/10] ethdev: datapath-focused flow rules management
Ivan Malov
ivan.malov at oktetlabs.ru
Fri Feb 11 11:22:08 CET 2022
Hi Ferruh,
On Thu, 10 Feb 2022, Ferruh Yigit wrote:
> On 2/9/2022 9:37 PM, 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.3936226-1-akozyrev@nvidia.com/
>>
>> Signed-off-by: Alexander Kozyrev <akozyrev at nvidia.com>
>> Acked-by: Ori Kam <orika at nvidia.com>
>>
>> ---
>> 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 (10):
>> ethdev: introduce flow pre-configuration hints
>> ethdev: add flow item/action templates
>> ethdev: bring in async queue-based flow rules operations
>> app/testpmd: implement rte flow configuration
>> app/testpmd: implement rte flow template management
>> app/testpmd: implement rte flow table management
>> app/testpmd: implement rte flow queue flow operations
>> app/testpmd: implement rte flow push operations
>> app/testpmd: implement rte flow pull operations
>> app/testpmd: implement rte flow queue indirect actions
>>
>
> Hi Jerin, Ajit, Ivan,
>
> As far as I can see you did some reviews in the previous versions,
> but not ack the patch.
Thanks for sending the reminder. Yes, I did review the series.
During the review, we did not find a common ground with regard
to possibly having a universal "task enqueue" method. However,
I was assured that such design would affect performance.
> Is there any objection to last version of the patch, if not I will
> proceed with it.
Personally, I have no strong objections. The v5 series seems a lot
clearer in a number of ways, yet, it is going to be experimental,
so I believe that if we run into some issues with this deisgn,
we will still have a chance to improve it to some extent.
In general, the author did a very good job applying that
many review notes. Thanks to Alexander for perseverance.
Please feel free to proceed with the series as you see fit.
>
>
> Hi Alex,
>
> As process we require at least one PMD implementation (it can be draft)
> to justify the API design.
>
> If there is no objection from above reviewers and PMD implementation
> exists before end of the week, I think we can get the set for -rc1.
>
> Thanks,
> ferruh
>
--
Ivan M
More information about the dev
mailing list