From nobody Sun Sep 7 23:51:54 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=none dis=none) header.from=yandex-team.ru ARC-Seal: i=1; a=rsa-sha256; t=1756741253; cv=none; d=zohomail.com; s=zohoarc; b=dPzv2TxU6sADNpzdJkB2myDO2GfyHP1U0D3g+0L4+b36a81ukELEi3bNp240L4qBg4ilMt0a9HWXUxhzNtE/rN/QAI+e6mB5GyxSJA/j8F/17rBpIZ7rXWXk4w0etR4P4U1Hpe4DzbwRQgrZpcpaYVPaZtnrlpb5EMi7D/2Jgak= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756741253; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Subject:Subject:To:To:Message-Id:Reply-To; bh=6BYR/le5/Q4L8ZTUWVXbKd4AUgZUTMSJkE3s9sm/6H8=; b=iFdMj8IitC4JViQa+pR7YC4MxGiKlHgpwB3FhMSi6vjIa+hWcgPw81dyqzUSL0dUdNSO6kjXmjsz1LNLcN5q5hThwOVucGTz4z0+3F/Qr0MfYFN0OcTh0K948Pt75IGFIfLU9uzBIY7HGBjJDfyYc4LEhb36wEkJzxCs+doxgWY= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756741253383607.60483834398; Mon, 1 Sep 2025 08:40:53 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id ACF374415D; Mon, 1 Sep 2025 11:40:51 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 63BE4441E0; Mon, 1 Sep 2025 11:40:05 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 659CC4414A; Mon, 1 Sep 2025 11:39:51 -0400 (EDT) Received: from forwardcorp1b.mail.yandex.net (forwardcorp1b.mail.yandex.net [178.154.239.136]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id AF8CE44143 for ; Mon, 1 Sep 2025 11:39:49 -0400 (EDT) Received: from mail-nwsmtp-smtp-corp-main-66.iva.yp-c.yandex.net (mail-nwsmtp-smtp-corp-main-66.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:999c:0:640:51a7:0]) by forwardcorp1b.mail.yandex.net (Yandex) with ESMTPS id B55DF8083F; Mon, 01 Sep 2025 18:39:47 +0300 (MSK) Received: from vsementsov-lin.. (unknown [2a02:6bf:8080:12c::1:9]) by mail-nwsmtp-smtp-corp-main-66.iva.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id kdgWbC3GqmI0-PJ5S8cGe; Mon, 01 Sep 2025 18:39:47 +0300 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_LOW,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex-team.ru; s=default; t=1756741187; bh=6BYR/le5/Q4L8ZTUWVXbKd4AUgZUTMSJkE3s9sm/6H8=; h=Message-ID:Date:Cc:Subject:To:From; b=iO4sFAPiikNddABjqtQIlFNtfvCCG7R6oFy466AXZiOEVzq/tjCar7XTf3QpPyEor AJBMH1wOBWtvapRb0iMnxGRnYhHkIkC8iAwtANBd8nCp5mjQcZZCz5Chv0Mde60kPZ DPgThSSo4UkMl5u1NqKsK14MuZ/wa7FzfgsmUgTA= Authentication-Results: mail-nwsmtp-smtp-corp-main-66.iva.yp-c.yandex.net; dkim=pass header.i=@yandex-team.ru From: Vladimir Sementsov-Ogievskiy To: jasowang@redhat.com Subject: [PATCH v3] qapi: net/tap: deprecate vhostforce option Date: Mon, 1 Sep 2025 18:39:43 +0300 Message-ID: <20250901153943.65235-1-vsementsov@yandex-team.ru> X-Mailer: git-send-email 2.48.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: J4ULIFBANVXWGX2OBC6IHCYSFHO224WC X-Message-ID-Hash: J4ULIFBANVXWGX2OBC6IHCYSFHO224WC X-MailFrom: vsementsov@yandex-team.ru X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: qemu-devel@nongnu.org, vsementsov@yandex-team.ru, armbru@redhat.com, eblake@redhat.com, devel@lists.libvirt.org X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @yandex-team.ru) X-ZM-MESSAGEID: 1756741257926124100 Content-Type: text/plain; charset="utf-8" This option doesn't make sense since long ago (10 years!) commit 1e7398a140f7a6 ("vhost: enable vhost without without MSI-X"). Prior 1e7398a140f7a6, to enable vhost for some specific kind of guests (that don't have MSI-X support), you should have set vhostforce=3Don (with vhost=3Don or unset). Since 1e7398a140f7a6, guest type doesn't matter, all guests are equal for vhost-enabling options logic. The current logic is: vhost=3Don / vhost=3Doff : vhostforce ignored, doesn't make sense vhost unset : vhostforce counts, enabling vhost Currently you may enable vhost several ways: - vhost=3Don - vhostforce=3Don - vhost=3Don + vhostforce=3Don - and even vhost=3Don + vhostforce=3Doff - they are all equal. Let's finally deprecate the extra option. Also, fix @vhostforce documentation. Signed-off-by: Vladimir Sementsov-Ogievskiy Reviewed-by: Markus Armbruster --- v3: - two spaces between sentences for vhostforce description - add r-b by Markus docs/about/deprecated.rst | 7 +++++++ qapi/net.json | 11 +++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/about/deprecated.rst b/docs/about/deprecated.rst index d50645a071..b17a5a41aa 100644 --- a/docs/about/deprecated.rst +++ b/docs/about/deprecated.rst @@ -516,6 +516,13 @@ Stream ``reconnect`` (since 9.2) The ``reconnect`` option only allows specifying second granularity timeout= s, which is not enough for all types of use cases, use ``reconnect-ms`` inste= ad. =20 +TAP ``vhostforce`` (since 10.2) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The ``vhostforce`` option is redundant with the ``vhost`` option. +If they conflict, ``vhost`` takes precedence. Just use ``vhost``. + + VFIO device options ''''''''''''''''''' =20 diff --git a/qapi/net.json b/qapi/net.json index 78bcc9871e..bab26e0c5d 100644 --- a/qapi/net.json +++ b/qapi/net.json @@ -346,13 +346,20 @@ # @vhostfds: file descriptors of multiple already opened vhost net # devices # -# @vhostforce: vhost on for non-MSIX virtio guests +# @vhostforce: enable vhost-net network accelerator. Ignored when +# @vhost is set. # # @queues: number of queues to be created for multiqueue capable tap # # @poll-us: maximum number of microseconds that could be spent on busy # polling for tap (since 2.7) # +# Features: +# +# @deprecated: Member @vhostforce is deprecated. The @vhostforce +# option is redundant with the @vhost option. If they conflict, +# @vhost takes precedence. Just use @vhost. +# # Since: 1.2 ## { 'struct': 'NetdevTapOptions', @@ -369,7 +376,7 @@ '*vhost': 'bool', '*vhostfd': 'str', '*vhostfds': 'str', - '*vhostforce': 'bool', + '*vhostforce': { 'type': 'bool', 'features': [ 'deprecated' ] }, '*queues': 'uint32', '*poll-us': 'uint32'} } =20 --=20 2.48.1