[dpdk-dev] [PATCH v3 1/2] ethdev: introduce transfer attribute to shared action conf

Ivan Malov Ivan.Malov at oktetlabs.ru
Tue Nov 3 15:10:23 CET 2020


Hi Ferruh,

On 02/11/2020 21:54, Ferruh Yigit wrote:
> On 11/2/2020 11:43 AM, Ivan Malov wrote:
>> In a flow rule, attribute "transfer" means operation level
>> at which both traffic is matched and actions are conducted.
>>
>> Add the very same attribute to shared action configuration.
>> If a driver needs to prepare HW resources in two different
>> ways, depending on the operation level, in order to set up
>> an action, then this new attribute will indicate the level.
>> Also, when handling a flow rule insertion, the driver will
>> be able to turn down a shared action if its level is unfit.
>>
>> Signed-off-by: Ivan Malov <ivan.malov at oktetlabs.ru>
>> Acked-by: Ori Kam <orika at nvidia.com>
>> ---
>>   lib/librte_ethdev/rte_flow.h | 8 ++++++++
>>   1 file changed, 8 insertions(+)
>>
>> diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
>> index a8eac4deb..8b970ba0b 100644
>> --- a/lib/librte_ethdev/rte_flow.h
>> +++ b/lib/librte_ethdev/rte_flow.h
>> @@ -3487,6 +3487,14 @@ struct rte_flow_shared_action_conf {
>>       /**< Action valid for rules applied to ingress traffic. */
>>       uint32_t egress:1;
>>       /**< Action valid for rules applied to egress traffic. */
>> +
>> +    /**
>> +     * When set to 1, indicates that the action is valid for
>> +     * transfer traffic; otherwise, for non-transfer traffic.
>> +     *
>> +     * See struct rte_flow_attr.
>> +     */
>> +    uint32_t transfer:1;
> 
> Is this require any documentation update?
> 
> Also cc'ed Andrey, as he is author of the shared action feature, @Andrey 
> can you please review this update?

Many-many thanks to you for reviewing the patch. And thanks for inviting 
@Andrey. I should've done that from the very beginning.

What's for documentation update, = I did take a look at 
"doc/guides/prog_guide/rte_flow.rst" after Ori had suggested to do so. 
As far as I can learn from the file, the convention is to describe the 
action structure itself, i.e. not any auxiliary structures.

For example, direct input to action SHARED is "struct 
rte_flow_shared_action". And it's already described by an empty table 
("table:: SHARED") in the doc file.

On the other hand, documentation of "struct rte_flow_shared_action_conf" 
belongs in a place where the API rte_flow_shared_action_create() is 
documented. This API is only mentioned by 
"doc/guides/prog_guide/rte_flow.rst", and it looks like it's not 
documented anywhere but in the header file itself 
("lib/librte_ethdev/rte_flow.h").

So, it looks like this particular patch does not need to provide an 
update to documentation other that the existing comment before the field 
in the structure.

-- 
Ivan M


More information about the dev mailing list