[dpdk-stable] [PATCH] net/i40e: fix no response from kernel PF

Beilei Xing beilei.xing at intel.com
Mon Jul 17 09:13:07 CEST 2017


If using old kernel driver and using kernel PF and DPDK VF mode,
VF fails to start due to incomplete command.
The root cause is that old kernel driver doesn't support vlan
stripping, when DPDK VF sends VIRTCHNL_OP_ENABLE_VLAN_STRIPPING
to kernel PF, PF won't response to VF.
This patch adds clearing command on VF side if PF won't response
to VF, avoids blocking the following commands.

Fixes: 5f0b95d59a98 ("net/i40e: support VLAN stripping for VF")
Cc: stable at dpdk.org

Signed-off-by: Beilei Xing <beilei.xing at intel.com>
---
 drivers/net/i40e/i40e_ethdev_vf.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index bab09f8..cdeb6ce 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -392,6 +392,11 @@ i40evf_execute_vf_cmd(struct rte_eth_dev *dev, struct vf_cmd_info *args)
 			rte_delay_ms(ASQ_DELAY_MS);
 			/* If don't read msg or read sys event, continue */
 		} while (i++ < MAX_TRY_TIMES);
+		/* If there's no response is received, clear command */
+		if (i >= MAX_TRY_TIMES) {
+			PMD_DRV_LOG(WARNING, "No response for %d", args->ops);
+			_clear_cmd(vf);
+		}
 		break;
 	}
 
-- 
2.5.5



More information about the stable mailing list