DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] net/netvsc: subchannel configuration failed due to unexpected NVS response
@ 2020-02-27 16:16 Min Tang
  2020-02-27 17:47 ` Stephen Hemminger
  2020-03-01 17:54 ` Stephen Hemminger
  0 siblings, 2 replies; 6+ messages in thread
From: Min Tang @ 2020-02-27 16:16 UTC (permalink / raw)
  To: dev, stephen

Hi Stephen:

I saw the following error messages when using DPDK 18.11.2 in Azure:

hn_nvs_execute(): unexpected NVS resp 0x6b, expect 0x85
hn_dev_configure(): subchannel configuration failed

It was not easy to reproduce it and it only occurred with multiple queues
enabled. In hn_nvs_execute it expects the response to match the request. In
the failed case, it was expecting NVS_TYPE_SUBCH_REQ (133 or 0x85) but
got NVS_TYPE_RNDIS(107 or 0x6b). Obviously somewhere the NVS_TYPE_RNDIS
message had been sent before the NVS_TYPE_SUBCH_REQ message was sent.  I
looked at the code and found that the NVS_TYPE_RNDIS message needs
completion response but it does not receive the response message anywhere.
The fix would be receiving and discarding the wrong response message(s).

I put the following patches and it has fixed the problem.

--- a/drivers/net/netvsc/hn_nvs.c 2020-02-27 11:08:29.755530969 -0500
+++ b/drivers/net/netvsc/hn_nvs.c 2020-02-27 11:07:21.567371798 -0500
@@ -92,7 +92,7 @@
  if (hdr->type != type) {
  PMD_DRV_LOG(ERR, "unexpected NVS resp %#x, expect %#x",
     hdr->type, type);
- goto retry;
+ return -EINVAL;
  }

  if (len < resplen) {

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

end of thread, other threads:[~2020-03-02 16:07 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-27 16:16 [dpdk-dev] net/netvsc: subchannel configuration failed due to unexpected NVS response Min Tang
2020-02-27 17:47 ` Stephen Hemminger
2020-02-27 18:24   ` Min Tang
2020-03-01 17:54 ` Stephen Hemminger
2020-03-02 15:40   ` Min Tang
2020-03-02 16:07     ` Stephen Hemminger

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