From patchwork Wed Jun 7 22:46:28 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Aaron Conole X-Patchwork-Id: 772720 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3wjkF64sFzz9s7m for ; Thu, 8 Jun 2017 08:46:34 +1000 (AEST) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 91798C05; Wed, 7 Jun 2017 22:46:32 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 3C8E8B8C for ; Wed, 7 Jun 2017 22:46:31 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 81BEEAB for ; Wed, 7 Jun 2017 22:46:30 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id D5635811AC; Wed, 7 Jun 2017 22:46:29 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com D5635811AC Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx03.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=aconole@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com D5635811AC Received: from dhcp-25-97.bos.redhat.com (unknown [10.18.25.172]) by smtp.corp.redhat.com (Postfix) with ESMTP id 43A5D808CA; Wed, 7 Jun 2017 22:46:29 +0000 (UTC) From: Aaron Conole To: dev@openvswitch.org Date: Wed, 7 Jun 2017 18:46:28 -0400 Message-Id: <20170607224628.22602-1-aconole@redhat.com> X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Wed, 07 Jun 2017 22:46:30 +0000 (UTC) X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, T_RP_MATCHES_RCVD autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: [ovs-dev] [PATCH] dpdk: announce deprecation of vhost-user server ports X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org Since vhost-user server mode ports are the preferred mechanism for interconnecting Open vSwitch with VMs when using DPDK, and since there are currently no known use cases for vhost-user server mode ports apart from version incompatibilities with QEMU, announce that server mode ports are considered deprecated and will be removed in a future release. Cc: Ciara Loftus Cc: Kevin Traynor Suggested-by: Darrell Ball Signed-off-by: Aaron Conole --- Documentation/topics/dpdk/vhost-user.rst | 24 ++++++++++++++++-------- NEWS | 2 ++ lib/netdev-dpdk.c | 2 ++ 3 files changed, 20 insertions(+), 8 deletions(-) diff --git a/Documentation/topics/dpdk/vhost-user.rst b/Documentation/topics/dpdk/vhost-user.rst index a1c19fd..9d36cf2 100644 --- a/Documentation/topics/dpdk/vhost-user.rst +++ b/Documentation/topics/dpdk/vhost-user.rst @@ -32,13 +32,19 @@ documentation`_ on same. Quick Example ------------- -This example demonstrates how to add two ``dpdkvhostuser`` ports to an existing -bridge called ``br0``:: +This example demonstrates how to add two ``dpdkvhostuserclient`` ports to an +existing bridge called ``br0``:: - $ ovs-vsctl add-port br0 dpdkvhostuser0 \ - -- set Interface dpdkvhostuser0 type=dpdkvhostuser - $ ovs-vsctl add-port br0 dpdkvhostuser1 \ - -- set Interface dpdkvhostuser1 type=dpdkvhostuser + $ ovs-vsctl add-port br0 dpdkvhostclient0 \ + -- set Interface dpdkvhostclient0 type=dpdkvhostuserclient \ + options:vhost-server-path=/tmp/dpdkvhostclient0 + $ ovs-vsctl add-port br0 dpdkvhostclient1 \ + -- set Interface dpdkvhostclient1 type=dpdkvhostuserclient \ + options:vhost-server-path=/tmp/dpdkvhostclient1 + +For the above examples to work, an appropriate server socket must be created +at the paths specified (``/tmp/dpdkvhostclient0`` and +``/tmp/dpdkvhostclient0``). vhost-user vs. vhost-user-client -------------------------------- @@ -59,7 +65,8 @@ means if OVS dies, all VMs **must** be restarted. On the other hand, for vhost-user-client ports, OVS acts as the client and QEMU the server. This means OVS can die and be restarted without issue, and it is also possible to restart an instance itself. For this reason, vhost-user-client ports are the preferred -type for most use cases. +type for most use cases. Ports of type vhost-user are currently deprecated and +will be removed in a future release. .. _dpdk-vhost-user: @@ -68,7 +75,8 @@ vhost-user .. important:: - Use of vhost-user ports requires QEMU >= 2.2 + Use of vhost-user ports requires QEMU >= 2.2; vhost-user ports are + *deprecated*. To use vhost-user ports, you must first add said ports to the switch. DPDK vhost-user ports can have arbitrary names with the exception of forward and diff --git a/NEWS b/NEWS index 82004c8..b81d033 100644 --- a/NEWS +++ b/NEWS @@ -16,6 +16,8 @@ Post-v2.7.0 Log level can be changed in a usual OVS way using 'ovs-appctl vlog' commands for 'dpdk' module. Lower bound still can be configured via extra arguments for DPDK EAL. + * dpdkvhostuser ports are marked as deprecated. They will be removed + in an upcoming release. - IPFIX now provides additional counters: * Total counters since metering process startup. * Per-flow TCP flag counters. diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c index b770b70..9ab4aeb 100644 --- a/lib/netdev-dpdk.c +++ b/lib/netdev-dpdk.c @@ -966,6 +966,8 @@ netdev_dpdk_vhost_construct(struct netdev *netdev) err = vhost_common_construct(netdev); ovs_mutex_unlock(&dpdk_mutex); + VLOG_WARN_ONCE("dpdkvhostuser ports are considered deprecated; " + "please migrate to dpdkvhostuserclient ports."); return err; }