Dequeue zero-copy is no longer supported for vhost-user client mode
in DPDK due to commit [1].

In addition to this, zero-copy mode has been proposed to be marked
deprecated in [2] with removal in the next DPDK LTS release.

This commit deprecates support for vhost-user dequeue zero-copy in OVS
with its removal expected in the next OVS release.

[1] 715070ea10e6 ("vhost: prevent zero-copy with incompatible client
    mode")
[2] http://mails.dpdk.org/archives/dev/2020-August/177236.html

Signed-off-by: Ian Stokes <[email protected]>
---
 Documentation/topics/dpdk/vhost-user.rst | 5 +++++
 NEWS                                     | 2 ++
 lib/netdev-dpdk.c                        | 2 ++
 3 files changed, 9 insertions(+)

diff --git a/Documentation/topics/dpdk/vhost-user.rst 
b/Documentation/topics/dpdk/vhost-user.rst
index b1eb5d9da..4af738d11 100644
--- a/Documentation/topics/dpdk/vhost-user.rst
+++ b/Documentation/topics/dpdk/vhost-user.rst
@@ -556,6 +556,11 @@ shown with::
 vhost-user Dequeue Zero Copy (experimental)
 -------------------------------------------
 
+.. warning::
+
+   vhost-user Dequeue Zero Copy is deprecated in OVS and will be removed in
+   the next release.
+
 Normally when dequeuing a packet from a vHost User device, a memcpy operation
 must be used to copy that packet from guest address space to host address
 space. This memcpy can be removed by enabling dequeue zero-copy like so::
diff --git a/NEWS b/NEWS
index dceda95a3..5d6489f26 100644
--- a/NEWS
+++ b/NEWS
@@ -22,6 +22,8 @@ v2.14.0 - xx xxx xxxx
        CVE-2020-10726, this DPDK version is strongly recommended to be used.
      * New 'ovs-appctl dpdk/log-list' and 'ovs-appctl dpdk/log-set' commands
        to list and change log levels in DPDK components.
+     * Vhost-user Dequeue zero-copy support is deprecated and will be removed
+       in the next release.
    - Linux datapath:
      * Support for kernel versions up to 5.5.x.
    - AF_XDP:
diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
index 44ebf96da..27bf3b6ed 100644
--- a/lib/netdev-dpdk.c
+++ b/lib/netdev-dpdk.c
@@ -5079,6 +5079,8 @@ netdev_dpdk_vhost_client_reconfigure(struct netdev 
*netdev)
                       dev->up.name, dev->vhost_id);
             if (zc_enabled) {
                 VLOG_INFO("Zero copy enabled for vHost port %s", dev->up.name);
+                VLOG_WARN("Zero copy support is deprecated and will be "
+                          "removed in the next OVS release.");
             }
         }
 
-- 
2.13.6

_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev

Reply via email to