[PATCH 06/16] net/hns3: separate the setting of hash algorithm
Ferruh Yigit
ferruh.yigit at amd.com
Fri Mar 10 20:36:47 CET 2023
On 3/10/2023 9:35 AM, Dongdong Liu wrote:
> From: Huisong Li <lihuisong at 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.
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.
> 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: stable at dpdk.org
>
> Signed-off-by: Huisong Li <lihuisong at huawei.com>
> Signed-off-by: Dongdong Liu <liudongdong3 at huawei.com>
<...>
More information about the stable
mailing list