From nobody Sun Sep 7 23:51:52 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=1756736345; cv=none; d=zohomail.com; s=zohoarc; b=dkRCVHRZCAfx0OlUuQ+iBC77T6atvtv5WilgsZqRZT6F136RNl+uJvJKECL7vT2vOYStN4wZpv4m7AsPCZHxc3bT9hBojJAec5Pd2wttJ4fULYbP8oR1F9If9zSdHcSN50jU+/y0k/t35CDb7D71RpzVn/t1XSoHy+d4LAqXG3k= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756736345; 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=Ow82EWlVYgwdIHF1kxgvdD9Wsxb67PKuMf+TI/P+Gso=; b=accM1Km4X0SzmGIPptLm/l+7QjEdYJzze7bd8lBO4mvLqKROBieEu57ddWTacScp13qPzF9e2PqQwruNmcRBFrViKxRUFEDGsGetAOGuAZpy0CXPPF5qkMq9fJBb8cCh51AA/9+tPJ0XXLk52q6oSGflT9IGyhlDkexxMRT3NI0= 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 1756736345653126.95694471290449; Mon, 1 Sep 2025 07:19:05 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id F0888440DB; Mon, 1 Sep 2025 10:19:04 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 106D04427A; Mon, 1 Sep 2025 10:18:20 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 2DE194408B; Mon, 1 Sep 2025 10:18:09 -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 B381844076 for ; Mon, 1 Sep 2025 10:18:07 -0400 (EDT) Received: from mail-nwsmtp-smtp-corp-canary-81.sas.yp-c.yandex.net (mail-nwsmtp-smtp-corp-canary-81.sas.yp-c.yandex.net [IPv6:2a02:6b8:c23:36c1:0:640:5f85:0]) by forwardcorp1b.mail.yandex.net (Yandex) with ESMTPS id 901A4804C5; Mon, 01 Sep 2025 17:18:02 +0300 (MSK) Received: from vsementsov-lin.. (unknown [2a02:6bf:8080:12c::1:9]) by mail-nwsmtp-smtp-corp-canary-81.sas.yp-c.yandex.net (smtpcorp/Yandex) with ESMTPSA id 1Ifwtq2GlKo0-LgxGJxPS; Mon, 01 Sep 2025 17:18:02 +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=1756736282; bh=Ow82EWlVYgwdIHF1kxgvdD9Wsxb67PKuMf+TI/P+Gso=; h=Message-ID:Date:Cc:Subject:To:From; b=YhlNjSS2ldGgh/Ubv+HoFxFyE4gFvHi2zQ0M8z7pnXc1rGH5C92aFRABArILz5MDg rVzMAUYBsLeH8feBp1tvrC7MGA7E8unVtjzCT8g08XEjUY56VFHqBP1AcVvEReala1 tT0zG++9H4aBonYhyIq/YURRoDPvwNUpCdotvQJE= Authentication-Results: mail-nwsmtp-smtp-corp-canary-81.sas.yp-c.yandex.net; dkim=pass header.i=@yandex-team.ru From: Vladimir Sementsov-Ogievskiy To: jasowang@redhat.com Subject: [PATCH v2] qapi: net/tap: deprecate vhostforce option Date: Mon, 1 Sep 2025 17:17:58 +0300 Message-ID: <20250901141758.55605-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: DQ56PFIMDDWSW2ZELSGFPGBZPLTYQIKI X-Message-ID-Hash: DQ56PFIMDDWSW2ZELSGFPGBZPLTYQIKI 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: 1756736350386124100 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 --- v2: - improve wording - add documentation fix 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..e89c7aff5f 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