Send on behalf of Peng, Yuan <[email protected]>

tested-by: Peng, Yuan <[email protected]>

- Tested Branch: master
- Tested Commit: 3e42b6ce06a1901b1ab631df4484ec8f548091c6
- OS: 4.5.5-300.fc24.x86_64
- GCC: gcc (GCC) 5.3.1 20151207 (Red Hat 5.3.1-2)
- CPU: Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
- NIC: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection 
[8086:10fb] (rev 01)
     Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572] (rev 
01)
- Default x86_64-native-linuxapp-gcc configuration
- Prerequisites:
- Total 1 cases, 1 passed, 0 failed

- Case:
./usertools/dpdk-devbind.py -b igb_uio 05:00.0 05:00.1
./x86_64-native-linuxapp-gcc/app/testpmd -c 1ffff -n 4 - -i --nb-cores=8 
--rxq=4 --txq=4 --port-topology=chained
testpmd> flow create 0 ingress pattern end actions rss types ipv4-udp end key 
67108863 / end
Flow rule #0 created
testpmd> flow flush 0
testpmd> flow create 0 ingress pattern end actions rss types ipv4-udp end / end
Flow rule #0 created



> -----Original Message-----
> From: Zhao1, Wei
> Sent: Thursday, November 15, 2018 4:57 PM
> To: [email protected]
> Cc: Zhang, Qi Z <[email protected]>; Peng, Yuan <[email protected]>;
> Zhao1, Wei <[email protected]>
> Subject: [PATCH] net/i40e: fix RSS key pointer initialization error
> 
> The assignment should be done after initialization, or it will be zero.
> 
> Fixes: 264b23e3d2c1 ("net/i40e: add parameter check for RSS flow init")
> 
> Signed-off-by: Wei Zhao <[email protected]>
> ---
>  drivers/net/i40e/i40e_ethdev.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
> index 790ecc3..a96d407 100644
> --- a/drivers/net/i40e/i40e_ethdev.c
> +++ b/drivers/net/i40e/i40e_ethdev.c
> @@ -12554,8 +12554,6 @@ i40e_rss_conf_init(struct i40e_rte_flow_rss_conf
> *out,
>               return -EINVAL;
>       if (!in->key && in->key_len)
>               return -EINVAL;
> -     if (in->key)
> -             out->conf.key = memcpy(out->key, in->key, in->key_len);
>       out->conf = (struct rte_flow_action_rss){
>               .func = in->func,
>               .level = in->level,
> @@ -12565,6 +12563,8 @@ i40e_rss_conf_init(struct i40e_rte_flow_rss_conf
> *out,
>               .queue = memcpy(out->queue, in->queue,
>                               sizeof(*in->queue) * in->queue_num),
>       };
> +     if (in->key)
> +             out->conf.key = memcpy(out->key, in->key, in->key_len);
>       return 0;
>  }
> 
> --
> 2.7.5

Reply via email to