[dpdk-dev,v2] i40e: bug fix of querying reta

Message ID 1418181016-6973-1-git-send-email-helin.zhang@intel.com (mailing list archive)
State Accepted, archived
Headers

Commit Message

Zhang, Helin Dec. 10, 2014, 3:10 a.m. UTC
  There is a bug in querying reta, of storing the data to the correct entry.
Code changes is straightforward for this bug.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
---
 lib/librte_pmd_i40e/i40e_ethdev.c    | 2 +-
 lib/librte_pmd_i40e/i40e_ethdev_vf.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

v2 changes:
* Added the fix for the same issue in i40e VF driver.
  

Comments

Thomas Monjalon Dec. 11, 2014, 1:05 a.m. UTC | #1
> There is a bug in querying reta, of storing the data to the correct entry.
> Code changes is straightforward for this bug.
> 
> Signed-off-by: Helin Zhang <helin.zhang@intel.com>
> ---
>  lib/librte_pmd_i40e/i40e_ethdev.c    | 2 +-
>  lib/librte_pmd_i40e/i40e_ethdev_vf.c | 2 +-
>  2 files changed, 2 insertions(+), 2 deletions(-)
> 
> v2 changes:
> * Added the fix for the same issue in i40e VF driver.

Applied

Thanks
  

Patch

diff --git a/lib/librte_pmd_i40e/i40e_ethdev.c b/lib/librte_pmd_i40e/i40e_ethdev.c
index 899cb42..008d62c 100644
--- a/lib/librte_pmd_i40e/i40e_ethdev.c
+++ b/lib/librte_pmd_i40e/i40e_ethdev.c
@@ -1924,7 +1924,7 @@  i40e_dev_rss_reta_query(struct rte_eth_dev *dev,
 		lut = I40E_READ_REG(hw, I40E_PFQF_HLUT(i >> 2));
 		for (j = 0; j < I40E_4_BIT_WIDTH; j++) {
 			if (mask & (0x1 << j))
-				reta_conf[idx].reta[shift] = ((lut >>
+				reta_conf[idx].reta[shift + j] = ((lut >>
 					(CHAR_BIT * j)) & I40E_8_BIT_MASK);
 		}
 	}
diff --git a/lib/librte_pmd_i40e/i40e_ethdev_vf.c b/lib/librte_pmd_i40e/i40e_ethdev_vf.c
index 7ef7d58..fe46cf1 100644
--- a/lib/librte_pmd_i40e/i40e_ethdev_vf.c
+++ b/lib/librte_pmd_i40e/i40e_ethdev_vf.c
@@ -1760,7 +1760,7 @@  i40evf_dev_rss_reta_query(struct rte_eth_dev *dev,
 		lut = I40E_READ_REG(hw, I40E_VFQF_HLUT(i >> 2));
 		for (j = 0; j < I40E_4_BIT_WIDTH; j++) {
 			if (mask & (0x1 << j))
-				reta_conf[idx].reta[shift] =
+				reta_conf[idx].reta[shift + j] =
 					((lut >> (CHAR_BIT * j)) &
 						I40E_8_BIT_MASK);
 		}