[dpdk-stable] patch 'net/virtio: fix guest announce support' has been queued to stable release 18.08.1

Kevin Traynor ktraynor at redhat.com
Fri Nov 23 11:26:39 CET 2018


Hi,

FYI, your patch has been queued to stable release 18.08.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 11/29/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.

Kevin Traynor

---
>From 5571a20d74f1c604838aac76cd862bd1af04a090 Mon Sep 17 00:00:00 2001
From: Tiwei Bie <tiwei.bie at intel.com>
Date: Mon, 29 Oct 2018 13:28:08 +0800
Subject: [PATCH] net/virtio: fix guest announce support

[ upstream commit 5db1684e7593c6fc8769b19765c8c6b9d4697f45 ]

We need to check the status field in virtio net config structure
instead of the bits read from ISR register to know whether we need
to do guest announce.

Fixes: 7365504f77e3 ("net/virtio: support guest announce")

Signed-off-by: Tiwei Bie <tiwei.bie at intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>
---
 drivers/net/virtio/virtio_ethdev.c | 16 +++++++++++-----
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
index 3195443a1..4745899c6 100644
--- a/drivers/net/virtio/virtio_ethdev.c
+++ b/drivers/net/virtio/virtio_ethdev.c
@@ -1289,4 +1289,5 @@ virtio_interrupt_handler(void *param)
 	struct virtio_hw *hw = dev->data->dev_private;
 	uint8_t isr;
+	uint16_t status;
 
 	/* Read interrupt status which clears interrupt */
@@ -1302,10 +1303,15 @@ virtio_interrupt_handler(void *param)
 						      RTE_ETH_EVENT_INTR_LSC,
 						      NULL);
-	}
 
-	if (isr & VIRTIO_NET_S_ANNOUNCE) {
-		virtio_notify_peers(dev);
-		if (hw->cvq)
-			virtio_ack_link_announce(dev);
+		if (vtpci_with_feature(hw, VIRTIO_NET_F_STATUS)) {
+			vtpci_read_dev_config(hw,
+				offsetof(struct virtio_net_config, status),
+				&status, sizeof(status));
+			if (status & VIRTIO_NET_S_ANNOUNCE) {
+				virtio_notify_peers(dev);
+				if (hw->cvq)
+					virtio_ack_link_announce(dev);
+			}
+		}
 	}
 }
-- 
2.19.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2018-11-23 10:22:55.168158428 +0000
+++ 0035-net-virtio-fix-guest-announce-support.patch	2018-11-23 10:22:54.000000000 +0000
@@ -1,14 +1,15 @@
-From 5db1684e7593c6fc8769b19765c8c6b9d4697f45 Mon Sep 17 00:00:00 2001
+From 5571a20d74f1c604838aac76cd862bd1af04a090 Mon Sep 17 00:00:00 2001
 From: Tiwei Bie <tiwei.bie at intel.com>
 Date: Mon, 29 Oct 2018 13:28:08 +0800
 Subject: [PATCH] net/virtio: fix guest announce support
 
+[ upstream commit 5db1684e7593c6fc8769b19765c8c6b9d4697f45 ]
+
 We need to check the status field in virtio net config structure
 instead of the bits read from ISR register to know whether we need
 to do guest announce.
 
 Fixes: 7365504f77e3 ("net/virtio: support guest announce")
-Cc: stable at dpdk.org
 
 Signed-off-by: Tiwei Bie <tiwei.bie at intel.com>
 Reviewed-by: Maxime Coquelin <maxime.coquelin at redhat.com>
@@ -17,7 +18,7 @@
  1 file changed, 11 insertions(+), 5 deletions(-)
 
 diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c
-index da8717726..cb6248eb6 100644
+index 3195443a1..4745899c6 100644
 --- a/drivers/net/virtio/virtio_ethdev.c
 +++ b/drivers/net/virtio/virtio_ethdev.c
 @@ -1289,4 +1289,5 @@ virtio_interrupt_handler(void *param)


More information about the stable mailing list