[dpdk-dev] [PATCH v3] doc: update RSS action with best effort

Andrew Rybchenko arybchenko at solarflare.com
Mon Aug 10 11:53:38 CEST 2020


On 8/10/20 10:40 AM, Ori Kam wrote:
> Hi Andrew,
>
>
>> -----Original Message-----
>> From: Andrew Rybchenko <arybchenko at solarflare.com>
>>
>> On 8/7/20 8:02 AM, Ori Kam wrote:
>>> Using the rte_flow action RSS types field,
>>> may result in undefined outcome.
>>>
>>> For example selecting both UDP and TCP,
>>> selecting TCP RSS type but the pattern is targeting UDP traffic.
>>> another option is that the PMD doesn't support all requested types.
>>>
>>> Until now, it wasn't clear what will happen in such cases.
>>> This commit clarify this issue by stating that the PMD
>>> will work in the best-effort mode, and will fail
>>> in case the requested type is not supported.
>>>
>>> Signed-off-by: Ori Kam <orika at mellanox.com>
>>> ---
>>> v3:
>>>  * Address ML comments.
>>>
>>> v2:
>>>  * Address ML comments.
>>> ---
>>>  doc/guides/prog_guide/rte_flow.rst | 12 ++++++++++++
>>>  1 file changed, 12 insertions(+)
>>>
>>> diff --git a/doc/guides/prog_guide/rte_flow.rst
>> b/doc/guides/prog_guide/rte_flow.rst
>>> index 3e5cd1e..eada283 100644
>>> --- a/doc/guides/prog_guide/rte_flow.rst
>>> +++ b/doc/guides/prog_guide/rte_flow.rst
>>> @@ -1735,6 +1735,18 @@ unspecified "best-effort" settings from the
>> underlying PMD, which depending
>>>  on the flow rule, may result in anything ranging from empty (single queue)
>>>  to all-inclusive RSS.
>>>
>>> +In case there are Non-applicable RSS types in the rule,
>>> +Best effort will be used.
>>> +This may be the result of:
>>> +
>>> +- Setting both UDP and TCP on the same rule.
>>> +
>>> +- Setting RSS types that don't match the requested pattern,
>>> +  for example, matching on UDP and hashing RSS on TCP.
>>> +
>>> +If requested RSS hash type is not supported in ``dev_info``.
>>> +The flow creation will fail.
>>> +
>> Consider:
>> If non-applicable for matching packets RSS types are requested,
>> these RSS types are simply ignored. For example, it happens if:
>>
>>   - Hashing of both TCP and UDP ports is requested
>>     (only one can present in a packet).
>>
>>   - Requested RSS types contradict to flow rule pattern
>>     (e.g. pattern has UDP item, but RSS types contain TCP).
>>
>> If requested RSS types are not supported by the Ethernet device
>> at all (not reported in ``dev_info.flow_type_rss_offloads``),
>> the flow creation will fail.
>>
> Sure sounds good, but since this is just copying your words, 
> I will add your Signed-off-by to this patch, is that O.K?

OK

>>>  Note: RSS hash result is stored in the ``hash.rss`` mbuf field which
>>>  overlaps ``hash.fdir.lo``. Since `Action: MARK`_ sets the ``hash.fdir.hi``
>>>  field only, both can be requested simultaneously.
>>>



More information about the dev mailing list