[PATCH 2/6] net/hns3: fix inconsistent enabled RSS behavior

lihuisong (C) lihuisong at huawei.com
Thu Mar 3 03:47:29 CET 2022


Hi, Ori,

在 2022/3/2 22:07, Ori Kam 写道:
> Hi Lihuisong,
>
>> -----Original Message-----
>> From: lihuisong (C) <lihuisong at huawei.com>
>> Sent: Wednesday, March 2, 2022 4:10 AM
>> Subject: Re: [PATCH 2/6] net/hns3: fix inconsistent enabled RSS behavior
>>
>>
>> 在 2022/3/1 0:42, Ferruh Yigit 写道:
>>> On 2/28/2022 3:21 AM, Min Hu (Connor) wrote:
>>>> From: Huisong Li <lihuisong at huawei.com>
>>>>
>>>> RSS will not be enabled if the RTE_ETH_MQ_RX_RSS_FLAG isn't be set in
>>>> dev_configure phase. However, if this flag isn't set, RSS can be enabled
>>>> through the ethdev ops and rte_flow API. This behavior is contrary to
>>>> each
>>>> other.
>>>>
>>>> Fixes: c37ca66f2b27 ("net/hns3: support RSS")
>>>> Cc: stable at dpdk.org
>>>>
>>>> Signed-off-by: Huisong Li <lihuisong at huawei.com>
>>>
>>> Hi Huisong, Connor,
>>>
>>> Let's get a little more feedback for this patch, cc'ed more people.
>>>
>>>
>>> To enable RSS, multi queue mode should be set to
>>> 'RTE_ETH_MQ_RX_RSS_FLAG'.
>>>
>>> But I wonder if it is required to configure RSS via flow API,
>> I do not know the original purpose of adding the RSS configuration in
>> flow API.
>>
> The purpose is simple, this allow to create RSS per rule and not a global one.
> For example create RSS that sends TCP to some queues while othe RSS will send
> UDP traffic to different queues.
I'm a little confused now. The "per rule" also seems to be a global 
configuration.
Example:
  - start PMD with 0,1,2,3
  - create TCP packets to 2,3 queues. At this moment, only 2,3 queues 
can be received for other types of packets.
Because this rule is implemented by modifying the entry of the 
redirection table which is global for this device.
>
>> However, as far as I know, the hash algorithm can be configured via this
>> API,
>>
>> but not via ethdev ops API.
>>
>>> and if other PMDs check this configuration for flow API?
>> Some PMDs already have similar check in RSS releated ops or rte_flow API.
>>
>> For example, hinic, axbge, bnxt, cnxk, otx2, and ena.
>>
>>> .
>  From my view point those are two different settings.
> The RTE_ETH_MQ_RX_RSS_FLAG is global per port while
> rte_flow is per rule.
>
> I think, that if a PMD needs this flag, in order to enable it also for rte_flow then
> it should be documented in the release note of the PMD.
> It is a valid use case that the default traffic will not have RSS and only rules created by
> rte_flow will have the RSS, for matching traffc.
>
> Best,
> Ori


More information about the dev mailing list