[dpdk-stable] patch 'net/i40e: enable loopback function for X722 MAC' has been queued to LTS release 16.11.9

Luca Boccassi bluca at debian.org
Mon Oct 29 13:53:22 CET 2018


Hi,

FYI, your patch has been queued to LTS release 16.11.9

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 10/31/18. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the patch applied
to the branch. If the code is different (ie: not only metadata diffs), due for example to
a change in context or macro names, please double check it.

Thanks.

Luca Boccassi

---
>From c4ba88a06b7cef17dc8db6705e423988080ff8ed Mon Sep 17 00:00:00 2001
From: Haiyue Wang <haiyue.wang at intel.com>
Date: Mon, 22 Oct 2018 15:47:41 +0800
Subject: [PATCH] net/i40e: enable loopback function for X722 MAC

[ upstream commit 2c6d4f0338efc2134efc55a574f73ac481b323b4 ]

In FVL, there was an issue and it didn't support the loopback function
before FW 5.0. For FPK (X722) it should work.

So it needs to distinguish between the devices by checking MAC type.

Fixes: 689bba33272d ("i40e: add VEB switching support")
Fixes: bce83974ba2c ("net/i40e: set Tx loopback from PF")

Signed-off-by: Haiyue Wang <haiyue.wang at intel.com>
Acked-by: Qi Zhang <qi.z.zhang at intel.com>
---
 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 f98be9429..52974a3a9 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -4593,7 +4593,7 @@ i40e_enable_pf_lb(struct i40e_pf *pf)
 	int ret;
 
 	/* Use the FW API if FW >= v5.0 */
-	if (hw->aq.fw_maj_ver < 5) {
+	if (hw->aq.fw_maj_ver < 5 && hw->mac.type != I40E_MAC_X722) {
 		PMD_INIT_LOG(ERR, "FW < v5.0, cannot enable loopback");
 		return;
 	}
@@ -4862,7 +4862,7 @@ i40e_vsi_setup(struct i40e_pf *pf,
 		ctxt.flags = I40E_AQ_VSI_TYPE_VF;
 
 		/* Use the VEB configuration if FW >= v5.0 */
-		if (hw->aq.fw_maj_ver >= 5) {
+		if (hw->aq.fw_maj_ver >= 5 || hw->mac.type == I40E_MAC_X722) {
 			/* Configure switch ID */
 			ctxt.info.valid_sections |=
 			rte_cpu_to_le_16(I40E_AQ_VSI_PROP_SWITCH_VALID);
-- 
2.19.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-10-29 12:48:14.722219560 +0000
+++ 0013-net-i40e-enable-loopback-function-for-X722-MAC.patch	2018-10-29 12:48:14.466417981 +0000
@@ -1,8 +1,10 @@
-From 2c6d4f0338efc2134efc55a574f73ac481b323b4 Mon Sep 17 00:00:00 2001
+From c4ba88a06b7cef17dc8db6705e423988080ff8ed Mon Sep 17 00:00:00 2001
 From: Haiyue Wang <haiyue.wang at intel.com>
 Date: Mon, 22 Oct 2018 15:47:41 +0800
 Subject: [PATCH] net/i40e: enable loopback function for X722 MAC
 
+[ upstream commit 2c6d4f0338efc2134efc55a574f73ac481b323b4 ]
+
 In FVL, there was an issue and it didn't support the loopback function
 before FW 5.0. For FPK (X722) it should work.
 
@@ -10,20 +12,18 @@
 
 Fixes: 689bba33272d ("i40e: add VEB switching support")
 Fixes: bce83974ba2c ("net/i40e: set Tx loopback from PF")
-Cc: stable at dpdk.org
 
 Signed-off-by: Haiyue Wang <haiyue.wang at intel.com>
 Acked-by: Qi Zhang <qi.z.zhang at intel.com>
 ---
- drivers/net/i40e/i40e_ethdev.c  | 4 ++--
- drivers/net/i40e/rte_pmd_i40e.c | 2 +-
- 2 files changed, 3 insertions(+), 3 deletions(-)
+ 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 48aca1aca..1c779068a 100644
+index f98be9429..52974a3a9 100644
 --- a/drivers/net/i40e/i40e_ethdev.c
 +++ b/drivers/net/i40e/i40e_ethdev.c
-@@ -5372,7 +5372,7 @@ i40e_enable_pf_lb(struct i40e_pf *pf)
+@@ -4593,7 +4593,7 @@ i40e_enable_pf_lb(struct i40e_pf *pf)
  	int ret;
  
  	/* Use the FW API if FW >= v5.0 */
@@ -32,7 +32,7 @@
  		PMD_INIT_LOG(ERR, "FW < v5.0, cannot enable loopback");
  		return;
  	}
-@@ -5643,7 +5643,7 @@ i40e_vsi_setup(struct i40e_pf *pf,
+@@ -4862,7 +4862,7 @@ i40e_vsi_setup(struct i40e_pf *pf,
  		ctxt.flags = I40E_AQ_VSI_TYPE_VF;
  
  		/* Use the VEB configuration if FW >= v5.0 */
@@ -41,19 +41,6 @@
  			/* Configure switch ID */
  			ctxt.info.valid_sections |=
  			rte_cpu_to_le_16(I40E_AQ_VSI_PROP_SWITCH_VALID);
-diff --git a/drivers/net/i40e/rte_pmd_i40e.c b/drivers/net/i40e/rte_pmd_i40e.c
-index bba62b1c5..7ce5d02fa 100644
---- a/drivers/net/i40e/rte_pmd_i40e.c
-+++ b/drivers/net/i40e/rte_pmd_i40e.c
-@@ -338,7 +338,7 @@ i40e_vsi_set_tx_loopback(struct i40e_vsi *vsi, uint8_t on)
- 	hw = I40E_VSI_TO_HW(vsi);
- 
- 	/* Use the FW API if FW >= v5.0 */
--	if (hw->aq.fw_maj_ver < 5) {
-+	if (hw->aq.fw_maj_ver < 5 && hw->mac.type != I40E_MAC_X722) {
- 		PMD_INIT_LOG(ERR, "FW < v5.0, cannot enable loopback");
- 		return -ENOTSUP;
- 	}
 -- 
 2.19.1
 


More information about the stable mailing list