[PATCH v3 1/1] net/bonding: fix rss key configuration when the key length is 52
Min Hu (Connor)
humin29 at huawei.com
Wed Apr 13 11:01:35 CEST 2022
Acked-by: Min Hu (Connor) <humin29 at huawei.com>
在 2022/4/11 13:40, Ke Zhang 写道:
> when creating a bonding device, if the slave device's rss key length
> = standard_rss_key length + extended_hash_key length, then bonding
> device will be same as slave, in function bond_ethdev_configure(),
> the default_rss_key length is 40, it is not matched, so it should
> calculate a new key for bonding device if the default key could not
> be used.
>
> Signed-off-by: Ke Zhang <ke1x.zhang at intel.com>
> ---
> drivers/net/bonding/rte_eth_bond_pmd.c | 17 +++++++++++------
> 1 file changed, 11 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c b/drivers/net/bonding/rte_eth_bond_pmd.c
> index b305b6a35b..5cbe89031b 100644
> --- a/drivers/net/bonding/rte_eth_bond_pmd.c
> +++ b/drivers/net/bonding/rte_eth_bond_pmd.c
> @@ -3617,13 +3617,18 @@ bond_ethdev_configure(struct rte_eth_dev *dev)
> internals->rss_key_len);
> } else {
> if (internals->rss_key_len > sizeof(default_rss_key)) {
> - RTE_BOND_LOG(ERR,
> - "There is no suitable default hash key");
> - return -EINVAL;
> + /*
> + * If the rss_key includes standard_rss_key and
> + * extended_hash_key, the rss key length will be
> + * larger than default rss key length, so it should
> + * re-calculate the hash key.
> + */
> + for (i = 0; i < internals->rss_key_len; i++)
> + internals->rss_key[i] = (uint8_t)rte_rand();
> + } else {
> + memcpy(internals->rss_key, default_rss_key,
> + internals->rss_key_len);
> }
> -
> - memcpy(internals->rss_key, default_rss_key,
> - internals->rss_key_len);
> }
>
> for (i = 0; i < RTE_DIM(internals->reta_conf); i++) {
>
More information about the dev
mailing list