From nobody Fri Nov 21 10:01:19 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1763575133; cv=none; d=zohomail.com; s=zohoarc; b=eIOWhPPihS8bqf85gbLQ+ywZ4oOWdkD7Y0dTVdjup+EJlo3t1ze2bFrHIIFO0/+KVD/cEpbIFR/1XDTuHeNmnhqHt7ikwS0nVd7ntDjXoXXxm9tBOgxfM17b8YwnfG0w8jCI+395Icpjy37FPexBM10LlyhoXlBR48iyMvXs4VA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763575133; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=fmi4KjuGsfrPeFm3Efd/M96N2+gzGVuCZOspXIKKiCw=; b=JMsIYczPTgBCkyEDK3bVh9w765WGgkMV2uJNEqMsUkCsydVs4eD5lY6RMPKcWMFplwrjqUhofPG06vaCvaWrHHA8IJtYYt34N4kSDPRNmMwZQ6rYxE0XdCipJkrpgSK/XRsyrljO540PLgRh/erYv/WBqUEMR2ZovuDDCRs9pqs= 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 1763575133369702.0289505657792; Wed, 19 Nov 2025 09:58:53 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id A253144004; Wed, 19 Nov 2025 12:58:52 -0500 (EST) Received: from [172.19.199.50] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 81D434404F; Wed, 19 Nov 2025 12:57:24 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id B30DF43F65; Wed, 19 Nov 2025 12:56:34 -0500 (EST) Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com [209.85.167.53]) (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 094E041C16 for ; Wed, 19 Nov 2025 12:56:34 -0500 (EST) Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-594270ec7f9so6427127e87.3 for ; Wed, 19 Nov 2025 09:56:33 -0800 (PST) Received: from tulp.my.domain ([176.96.226.171]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5969db8dc41sm14292e87.45.2025.11.19.09.56.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Nov 2025 09:56:31 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763574992; x=1764179792; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=fmi4KjuGsfrPeFm3Efd/M96N2+gzGVuCZOspXIKKiCw=; b=PF1h0QE2b1WF/WKSxkHLtzuv7ozci2k224sIkuJN1sNb0qBkoSL7saOzS8zuSNKPpL nX546Hf3suk3xHuCGK0QIcRbR0U7ZqsTcLQteFL/oaQMC0AdX47TOxrOTSsrqdWUUEhU Nl/geHUsGhV/3T1xV74I0DFNLGbMZwloN+xtRTjZ52souUTgQucxfWvSp0zurQeBKY+K p8Zg6KoDDbT89FDh4AnhrbjGLpeOhkY/jCZsA1QVkBvhSJHJDY/L8lLkglR3+kC0P42W d37IEyBd/oea2eg3jyBn/00t02OJ+BPW/Dnq8HgVgw32HvkdnUUGICVVvjF/3Un84ywq UPXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763574992; x=1764179792; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=fmi4KjuGsfrPeFm3Efd/M96N2+gzGVuCZOspXIKKiCw=; b=dxNVSSPdqqdSTegrgga25AockAXGNHrtxDxN3n/2HvmS6kBh9DIgn6qBEDUkMuB3RY YHtUfg29jkk+4B9NEdzpoUHtzGXpeJtlPmpmi/a/qs4WwiBZkWpmHlhxJGlI6/E3Oewl oTf+SPl7sqAKUoXoCTeL+LGLpzkCnEGc1bukFhIUJAnzZqDt7WWVuoGGmZmNx4jQSUPV dMAHP4/jKUxjsbM1C5s4+4GLZ4Gmp87/7t//QiVWyFpNObBP5E6Lm6F148kq3Hfi7zd0 kv8EPhhRTFURhFSfwSW4tHRVyvWY+QTgXrSss10YYQqacNtdGOIYpzEly/FOsyym8npE hxcA== X-Gm-Message-State: AOJu0YwTS1S/fmQ2DBFCEmMfZvkxmje8FuKtaStZ9gccWToqjlPNM90l 7IUxxRuM2opN+vGTLJNXXxA7mHnBtBr5Eu6OWiiai7b1AWOnjRezqUeGuWMNombCZR+g/A== X-Gm-Gg: ASbGncvzP4Q5Vp6cEEkV9u41lUOSeOPS61ReW367uW/0xnjlf/3jHbBSL66hJxruRec DKLaUQEFAQs4BqysGANjdREzzUSsILIjfivJrggIxTKiUd8rhM9EyULxbH6V2xDLuJe/FblQ71K hkwJYoGzR0GQ0vdf5za0YZbE7+Uxhr+AwTEUsTJ9TovwXtgNIyZn8Rw6c/RBsA2+5L9RBdkEEzx VstQ+Lm8BcuQRFECM7NqicK9wtLlKNZAnATdxns6u3rUqcngw6it7NtpoyvEVrN2FVyQTcdKCjF iaI108cl5kaVeFYaYgaTKdeSjFeXk3e0gRCYDJi5Ftw9uG1IIG6EMzE8/6MGwFVOvh6gLfrNfdT PxD7xktJJ+RtOTheCaVfI8otSy7/p+1Wghdssu6nCMsKx3uDCJVF2FS5mLi0njiHse1IcWAp6v6 qanMwWKPA= X-Google-Smtp-Source: AGHT+IHGO/kh7jy4NdnWZLEiWc9oJw8Kax/nhjNlhgi5ApRDGuDRBbG7wN3h9s412Jf9LhrEREmK7g== X-Received: by 2002:a05:6512:10cc:b0:592:f8c0:c8de with SMTP id 2adb3069b0e04-5958419cd59mr7082959e87.13.1763574991969; Wed, 19 Nov 2025 09:56:31 -0800 (PST) From: Roman Bogorodskiy To: devel@lists.libvirt.org Subject: [PATCH 1/2] conf: introduce 'wait' attribute for VNC Date: Wed, 19 Nov 2025 18:54:25 +0100 Message-ID: <20251119175427.55587-2-bogorodskiy@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251119175427.55587-1-bogorodskiy@gmail.com> References: <20251119175427.55587-1-bogorodskiy@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: JIZU4XSYLSNVCD67IM2NTVYCI5MKSNI7 X-Message-ID-Hash: JIZU4XSYLSNVCD67IM2NTVYCI5MKSNI7 X-MailFrom: bogorodskiy@gmail.com 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: Roman Bogorodskiy 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 @gmail.com) X-ZM-MESSAGEID: 1763575135465018900 Content-Type: text/plain; charset="utf-8" Introduce an optional 'wait' attribute for 'VNC'. When set to 'yes', VM should only boot upon the initiation of a VNC connection. Signed-off-by: Roman Bogorodskiy Reviewed-by: Martin Kletzander --- src/conf/domain_conf.c | 11 +++++++++++ src/conf/domain_conf.h | 1 + src/conf/schemas/domaincommon.rng | 5 +++++ 3 files changed, 17 insertions(+) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index d2dea6952e..36cc1916d0 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -11891,6 +11891,7 @@ virDomainGraphicsDefParseXMLVNC(virDomainGraphicsDe= f *def, xmlNodePtr audioNode; virTristateBool autoport; virTristateBool websocketGenerated; + virTristateBool wait; VIR_XPATH_NODE_AUTORESTORE(ctxt) =20 if (virDomainGraphicsListensParseXML(def, node, ctxt, flags) < 0) @@ -11940,6 +11941,12 @@ virDomainGraphicsDefParseXMLVNC(virDomainGraphicsD= ef *def, =20 def->data.vnc.keymap =3D virXMLPropString(node, "keymap"); =20 + if (virXMLPropTristateBool(node, "wait", VIR_XML_PROP_NONE, + &wait) < 0) + return -1; + + virTristateBoolToBool(wait, &def->data.vnc.wait); + ctxt->node =3D node; audioNode =3D virXPathNode("./audio", ctxt); if (audioNode) { @@ -27213,6 +27220,10 @@ virDomainGraphicsDefFormatVNC(virBuffer *attrBuf, virBufferAsprintf(attrBuf, " websocketGenerated=3D'%s'", def->data.vnc.websocketGenerated ? "yes" : "= no"); =20 + if (def->data.vnc.wait !=3D VIR_TRISTATE_BOOL_ABSENT) + virBufferAsprintf(attrBuf, " wait=3D'%s'", + virTristateBoolTypeToString(def->data.vnc.wa= it)); + virDomainGraphicsListenDefFormatAddr(attrBuf, glisten, flags); break; case VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_NONE: diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index 11eb46ae53..e47e10c90c 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -2048,6 +2048,7 @@ struct _virDomainGraphicsDef { virDomainGraphicsVNCSharePolicy sharePolicy; virTristateBool powerControl; unsigned int audioId; + bool wait; } vnc; struct { char *display; diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincom= mon.rng index 75b5124c33..67bbcbeb0b 100644 --- a/src/conf/schemas/domaincommon.rng +++ b/src/conf/schemas/domaincommon.rng @@ -4358,6 +4358,11 @@ + + + + + --=20 2.51.2 From nobody Fri Nov 21 10:01:19 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=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1763575200; cv=none; d=zohomail.com; s=zohoarc; b=WgeeRO/W/G1jEMlJImky+A1sKQs6MKxYIEApcZxhEtiscRdKn90vvkJM0ffvX1WwpYv9s786yQxPN1/6WKg4ZOmgbDC5FqekyJqcP1y2NA5wUfhUGEEYUmCTvAzaxz1l6zV/0hjqweMn/getM/URTLLD120IYkZaANjiYmZRITM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1763575200; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=k9evYQPzJalvJQCcLpmft/gyf+7oJz1HkffLsrhdYsI=; b=Kfh8P00Fbziy6pBz0OMErgpMwgaqizXdk64K7MYItCdiJMWy2ZJOKGZ9R4tfYOebxgElg54aQwHfWs6nkUXIdkol6RWF8eo32aiVJ4kxPt6NOPVbhXJSI+XzGEvC69M1uO6xbYV/Y8CrBypROkOMOhGLl7Ssnf+TlEjeD+xTPTo= 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 176357520089058.2310757472809; Wed, 19 Nov 2025 10:00:00 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 993) id EA16643F65; Wed, 19 Nov 2025 12:59:59 -0500 (EST) Received: from [172.19.199.50] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 398E4441BE; Wed, 19 Nov 2025 12:57:29 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 993) id 9604A43F65; Wed, 19 Nov 2025 12:56:37 -0500 (EST) Received: from mail-lf1-f43.google.com (mail-lf1-f43.google.com [209.85.167.43]) (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 304FE41C16 for ; Wed, 19 Nov 2025 12:56:36 -0500 (EST) Received: by mail-lf1-f43.google.com with SMTP id 2adb3069b0e04-5943d20f352so7672624e87.0 for ; Wed, 19 Nov 2025 09:56:36 -0800 (PST) Received: from tulp.my.domain ([176.96.226.171]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5969db8dc41sm14292e87.45.2025.11.19.09.56.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Nov 2025 09:56:32 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763574994; x=1764179794; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=k9evYQPzJalvJQCcLpmft/gyf+7oJz1HkffLsrhdYsI=; b=e2dDYQz9FSDz6ZYC5iBFznyHX11fPQEhDQmz0SbZBUxO4svBGbaiJmetFXnzuo632I rLvsWJ5D75GtarRz2IOEX7uQEEBC14TBQkMmNUWJ5CgqzTUVYSYDTrXcZH6F3TSGc8rg JCD4XtWvhuvYIcAeMQRYou3LX/WFatVgcc92mCMI90w9BIpdoFWxVP+6nM4Cu2BKwLtG 7eZSGrgzLVacrNQe5Xncj0DVWCNLOHtBw5eHTMYIipqixB4KEspkr57brM1LURnyXH2J q0rdQUJ3RjPMTnDami9MrW89q+VTMZUSQaOSU8lR32P3Mi6GGRAs4/Xq8KArQbjSHkBK sbxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763574994; x=1764179794; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=k9evYQPzJalvJQCcLpmft/gyf+7oJz1HkffLsrhdYsI=; b=dyFy7YE+tvF1X9U9qxCqPr4+IPizODH/bKSpHvWLab8MHwdpgBVyxUdOSJzYvpvbOS 93U4TQBG715c0V3Zyx/BvLN37Zi1bxu5+t8j3+vZ4GQ1599BSgTalin7gKseLcDsjf8n u+3H+ukZWnDc1F/nKC5ZQlUBEfkYqV9p1GNQUnQbfZE4cWdxpr0DynHNlG6QasBr8FI/ Lqgawsu9A/6WtEcDcJNev1HsFpaO6W0F92e5wjwYoYGjf6o0H1YEsqfRrfaMrUTPQAw1 cIuuXtwkqCrqfcMd8I9LY1AtKlLt8OCwOhtDmm9LvvuW31f1KzxB5jFsB5RNxluwEbYO k4sw== X-Gm-Message-State: AOJu0YyKRyO6u2PVEScW0u0og7D5ArxHEKq3uFK1pawUfb8dPvKf6qgz OKjzIAlmkup7bMlRBTMb17vqkCq9/MEYqGOtQz3uSWSiIobYhQDJzZndw4zYiwlFQ6OTpA== X-Gm-Gg: ASbGncvsSK+U4IEUV3RoTejonktu1tJbbHeOlFNt/ixzquWZQnVSxrODUGcIxG3poAe JNQbEtvud6tHxvuUHJ6MyU1Hkr0+WX1fgj4rduuwZOtLqOkb8ZzDQHr17Aajht9OyHx/HJGUsEU QprNcTpnBvvMYlqDtRUNj4M6REoP+z+Am6/UBqtGuwCRuKorFwE9PlLKXK6C5LXGrmxUPUYkHOn Mjy3pFZqamQ2sj8aIYOfDhshZCrEVl2iM9fTD8g/7Getc/ldOo3oYH0uJLPZlgQjrXTEDdbNI5g v6vzNvEQwcXD1/eDIyF+UZO54EWzv7MuYbieyra1CqXuQzjwFUeEivaTAE8OJKiKr0KXGd9opZb u1Ue1Ap40p8e0BxhL9gz3jYC/5YrghzIqYcrPmS2nDuoyIpCsQkedxCeErwp+Ogle5oJ9bkOakf qBD83HBif8JXj07PHTKw== X-Google-Smtp-Source: AGHT+IFJ4a+mD5lLEYJ7eTU/cTWdOVNixqFsUcrkTCsZDaelgewH2AjAx6dagZD33JMIvWW0Wfi0XQ== X-Received: by 2002:a05:6512:239a:b0:594:3d20:f021 with SMTP id 2adb3069b0e04-595841e10e3mr7456648e87.3.1763574994105; Wed, 19 Nov 2025 09:56:34 -0800 (PST) From: Roman Bogorodskiy To: devel@lists.libvirt.org Subject: [PATCH 2/2] bhyve: support VNC 'wait' attribute Date: Wed, 19 Nov 2025 18:54:26 +0100 Message-ID: <20251119175427.55587-3-bogorodskiy@gmail.com> X-Mailer: git-send-email 2.51.2 In-Reply-To: <20251119175427.55587-1-bogorodskiy@gmail.com> References: <20251119175427.55587-1-bogorodskiy@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: DR6BPOOP5CUY5LYSOHC5PWKE6WW5C7Z5 X-Message-ID-Hash: DR6BPOOP5CUY5LYSOHC5PWKE6WW5C7Z5 X-MailFrom: bogorodskiy@gmail.com 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: Roman Bogorodskiy 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 @gmail.com) X-ZM-MESSAGEID: 1763575203648019100 Content-Type: text/plain; charset="utf-8" Bhyve supports the 'wait' option for the VNC device configuration. When enabled, VM boots only upon a VNC connection. Sample device configuration looks like this: -s 29,fbuf,tcp=3D0.0.0.0:5900,w=3D800,h=3D600,wait Signed-off-by: Roman Bogorodskiy Reviewed-by: Martin Kletzander --- src/bhyve/bhyve_command.c | 3 ++ .../bhyvexml2argv-vnc-wait-no.args | 13 ++++++ .../bhyvexml2argv-vnc-wait-no.ldargs | 1 + .../bhyvexml2argv-vnc-wait-no.xml | 26 +++++++++++ .../bhyvexml2argv-vnc-wait.args | 13 ++++++ .../bhyvexml2argv-vnc-wait.ldargs | 1 + .../bhyvexml2argv-vnc-wait.xml | 26 +++++++++++ tests/bhyvexml2argvtest.c | 2 + .../bhyvexml2xmlout-vnc-wait-no.xml | 44 +++++++++++++++++++ .../bhyvexml2xmlout-vnc-wait.xml | 44 +++++++++++++++++++ tests/bhyvexml2xmltest.c | 2 + 11 files changed, 175 insertions(+) create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.args create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.ldargs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.xml create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait.args create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait.ldargs create mode 100644 tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait.xml create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-wait-no.x= ml create mode 100644 tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-wait.xml diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c index 8bfd5a6f93..057715102e 100644 --- a/src/bhyve/bhyve_command.c +++ b/src/bhyve/bhyve_command.c @@ -651,6 +651,9 @@ bhyveBuildGraphicsArgStr(const virDomainDef *def, virBufferAsprintf(&opt, ",vga=3D%s", virDomainVideoVGAConfTypeToString(video->driver-= >vgaconf)); =20 + if (graphics->data.vnc.wait) + virBufferAddLit(&opt, ",wait"); + virCommandAddArg(cmd, "-s"); virCommandAddArgBuffer(cmd, &opt); return 0; diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.args b/tests= /bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.args new file mode 100644 index 0000000000..049e65227d --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.args @@ -0,0 +1,13 @@ +bhyve \ +-c 1 \ +-m 214 \ +-u \ +-H \ +-P \ +-s 0:0,hostbridge \ +-l bootrom,/path/to/test.fd \ +-s 1:0,lpc \ +-s 2:0,ahci,hd:/tmp/freebsd.img \ +-s 3:0,virtio-net,faketapdev,mac=3D52:54:00:00:00:00 \ +-s 4:0,fbuf,tcp=3D127.0.0.1:5904 \ +bhyve diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.ldargs b/tes= ts/bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.ldargs new file mode 100644 index 0000000000..421376db9e --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.ldargs @@ -0,0 +1 @@ +dummy diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.xml b/tests/= bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.xml new file mode 100644 index 0000000000..61c028bfc7 --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait-no.xml @@ -0,0 +1,26 @@ + + bhyve + df3be7e7-a104-11e3-aeb0-50e5492bd3dc + 219136 + 1 + + hvm + /path/to/test.fd + + + + + + +
+ + + + +
+ + + + + + diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait.args b/tests/bh= yvexml2argvdata/bhyvexml2argv-vnc-wait.args new file mode 100644 index 0000000000..4394bdfb4b --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait.args @@ -0,0 +1,13 @@ +bhyve \ +-c 1 \ +-m 214 \ +-u \ +-H \ +-P \ +-s 0:0,hostbridge \ +-l bootrom,/path/to/test.fd \ +-s 1:0,lpc \ +-s 2:0,ahci,hd:/tmp/freebsd.img \ +-s 3:0,virtio-net,faketapdev,mac=3D52:54:00:00:00:00 \ +-s 4:0,fbuf,tcp=3D127.0.0.1:5904,wait \ +bhyve diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait.ldargs b/tests/= bhyvexml2argvdata/bhyvexml2argv-vnc-wait.ldargs new file mode 100644 index 0000000000..421376db9e --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait.ldargs @@ -0,0 +1 @@ +dummy diff --git a/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait.xml b/tests/bhy= vexml2argvdata/bhyvexml2argv-vnc-wait.xml new file mode 100644 index 0000000000..8cfd40ad7d --- /dev/null +++ b/tests/bhyvexml2argvdata/bhyvexml2argv-vnc-wait.xml @@ -0,0 +1,26 @@ + + bhyve + df3be7e7-a104-11e3-aeb0-50e5492bd3dc + 219136 + 1 + + hvm + /path/to/test.fd + + + + + + +
+ + + + +
+ + + + + + diff --git a/tests/bhyvexml2argvtest.c b/tests/bhyvexml2argvtest.c index 2a785ef8aa..650313c2da 100644 --- a/tests/bhyvexml2argvtest.c +++ b/tests/bhyvexml2argvtest.c @@ -235,6 +235,8 @@ mymain(void) DO_TEST("vnc-autoport"); DO_TEST("vnc-resolution"); DO_TEST("vnc-password"); + DO_TEST("vnc-wait"); + DO_TEST("vnc-wait-no"); DO_TEST_FAILURE("vnc-password-comma"); DO_TEST("cputopology"); DO_TEST_FAILURE("cputopology-nvcpu-mismatch"); diff --git a/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-wait-no.xml b/te= sts/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-wait-no.xml new file mode 100644 index 0000000000..58e71282e7 --- /dev/null +++ b/tests/bhyvexml2xmloutdata/bhyvexml2xmlout-vnc-wait-no.xml @@ -0,0 +1,44 @@ + + bhyve + df3be7e7-a104-11e3-aeb0-50e5492bd3dc + 219136 + 219136 + 1 + + hvm + /path/to/test.fd + + + + destroy + restart + destroy + + + + + +
+ + + +
+ + +
+ + + + + +
+ + + + +