On 3/29/2023 2:58 AM, lihuisong (C) wrote:
> 
> 在 2023/3/11 3:36, Ferruh Yigit 写道:
>> On 3/10/2023 9:35 AM, Dongdong Liu wrote:
>>> From: Huisong Li <lihuis...@huawei.com>
>>>
>>> Currently, the setting of hash algorithm comes from the
>>> default configuration in driver and the rte_flow interface.
>>> The hash algorithm that is set to hardware in both ways is
>>> saved in hw->rss_info.conf.func.
>>>
>>> But the 'func' in struct rte_flow_action_rss is usually used
>>> in rte flow interface. And the ethdev ops interface may also
>>> set hash algorithm in the future. It is not appropriate and
>>> is a little messy for ethdev ops interface and driver default
>>> configuration to use struct rte_flow_action_rss. So we have
>>> to separate the RSS configuration from ethdev ops and rte
>>> flow interface to make codes more easier to maintain.
>>>
>> Agree that it is not ideal to have two different ways for same/similar
>> control path functionality in ethdev.
>>
>> +Ori to discuss if this is a common problem and can be resolved in
>> ethdev layer.
> This patchset is aimed to decouple the configuration API and the
> structure used by
> ethdev ops and rte flow API in driver. I think this can be ignored.
>>
>> I can see some of remaining patches are related to this ethdev / flow
>> API RSS separation. I will continue with this set, but I believe it is
>> better if this issue addressed in higher level.
> As far as I know, the priority of rte flow hash rule is higher than
> ethdev ops by default,
> and there are many other rules.
> But the implementation guide documentation about it is not clear.
> It may be better if we can clarify the documentation to guide driver
> coding.

I am not aware of any priority between flow API hash rule and ethdev
APIs, Ori & Andrew may comment better. And +1 to document this.


>>> This patch separates hash algorithm by following ways:
>>> 1) 'hash_algo' in struct hns3_rss_conf is used for ethdev ops
>>>     interface or default configuration in driver.
>>> 2) Add a 'rte_flow_hash_algo' field in struct hns3_rss_conf
>>>     to save algorithm from rte flow interface. The main reasons
>>>     are as follows:
>>>     Currently, only the last rule is used to restore the rte
>>>     flow rule. If 'func' in RSS action is 'DEFAULT', it means
>>>     that this rule doesn't modify algorithm and driver need to
>>>     save current algorithm for restoring algorithm during reset
>>>     phase.
>>>
>>> Fixes: c37ca66f2b27 ("net/hns3: support RSS")
>>> Cc: sta...@dpdk.org
>>>
>>> Signed-off-by: Huisong Li <lihuis...@huawei.com>
>>> Signed-off-by: Dongdong Liu <liudongdo...@huawei.com>
>> <...>
>>
>> .

Reply via email to