patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH] net/i40e: fix no response from kernel PF
@ 2017-07-17  7:13 Beilei Xing
  2017-07-17  7:20 ` Wu, Jingjing
  0 siblings, 1 reply; 2+ messages in thread
From: Beilei Xing @ 2017-07-17  7:13 UTC (permalink / raw)
  To: jingjing.wu; +Cc: stable

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@dpdk.org

Signed-off-by: Beilei Xing <beilei.xing@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

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [dpdk-stable] [PATCH] net/i40e: fix no response from kernel PF
  2017-07-17  7:13 [dpdk-stable] [PATCH] net/i40e: fix no response from kernel PF Beilei Xing
@ 2017-07-17  7:20 ` Wu, Jingjing
  0 siblings, 0 replies; 2+ messages in thread
From: Wu, Jingjing @ 2017-07-17  7:20 UTC (permalink / raw)
  To: Xing, Beilei; +Cc: stable



> -----Original Message-----
> From: Xing, Beilei
> Sent: Monday, July 17, 2017 3:13 PM
> To: Wu, Jingjing <jingjing.wu@intel.com>
> Cc: stable@dpdk.org
> Subject: [PATCH] net/i40e: fix no response from kernel PF

net/i40e: fix virtchnl message response timeout

> 
> If using old kernel driver and using kernel PF and DPDK VF mode, VF fails to
> start due to incomplete command.

PF driver and VF driver communicated with each other by virtual channel
message. When VF sends to message to PF to enable some offload capability,
PF should response if it is successful or not.

VIRTCHNL_OP_ENABLE_VLAN_STRIPPING is a new added message and the old
PF driver doesn't support that. So no response is received by DPDK VF. Then
VF is blocked on this message and cannot roll back.

> 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.

This patch clears the pending command on VF side when the waiting duration
expires to avoid blocking following communication.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-07-17  7:20 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-17  7:13 [dpdk-stable] [PATCH] net/i40e: fix no response from kernel PF Beilei Xing
2017-07-17  7:20 ` Wu, Jingjing

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).