From nobody Mon Sep 16 19:12:43 2024 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=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1719580430228752.3673928504625; Fri, 28 Jun 2024 06:13:50 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 25138144C; Fri, 28 Jun 2024 09:13:49 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id ECD7B145F; Fri, 28 Jun 2024 09:12:48 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 736481247; Fri, 28 Jun 2024 09:12:44 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 1A7D41251 for ; Fri, 28 Jun 2024 09:12:44 -0400 (EDT) Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-695-kI-HRBJRNF6zEYZUcJSTEg-1; Fri, 28 Jun 2024 09:12:42 -0400 Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id BB1D31945114 for ; Fri, 28 Jun 2024 13:12:41 +0000 (UTC) Received: from maggie.brq.redhat.com (unknown [10.43.3.102]) by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 092DC19560A3 for ; Fri, 28 Jun 2024 13:12:40 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1719580363; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=tg0oRcEEIdKkduHGttRCPDPLbjLNtOF5am74n4iO5Pg=; b=BWSl+BbzirqUhRBOx3Z4fdU9mkZ1ig59R8BAPmamV84gT4tgetRH3PUApPd9jA4pgiE5xA aZCyjAYj/XjNjP+fgxapShbsYsy0B2oY/O5NFscceDuspMNX2S9SpdszoSMpds8HEsv6WZ MBlWamE7boblxK9gKlXjI3JLFU0L4sA= X-MC-Unique: kI-HRBJRNF6zEYZUcJSTEg-1 From: Michal Privoznik To: devel@lists.libvirt.org Subject: [PATCH 1/8] libvirt_private.syms: Export virDomainNetBackendType enum handlers Date: Fri, 28 Jun 2024 15:12:30 +0200 Message-ID: <47a6b8ef3887e9dc97df844e06f35615ffc6ba09.1719580253.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 6IHV4KYEZ4E6M76F3W4XLMQ23UZSMURL X-Message-ID-Hash: 6IHV4KYEZ4E6M76F3W4XLMQ23UZSMURL X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1719580431028100001 Content-Type: text/plain; charset="utf-8"; x-default="true" Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/libvirt_private.syms | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index f7a0a8bc36..3373c5a88c 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -533,6 +533,8 @@ virDomainNetAllocateActualDevice; virDomainNetAppendIPAddress; virDomainNetARPInterfaces; virDomainNetBackendIsEqual; +virDomainNetBackendTypeFromString; +virDomainNetBackendTypeToString; virDomainNetBandwidthUpdate; virDomainNetDefActualFromNetworkPort; virDomainNetDefActualToNetworkPort; --=20 2.44.2 From nobody Mon Sep 16 19:12:43 2024 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=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1719580502610790.3596016000203; Fri, 28 Jun 2024 06:15:02 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 7E9AF1457; Fri, 28 Jun 2024 09:15:01 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 2F0971483; Fri, 28 Jun 2024 09:12:53 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 8E0C0A4C; Fri, 28 Jun 2024 09:12:47 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id F2603A4C for ; Fri, 28 Jun 2024 09:12:45 -0400 (EDT) Received: from mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-363-Fv5FG6NLOlqeGD9OmRtSKQ-1; Fri, 28 Jun 2024 09:12:43 -0400 Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 0938C19560B1 for ; Fri, 28 Jun 2024 13:12:43 +0000 (UTC) Received: from maggie.brq.redhat.com (unknown [10.43.3.102]) by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 1F32719560A3 for ; Fri, 28 Jun 2024 13:12:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1719580365; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Vq2lsZnvZqmU+/vEr48DIIsGDh58uXQTAPiM29Dj5v0=; b=TytIZcgitgCx2Gf6eP8bqXh4QJy1/XvXSV+tigc/+MWyPtRenRLrT+IJyZLE4aDdvTTMEM okCZkssV77vcOjcwQD7QXmHIBZ/+AIudwCmge37DfHFiI3APbRpYsWjWZRkXWOu/wjaaEB pNoCyhf9/oWZc+EgXG5XatDA7lsjqzY= X-MC-Unique: Fv5FG6NLOlqeGD9OmRtSKQ-1 From: Michal Privoznik To: devel@lists.libvirt.org Subject: [PATCH 2/8] qemu_capabilities: Introduce QEMU_CAPS_NETDEV_USER Date: Fri, 28 Jun 2024 15:12:31 +0200 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: OIBBB6MNUR424Y3AJKVLDKGA4XDIXYBL X-Message-ID-Hash: OIBBB6MNUR424Y3AJKVLDKGA4XDIXYBL X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1719580503404100001 Content-Type: text/plain; charset="utf-8"; x-default="true" Since -netdev user can be disabled during QEMU compilation, we can't blindly expect it to just be there. We need a capability that tracks its presence. For qemu-4.2.0 we are not able to detect the capability so do the next best thing - assume the capability is there. This is consistent with our current behaviour where we blindly assume the capability, anyway. Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/qemu/qemu_capabilities.c | 7 +++++++ src/qemu/qemu_capabilities.h | 1 + tests/qemucapabilitiesdata/caps_4.2.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0_ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0_s390x.xml | 1 + tests/qemucapabilitiesdata/caps_4.2.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_5.0.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_5.0.0_ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_5.0.0_riscv64.xml | 1 + tests/qemucapabilitiesdata/caps_5.0.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_5.1.0_sparc.xml | 1 + tests/qemucapabilitiesdata/caps_5.1.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml | 1 + tests/qemucapabilitiesdata/caps_5.2.0_s390x.xml | 1 + tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_6.0.0_s390x.xml | 1 + tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.xml | 1 + tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml | 1 + tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml | 1 + tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml | 1 + tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml | 1 + tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml | 1 + tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml | 1 + tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml | 1 + tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml | 1 + tests/qemucapabilitiesdata/caps_8.2.0_s390x.xml | 1 + tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml | 1 + tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml | 1 + 44 files changed, 50 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 470902a4cf..2c7186c14f 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -711,6 +711,7 @@ VIR_ENUM_IMPL(virQEMUCaps, =20 /* 460 */ "sev-snp-guest", /* QEMU_CAPS_SEV_SNP_GUEST */ + "netdev.user", /* QEMU_CAPS_NETDEV_USER */ ); =20 =20 @@ -1575,6 +1576,7 @@ static struct virQEMUCapsStringFlags virQEMUCapsQMPSc= hemaQueries[] =3D { { "object-add/arg-type/+iothread/thread-pool-max", QEMU_CAPS_IOTHREAD_= THREAD_POOL_MAX }, { "query-migrate/ret-type/blocked-reasons", QEMU_CAPS_MIGRATION_BLOCKE= D_REASONS }, { "screendump/arg-type/format/^png", QEMU_CAPS_SCREENSHOT_FORMAT_PNG }, + { "netdev_add/arg-type/+user", QEMU_CAPS_NETDEV_USER }, }; =20 typedef struct _virQEMUCapsObjectTypeProps virQEMUCapsObjectTypeProps; @@ -5404,6 +5406,11 @@ virQEMUCapsInitQMPVersionCaps(virQEMUCaps *qemuCaps) */ if (qemuCaps->version < 5002000) virQEMUCapsSet(qemuCaps, QEMU_CAPS_ENABLE_FIPS); + + /* We are not able to detect this for old QEMU. Assume the capability = is + * there. */ + if (qemuCaps->version < 5000000) + virQEMUCapsSet(qemuCaps, QEMU_CAPS_NETDEV_USER); } =20 =20 diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index ef71e8511e..d3d4e24e58 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -690,6 +690,7 @@ typedef enum { /* virQEMUCapsFlags grouping marker for = syntax-check */ =20 /* 460 */ QEMU_CAPS_SEV_SNP_GUEST, /* -object sev-snp-guest */ + QEMU_CAPS_NETDEV_USER, /* -netdev user */ =20 QEMU_CAPS_LAST /* this must always be the last item */ } virQEMUCapsFlags; diff --git a/tests/qemucapabilitiesdata/caps_4.2.0_aarch64.xml b/tests/qemu= capabilitiesdata/caps_4.2.0_aarch64.xml index 33d06fface..5aa5c7aeef 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0_aarch64.xml @@ -106,6 +106,7 @@ + 4002000 61700242 v4.1.0-2221-g36609b4fa3 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0_ppc64.xml b/tests/qemuca= pabilitiesdata/caps_4.2.0_ppc64.xml index 80f503fc46..1248897aba 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0_ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0_ppc64.xml @@ -106,6 +106,7 @@ + 4002000 42900242 v4.1.0-2198-g9e583f2 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0_s390x.xml b/tests/qemuca= pabilitiesdata/caps_4.2.0_s390x.xml index 20d458e55d..f63db59bcd 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0_s390x.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0_s390x.xml @@ -72,6 +72,7 @@ + 4002000 39100242 qemu-4.2.0-20200115.0.1e4aa2da.fc31 diff --git a/tests/qemucapabilitiesdata/caps_4.2.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_4.2.0_x86_64.xml index 40e3211c57..a91b34b49f 100644 --- a/tests/qemucapabilitiesdata/caps_4.2.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_4.2.0_x86_64.xml @@ -144,6 +144,7 @@ + 4002000 43100242 v4.2.0 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0_aarch64.xml b/tests/qemu= capabilitiesdata/caps_5.0.0_aarch64.xml index 1044a49742..b443541c23 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0_aarch64.xml @@ -118,6 +118,7 @@ + 5000000 61700241 v5.0.0 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0_ppc64.xml b/tests/qemuca= pabilitiesdata/caps_5.0.0_ppc64.xml index 1806e6316e..47f35c536a 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0_ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0_ppc64.xml @@ -121,6 +121,7 @@ + 5000000 42900241 v5.0.0 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0_riscv64.xml b/tests/qemu= capabilitiesdata/caps_5.0.0_riscv64.xml index f68d88f39b..9b14ff1fff 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0_riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0_riscv64.xml @@ -113,6 +113,7 @@ + 5000000 0 v5.0.0 diff --git a/tests/qemucapabilitiesdata/caps_5.0.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.0.0_x86_64.xml index 1741c003cb..84a18b516a 100644 --- a/tests/qemucapabilitiesdata/caps_5.0.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.0.0_x86_64.xml @@ -153,6 +153,7 @@ + 5000000 43100241 v5.0.0 diff --git a/tests/qemucapabilitiesdata/caps_5.1.0_sparc.xml b/tests/qemuca= pabilitiesdata/caps_5.1.0_sparc.xml index dce3a97aa5..ffa167508e 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0_sparc.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0_sparc.xml @@ -45,6 +45,7 @@ + 5001000 0 qemu-5.1.0-5.fc33 diff --git a/tests/qemucapabilitiesdata/caps_5.1.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.1.0_x86_64.xml index c863baa71c..ac3079f1ca 100644 --- a/tests/qemucapabilitiesdata/caps_5.1.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.1.0_x86_64.xml @@ -157,6 +157,7 @@ + 5001000 43100242 v5.1.0 diff --git a/tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml b/tests/qemu= capabilitiesdata/caps_5.2.0_aarch64.xml index 905726f7c1..ae426c5f7f 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0_aarch64.xml @@ -126,6 +126,7 @@ + 5002000 61700243 v5.2.0 diff --git a/tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml b/tests/qemuca= pabilitiesdata/caps_5.2.0_ppc64.xml index be3d464df3..d7615208b3 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0_ppc64.xml @@ -126,6 +126,7 @@ + 5002000 42900243 v5.2.0 diff --git a/tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml b/tests/qemu= capabilitiesdata/caps_5.2.0_riscv64.xml index 9280e92fd8..c3452815b4 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0_riscv64.xml @@ -118,6 +118,7 @@ + 5002000 0 v5.2.0 diff --git a/tests/qemucapabilitiesdata/caps_5.2.0_s390x.xml b/tests/qemuca= pabilitiesdata/caps_5.2.0_s390x.xml index 0a18f55960..22b2fbeb69 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0_s390x.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0_s390x.xml @@ -83,6 +83,7 @@ + 5002000 39100243 qemu-5.2.0-20201215.0.ba93e22c.fc32 diff --git a/tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_5.2.0_x86_64.xml index da6229f8e2..4cd05fa7ec 100644 --- a/tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_5.2.0_x86_64.xml @@ -160,6 +160,7 @@ + 5002000 43100243 v5.2.0 diff --git a/tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml b/tests/qemu= capabilitiesdata/caps_6.0.0_aarch64.xml index 97bbcdeb68..83439f3d63 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0_aarch64.xml @@ -137,6 +137,7 @@ + 6000000 61700242 v6.0.0 diff --git a/tests/qemucapabilitiesdata/caps_6.0.0_s390x.xml b/tests/qemuca= pabilitiesdata/caps_6.0.0_s390x.xml index 94a8406f0a..332b8091ee 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0_s390x.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0_s390x.xml @@ -93,6 +93,7 @@ + 6000000 39100242 qemu-6.0.0-20210517.1.4ff77070.fc33 diff --git a/tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_6.0.0_x86_64.xml index ffaa7c2a71..dc55e0ab3f 100644 --- a/tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.0.0_x86_64.xml @@ -172,6 +172,7 @@ + 6000000 43100242 v6.0.0 diff --git a/tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_6.1.0_x86_64.xml index 22a1fc3ac7..1d5b8ea9d2 100644 --- a/tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.1.0_x86_64.xml @@ -178,6 +178,7 @@ + 6001000 43100243 v6.1.0 diff --git a/tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml b/tests/qemu= capabilitiesdata/caps_6.2.0_aarch64.xml index a7a6f54019..25049e1ab8 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0_aarch64.xml @@ -150,6 +150,7 @@ + 6001050 61700244 diff --git a/tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml b/tests/qemuca= pabilitiesdata/caps_6.2.0_ppc64.xml index 719e7120a3..e321481949 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0_ppc64.xml @@ -138,6 +138,7 @@ + 6002000 42900244 v6.2.0 diff --git a/tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_6.2.0_x86_64.xml index 010f142dee..f8f8bd95f4 100644 --- a/tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_6.2.0_x86_64.xml @@ -180,6 +180,7 @@ + 6002000 43100244 v6.2.0 diff --git a/tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.xml b/tests/= qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.xml index ab21278e50..69d0701dc9 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0_aarch64+hvf.xml @@ -158,6 +158,7 @@ + 6002092 61700243 v7.0.0-rc2 diff --git a/tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml b/tests/qemu= capabilitiesdata/caps_7.0.0_aarch64.xml index f53c3ddcd8..eaed5601ed 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0_aarch64.xml @@ -158,6 +158,7 @@ + 6002092 61700243 v7.0.0-rc2 diff --git a/tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml b/tests/qemuca= pabilitiesdata/caps_7.0.0_ppc64.xml index 2efa4d6259..a49d45a68a 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0_ppc64.xml @@ -156,6 +156,7 @@ + 7000000 42900243 v7.0.0 diff --git a/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_7.0.0_x86_64.xml index 843225b19d..5c57ae8eb8 100644 --- a/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.0.0_x86_64.xml @@ -186,6 +186,7 @@ + 7000000 43100243 v7.0.0 diff --git a/tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml b/tests/qemuca= pabilitiesdata/caps_7.1.0_ppc64.xml index 3fda8bf6ea..5aeb56bac6 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0_ppc64.xml @@ -157,6 +157,7 @@ + 7001000 42900244 v7.1.0 diff --git a/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_7.1.0_x86_64.xml index 0d43787fa9..3c589a4d61 100644 --- a/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.1.0_x86_64.xml @@ -190,6 +190,7 @@ + 7001000 43100244 v7.1.0 diff --git a/tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml b/tests/qemucapa= bilitiesdata/caps_7.2.0_ppc.xml index 7a73f762de..c5e1b23fb7 100644 --- a/tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml +++ b/tests/qemucapabilitiesdata/caps_7.2.0_ppc.xml @@ -152,6 +152,7 @@ + 7002000 0 qemu-7.2.0-6.fc37 diff --git a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml b/tests/q= emucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml index 5ba0c24a4d..f78e596fcc 100644 --- a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml +++ b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64+hvf.xml @@ -194,6 +194,7 @@ + 7002000 43100245 v7.2.0 diff --git a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_7.2.0_x86_64.xml index 887cb02fa0..9b37253d4f 100644 --- a/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_7.2.0_x86_64.xml @@ -194,6 +194,7 @@ + 7002000 43100245 v7.2.0 diff --git a/tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml b/tests/qemu= capabilitiesdata/caps_8.0.0_riscv64.xml index 9af900aaa3..03c0e99da5 100644 --- a/tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml +++ b/tests/qemucapabilitiesdata/caps_8.0.0_riscv64.xml @@ -140,6 +140,7 @@ + 7002050 0 v7.2.0-333-g222059a0fc diff --git a/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_8.0.0_x86_64.xml index 62a42c3ab6..bd391ca0b6 100644 --- a/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_8.0.0_x86_64.xml @@ -198,6 +198,7 @@ + 8000000 43100244 v8.0.0 diff --git a/tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml b/tests/qemuca= pabilitiesdata/caps_8.1.0_s390x.xml index 744261be10..c2211bfb12 100644 --- a/tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml +++ b/tests/qemucapabilitiesdata/caps_8.1.0_s390x.xml @@ -121,6 +121,7 @@ + 8001000 39100245 v8.1.0 diff --git a/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_8.1.0_x86_64.xml index 907fc39b99..4b7809f635 100644 --- a/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_8.1.0_x86_64.xml @@ -200,6 +200,7 @@ + 8001000 43100245 v8.1.0 diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml b/tests/qemu= capabilitiesdata/caps_8.2.0_aarch64.xml index 925bfef44f..b856bc55b3 100644 --- a/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml +++ b/tests/qemucapabilitiesdata/caps_8.2.0_aarch64.xml @@ -167,6 +167,7 @@ + 8002000 61700246 v8.2.0 diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml b/tests/qemuc= apabilitiesdata/caps_8.2.0_armv7l.xml index ea3a76d175..1b95b2de85 100644 --- a/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml +++ b/tests/qemucapabilitiesdata/caps_8.2.0_armv7l.xml @@ -174,6 +174,7 @@ + 8002000 0 qemu-8.2.0-7.fc39 diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml b/tests/= qemucapabilitiesdata/caps_8.2.0_loongarch64.xml index 618a7075df..aaf8f32485 100644 --- a/tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml +++ b/tests/qemucapabilitiesdata/caps_8.2.0_loongarch64.xml @@ -157,6 +157,7 @@ + 8002000 106300246 v8.2.0 diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_s390x.xml b/tests/qemuca= pabilitiesdata/caps_8.2.0_s390x.xml index acf18d5896..e86088332e 100644 --- a/tests/qemucapabilitiesdata/caps_8.2.0_s390x.xml +++ b/tests/qemucapabilitiesdata/caps_8.2.0_s390x.xml @@ -122,6 +122,7 @@ + 8002000 39100246 v8.2.0 diff --git a/tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_8.2.0_x86_64.xml index 5d7755a65e..a1a5d6fd0f 100644 --- a/tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_8.2.0_x86_64.xml @@ -203,6 +203,7 @@ + 8002000 43100246 v8.2.0 diff --git a/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_9.0.0_x86_64.xml index 204d243247..ab841db53b 100644 --- a/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_9.0.0_x86_64.xml @@ -205,6 +205,7 @@ + 9000000 43100245 v9.0.0 diff --git a/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml b/tests/qemuc= apabilitiesdata/caps_9.1.0_x86_64.xml index e0332ce1e8..05cba09035 100644 --- a/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml +++ b/tests/qemucapabilitiesdata/caps_9.1.0_x86_64.xml @@ -203,6 +203,7 @@ + 9000050 43100246 v9.0.0-1388-g80e8f06021-dirty --=20 2.44.2 From nobody Mon Sep 16 19:12:43 2024 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=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1719580543804724.7651766820301; Fri, 28 Jun 2024 06:15:43 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id BB9EBA6D; Fri, 28 Jun 2024 09:15:42 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id C6A7713AF; Fri, 28 Jun 2024 09:12:55 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 35A541466; Fri, 28 Jun 2024 09:12:50 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 1B0621270 for ; Fri, 28 Jun 2024 09:12:47 -0400 (EDT) Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-461-tTFdf0m3OVKT8M9S7_cSvQ-1; Fri, 28 Jun 2024 09:12:45 -0400 Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 42E96195608D for ; Fri, 28 Jun 2024 13:12:44 +0000 (UTC) Received: from maggie.brq.redhat.com (unknown [10.43.3.102]) by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 5E17219560A3 for ; Fri, 28 Jun 2024 13:12:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1719580366; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=s5rW0Cbz5QbY4O4vVUyaYzoDxwtkOhfwwqtjGBgPdjE=; b=gW63qP5HG01jmDhCjFV718o1bonOwOhUvKA63gs1ISQ6w/eifkT6Lxsyj501uXufUlD4ib Z17hN1AxwuXl/Y/njpQBlY9IKzi+pDPbgvAdPf/VKjYExnMTZyxVjPpGvj+YSmReCUxicb gUVE5wHa7dd0Iupfv/mUoMCnu1MXCms= X-MC-Unique: tTFdf0m3OVKT8M9S7_cSvQ-1 From: Michal Privoznik To: devel@lists.libvirt.org Subject: [PATCH 3/8] qemu_validate: Validate net backends against QEMU caps Date: Fri, 28 Jun 2024 15:12:32 +0200 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: U76KIBK623ZMF6ANQNJDRHDPIVNKTSHK X-Message-ID-Hash: U76KIBK623ZMF6ANQNJDRHDPIVNKTSHK X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1719580545556100001 Content-Type: text/plain; charset="utf-8"; x-default="true" Now that we have a capability for each domain net backend we can start validating user's selection against QEMU capabilities. Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/qemu/qemu_validate.c | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index b392428f48..23d642c1ce 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -1705,11 +1705,27 @@ qemuValidateDomainDeviceDefNetwork(const virDomainN= etDef *net, size_t i; =20 if (net->type =3D=3D VIR_DOMAIN_NET_TYPE_USER) { - if (net->backend.type =3D=3D VIR_DOMAIN_NET_BACKEND_PASST && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_NETDEV_STREAM)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("the passt network backend is not supported w= ith this QEMU binary")); - return -1; + switch (net->backend.type) { + case VIR_DOMAIN_NET_BACKEND_DEFAULT: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_NETDEV_USER)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("the '%1$s' network backend is not suppor= ted with this QEMU binary"), + virDomainNetBackendTypeToString(net->backen= d.type)); + return -1; + } + break; + + case VIR_DOMAIN_NET_BACKEND_PASST: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_NETDEV_STREAM)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("the '%1$s' network backend is not suppor= ted with this QEMU binary"), + virDomainNetBackendTypeToString(net->backen= d.type)); + return -1; + } + break; + + case VIR_DOMAIN_NET_BACKEND_LAST: + break; } if (net->guestIP.nroutes) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", --=20 2.44.2 From nobody Mon Sep 16 19:12:43 2024 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=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 171958057127691.7957622125773; Fri, 28 Jun 2024 06:16:11 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 3E02E13E0; Fri, 28 Jun 2024 09:16:10 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 980E41499; Fri, 28 Jun 2024 09:13:04 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 356AC1430; Fri, 28 Jun 2024 09:12:59 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id A949F13EB for ; Fri, 28 Jun 2024 09:12:47 -0400 (EDT) Received: from mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-526-nIEx9YXpMH-eoXuAP-LArA-1; Fri, 28 Jun 2024 09:12:45 -0400 Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-03.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 1E24519560B4 for ; Fri, 28 Jun 2024 13:12:45 +0000 (UTC) Received: from maggie.brq.redhat.com (unknown [10.43.3.102]) by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 69E4419560A3 for ; Fri, 28 Jun 2024 13:12:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1719580367; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wcBw2lzHc+3TUhIua5H0H2txw9ygBzLFVFxIiSoCKHo=; b=SUaceYjQl6WYLcT40NT3MZRGJXrSW18Fl5lj+fhYeBTrraeggHhtfc4uOnsPLjh6lEY9Rs /zv/RjMeQfY9EaFV3dtxERztNMXFm5NEbp7cJp/QL+YgO/VCBYgrLfCbBMePmDamqifo88 FtCUiJx0N1EIeux02kc1DSwPmMBjvoY= X-MC-Unique: nIEx9YXpMH-eoXuAP-LArA-1 From: Michal Privoznik To: devel@lists.libvirt.org Subject: [PATCH 4/8] domain_capabilities: Introduce netdev capabilities Date: Fri, 28 Jun 2024 15:12:33 +0200 Message-ID: <86ab9de1614e0f597d9dc5136630cd0e1c716575.1719580253.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: INEPXUGY6FWMFQU62MBD6YNVLLI2CDFM X-Message-ID-Hash: INEPXUGY6FWMFQU62MBD6YNVLLI2CDFM X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1719580571719100001 Content-Type: text/plain; charset="utf-8"; x-default="true" If mgmt apps on top of libvirt want to make a decision on the backend type for (e.g. whether past is supported) we currently offer them no way to learn this fact. Domain capabilities were invented exactly for this reason. Report supported net backend types there. Now, because of backwards compatibility, specifying no backend type (which translates to VIR_DOMAIN_NET_BACKEND_DEFAULT) means "use hyperviosr's builtin SLIRP". That behaviour can not be changed. But it may happen that the hypervisor has no support for SLIRP. So we have to report it. Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- docs/formatdomaincaps.rst | 25 +++++++++++++++++++++++++ src/conf/domain_capabilities.c | 13 +++++++++++++ src/conf/domain_capabilities.h | 8 ++++++++ src/conf/schemas/domaincaps.rng | 10 ++++++++++ 4 files changed, 56 insertions(+) diff --git a/docs/formatdomaincaps.rst b/docs/formatdomaincaps.rst index a2ad0acc3d..be45de8996 100644 --- a/docs/formatdomaincaps.rst +++ b/docs/formatdomaincaps.rst @@ -629,6 +629,31 @@ Crypto device capabilities are exposed under the ``cry= pto`` element. For instanc ``backendModel`` Options for the ``backendModel`` attribute of the ```= ` element. =20 +Interface device +^^^^^^^^^^^^^^^^ + +Interface device corresponds to `network interface +`__ (````) in domain XML. + +:: + + + ... + + + + default + passt + + + ... + + + +``backendType`` + Options for the ``type`` attribute of the ```` element + + Features ~~~~~~~~ =20 diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index 3f2d231d1c..199bac006b 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -607,6 +607,18 @@ virDomainCapsDeviceCryptoFormat(virBuffer *buf, } =20 =20 +static void +virDomainCapsDeviceNetFormat(virBuffer *buf, + const virDomainCapsDeviceNet *interface) +{ + FORMAT_PROLOGUE(interface); + + ENUM_PROCESS(interface, backendType, virDomainNetBackendTypeToString); + + FORMAT_EPILOGUE(interface); +} + + /** * virDomainCapsFeatureGICFormat: * @buf: target buffer @@ -787,6 +799,7 @@ virDomainCapsFormat(const virDomainCaps *caps) virDomainCapsDeviceRedirdevFormat(&buf, &caps->redirdev); virDomainCapsDeviceChannelFormat(&buf, &caps->channel); virDomainCapsDeviceCryptoFormat(&buf, &caps->crypto); + virDomainCapsDeviceNetFormat(&buf, &caps->net); =20 virBufferAdjustIndent(&buf, -2); virBufferAddLit(&buf, "\n"); diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h index 986f3cb394..3fe62ce211 100644 --- a/src/conf/domain_capabilities.h +++ b/src/conf/domain_capabilities.h @@ -250,6 +250,13 @@ struct _virDomainCapsDeviceCrypto { virDomainCapsEnum backendModel; /* virDomainCryptoBackend */ }; =20 +STATIC_ASSERT_ENUM(VIR_DOMAIN_NET_BACKEND_LAST); +typedef struct _virDomainCapsDeviceNet virDomainCapsDeviceNet; +struct _virDomainCapsDeviceNet { + virTristateBool supported; + virDomainCapsEnum backendType; /* virDomainNetBackendType */ +}; + typedef enum { VIR_DOMAIN_CAPS_FEATURE_IOTHREADS =3D 0, VIR_DOMAIN_CAPS_FEATURE_VMCOREINFO, @@ -286,6 +293,7 @@ struct _virDomainCaps { virDomainCapsDeviceRedirdev redirdev; virDomainCapsDeviceChannel channel; virDomainCapsDeviceCrypto crypto; + virDomainCapsDeviceNet net; /* add new domain devices here */ =20 virDomainCapsFeatureGIC gic; diff --git a/src/conf/schemas/domaincaps.rng b/src/conf/schemas/domaincaps.= rng index b8115fe028..f17a4e681d 100644 --- a/src/conf/schemas/domaincaps.rng +++ b/src/conf/schemas/domaincaps.rng @@ -212,6 +212,9 @@ + + + =20 @@ -285,6 +288,13 @@ =20 + + + + + + + --=20 2.44.2 From nobody Mon Sep 16 19:12:43 2024 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=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1719580691351102.57425032906667; Fri, 28 Jun 2024 06:18:11 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id ED1A7947; Fri, 28 Jun 2024 09:18:09 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 78BA314AE; Fri, 28 Jun 2024 09:13:18 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 97DF81270; Fri, 28 Jun 2024 09:13:13 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id B234F147E for ; Fri, 28 Jun 2024 09:12:49 -0400 (EDT) Received: from mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-311-cUcN61wLOMC9I4j2dNosYA-1; Fri, 28 Jun 2024 09:12:47 -0400 Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-01.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 60A3C1956058 for ; Fri, 28 Jun 2024 13:12:46 +0000 (UTC) Received: from maggie.brq.redhat.com (unknown [10.43.3.102]) by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id 7720119560A3 for ; Fri, 28 Jun 2024 13:12:45 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1719580369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OKxMmY0MlLs7/PIC97c0koChQtSgeEqKx0JlGSOZGXo=; b=OEzbaV/lnoGaRHlD1ieFjrrZe5bvEM3sMoR0HFYfpYv3H3QOnX526pBAOxFHMx7ocX/xCS nDGahQdUriH4+wogs5yjWaAxEt4uLEYiyo+xq5R/+4+c29LWbtgJu1RU8QBKELoMaokBKX 9lX9VBwMuekSmEDs6DX4xtTJ4dxWVAQ= X-MC-Unique: cUcN61wLOMC9I4j2dNosYA-1 From: Michal Privoznik To: devel@lists.libvirt.org Subject: [PATCH 5/8] qemu_capabilities: Fill supported net backend types Date: Fri, 28 Jun 2024 15:12:34 +0200 Message-ID: <6ac5bb89d1a3491d77a4c0411145bf18e7780cde.1719580253.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: CYTO4GPAPN5EBNIMFKGOHIGRD3453C5P X-Message-ID-Hash: CYTO4GPAPN5EBNIMFKGOHIGRD3453C5P X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1719580692334100001 Content-Type: text/plain; charset="utf-8"; x-default="true" Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/qemu/qemu_capabilities.c | 16 ++++++++++++++++ src/qemu/qemu_capabilities.h | 3 +++ tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml | 5 +++++ tests/domaincapsdata/qemu_4.2.0.aarch64.xml | 5 +++++ tests/domaincapsdata/qemu_4.2.0.ppc64.xml | 5 +++++ tests/domaincapsdata/qemu_4.2.0.s390x.xml | 5 +++++ tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 5 +++++ .../qemu_5.0.0-tcg-virt.riscv64.xml | 5 +++++ tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml | 5 +++++ tests/domaincapsdata/qemu_5.0.0-virt.riscv64.xml | 5 +++++ tests/domaincapsdata/qemu_5.0.0.aarch64.xml | 5 +++++ tests/domaincapsdata/qemu_5.0.0.ppc64.xml | 5 +++++ tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_5.1.0.sparc.xml | 5 +++++ tests/domaincapsdata/qemu_5.1.0.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml | 5 +++++ .../qemu_5.2.0-tcg-virt.riscv64.xml | 5 +++++ tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml | 5 +++++ tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml | 5 +++++ tests/domaincapsdata/qemu_5.2.0.aarch64.xml | 5 +++++ tests/domaincapsdata/qemu_5.2.0.ppc64.xml | 5 +++++ tests/domaincapsdata/qemu_5.2.0.s390x.xml | 5 +++++ tests/domaincapsdata/qemu_5.2.0.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml | 5 +++++ tests/domaincapsdata/qemu_6.0.0.aarch64.xml | 5 +++++ tests/domaincapsdata/qemu_6.0.0.s390x.xml | 5 +++++ tests/domaincapsdata/qemu_6.0.0.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_6.1.0.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml | 5 +++++ tests/domaincapsdata/qemu_6.2.0.aarch64.xml | 5 +++++ tests/domaincapsdata/qemu_6.2.0.ppc64.xml | 5 +++++ tests/domaincapsdata/qemu_6.2.0.x86_64.xml | 5 +++++ .../qemu_7.0.0-hvf.aarch64+hvf.xml | 5 +++++ tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml | 5 +++++ tests/domaincapsdata/qemu_7.0.0.aarch64.xml | 5 +++++ tests/domaincapsdata/qemu_7.0.0.ppc64.xml | 5 +++++ tests/domaincapsdata/qemu_7.0.0.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 5 +++++ tests/domaincapsdata/qemu_7.1.0.ppc64.xml | 5 +++++ tests/domaincapsdata/qemu_7.1.0.x86_64.xml | 5 +++++ .../domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml | 6 ++++++ tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml | 6 ++++++ .../domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml | 6 ++++++ tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_7.2.0.ppc.xml | 6 ++++++ tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml | 6 ++++++ .../qemu_8.0.0-tcg-virt.riscv64.xml | 6 ++++++ tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml | 6 ++++++ tests/domaincapsdata/qemu_8.0.0.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_8.1.0.s390x.xml | 6 ++++++ tests/domaincapsdata/qemu_8.1.0.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml | 6 ++++++ .../qemu_8.2.0-tcg-virt.loongarch64.xml | 6 ++++++ tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml | 6 ++++++ .../qemu_8.2.0-virt.loongarch64.xml | 6 ++++++ tests/domaincapsdata/qemu_8.2.0.aarch64.xml | 6 ++++++ tests/domaincapsdata/qemu_8.2.0.armv7l.xml | 6 ++++++ tests/domaincapsdata/qemu_8.2.0.s390x.xml | 6 ++++++ tests/domaincapsdata/qemu_8.2.0.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_9.0.0.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml | 6 ++++++ tests/domaincapsdata/qemu_9.1.0.x86_64.xml | 6 ++++++ 86 files changed, 469 insertions(+) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 2c7186c14f..d7de39c21d 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -6542,6 +6542,20 @@ virQEMUCapsFillDomainLaunchSecurity(virQEMUCaps *qem= uCaps, } =20 =20 +void +virQEMUCapsFillDomainDeviceNetCaps(virQEMUCaps *qemuCaps, + virDomainCapsDeviceNet *net) +{ + net->supported =3D VIR_TRISTATE_BOOL_YES; + net->backendType.report =3D true; + + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NETDEV_USER)) + VIR_DOMAIN_CAPS_ENUM_SET(net->backendType, VIR_DOMAIN_NET_BACKEND_= DEFAULT); + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_NETDEV_STREAM)) + VIR_DOMAIN_CAPS_ENUM_SET(net->backendType, VIR_DOMAIN_NET_BACKEND_= PASST); +} + + /** * virQEMUCapsSupportsGICVersion: * @qemuCaps: QEMU capabilities @@ -6707,6 +6721,7 @@ virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps, virDomainCapsMemoryBacking *memoryBacking =3D &domCaps->memoryBacking; virDomainCapsDeviceCrypto *crypto =3D &domCaps->crypto; virDomainCapsLaunchSecurity *launchSecurity =3D &domCaps->launchSecuri= ty; + virDomainCapsDeviceNet *net =3D &domCaps->net; =20 virQEMUCapsFillDomainFeaturesFromQEMUCaps(qemuCaps, domCaps); =20 @@ -6747,6 +6762,7 @@ virQEMUCapsFillDomainCaps(virQEMUCaps *qemuCaps, virQEMUCapsFillDomainFeatureHypervCaps(qemuCaps, domCaps); virQEMUCapsFillDomainDeviceCryptoCaps(qemuCaps, crypto); virQEMUCapsFillDomainLaunchSecurity(qemuCaps, launchSecurity); + virQEMUCapsFillDomainDeviceNetCaps(qemuCaps, net); =20 return 0; } diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index d3d4e24e58..c65ba7d138 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -871,6 +871,9 @@ void virQEMUCapsFillDomainDeviceCryptoCaps(virQEMUCaps = *qemuCaps, void virQEMUCapsFillDomainLaunchSecurity(virQEMUCaps *qemuCaps, virDomainCapsLaunchSecurity *laun= chSecurity); =20 +void virQEMUCapsFillDomainDeviceNetCaps(virQEMUCaps *qemuCaps, + virDomainCapsDeviceNet *net); + bool virQEMUCapsGuestIsNative(virArch host, virArch guest); =20 diff --git a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_4.2.0-q35.x86_64.xml index 1c980d76a3..e5ffe3934d 100644 --- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml @@ -309,6 +309,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_4.2.0-tcg.x86_64.xml index 06e6fb63be..a849e8f156 100644 --- a/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-tcg.x86_64.xml @@ -254,6 +254,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_4.2.0-virt.aarch64.xml index acf69bdad5..a7c2e0baee 100644 --- a/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.2.0-virt.aarch64.xml @@ -182,6 +182,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml b/tests/domaincaps= data/qemu_4.2.0.aarch64.xml index acf69bdad5..a7c2e0baee 100644 --- a/tests/domaincapsdata/qemu_4.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.aarch64.xml @@ -182,6 +182,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml b/tests/domaincapsda= ta/qemu_4.2.0.ppc64.xml index 338bcf19d0..2c41777e73 100644 --- a/tests/domaincapsdata/qemu_4.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.ppc64.xml @@ -154,6 +154,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_4.2.0.s390x.xml b/tests/domaincapsda= ta/qemu_4.2.0.s390x.xml index a2268fb51c..809ce9c903 100644 --- a/tests/domaincapsdata/qemu_4.2.0.s390x.xml +++ b/tests/domaincapsdata/qemu_4.2.0.s390x.xml @@ -259,6 +259,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml b/tests/domaincapsd= ata/qemu_4.2.0.x86_64.xml index 0e52e26b02..32ba46ebbc 100644 --- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml @@ -309,6 +309,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_5.0.0-q35.x86_64.xml index ba74b7154e..70bd7bc46e 100644 --- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml @@ -311,6 +311,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg-virt.riscv64.xml b/tests/d= omaincapsdata/qemu_5.0.0-tcg-virt.riscv64.xml index 73e2fdd579..c487d467ef 100644 --- a/tests/domaincapsdata/qemu_5.0.0-tcg-virt.riscv64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-tcg-virt.riscv64.xml @@ -139,6 +139,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_5.0.0-tcg.x86_64.xml index 278f775d76..d69ea76a78 100644 --- a/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-tcg.x86_64.xml @@ -256,6 +256,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_5.0.0-virt.aarch64.xml index 02a76955b7..2466dda755 100644 --- a/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-virt.aarch64.xml @@ -195,6 +195,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.0.0-virt.riscv64.xml b/tests/domai= ncapsdata/qemu_5.0.0-virt.riscv64.xml index f9a7d8bca2..b0e4aafcd5 100644 --- a/tests/domaincapsdata/qemu_5.0.0-virt.riscv64.xml +++ b/tests/domaincapsdata/qemu_5.0.0-virt.riscv64.xml @@ -142,6 +142,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml b/tests/domaincaps= data/qemu_5.0.0.aarch64.xml index 02a76955b7..2466dda755 100644 --- a/tests/domaincapsdata/qemu_5.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.aarch64.xml @@ -195,6 +195,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml b/tests/domaincapsda= ta/qemu_5.0.0.ppc64.xml index e887156a91..c66d0645fc 100644 --- a/tests/domaincapsdata/qemu_5.0.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.ppc64.xml @@ -161,6 +161,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml b/tests/domaincapsd= ata/qemu_5.0.0.x86_64.xml index 63592148f0..c57d4f3283 100644 --- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml @@ -311,6 +311,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_5.1.0-q35.x86_64.xml index d89060b5c8..f276f0b735 100644 --- a/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-q35.x86_64.xml @@ -243,6 +243,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_5.1.0-tcg.x86_64.xml index 2357129cde..eea710a054 100644 --- a/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0-tcg.x86_64.xml @@ -256,6 +256,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.1.0.sparc.xml b/tests/domaincapsda= ta/qemu_5.1.0.sparc.xml index b9a95310ef..a471a937d7 100644 --- a/tests/domaincapsdata/qemu_5.1.0.sparc.xml +++ b/tests/domaincapsdata/qemu_5.1.0.sparc.xml @@ -125,6 +125,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml b/tests/domaincapsd= ata/qemu_5.1.0.x86_64.xml index 469c515146..56e30cc302 100644 --- a/tests/domaincapsdata/qemu_5.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.1.0.x86_64.xml @@ -243,6 +243,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_5.2.0-q35.x86_64.xml index 2ce499bf08..351bfa2e8d 100644 --- a/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-q35.x86_64.xml @@ -243,6 +243,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml b/tests/d= omaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml index 73e2fdd579..c487d467ef 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg-virt.riscv64.xml @@ -139,6 +139,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_5.2.0-tcg.x86_64.xml index 7b62239682..bcd5c59a65 100644 --- a/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-tcg.x86_64.xml @@ -256,6 +256,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_5.2.0-virt.aarch64.xml index 2b83eeed6e..b891ba256d 100644 --- a/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-virt.aarch64.xml @@ -195,6 +195,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml b/tests/domai= ncapsdata/qemu_5.2.0-virt.riscv64.xml index f9a7d8bca2..b0e4aafcd5 100644 --- a/tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml +++ b/tests/domaincapsdata/qemu_5.2.0-virt.riscv64.xml @@ -142,6 +142,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.2.0.aarch64.xml b/tests/domaincaps= data/qemu_5.2.0.aarch64.xml index 2b83eeed6e..b891ba256d 100644 --- a/tests/domaincapsdata/qemu_5.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.aarch64.xml @@ -195,6 +195,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.2.0.ppc64.xml b/tests/domaincapsda= ta/qemu_5.2.0.ppc64.xml index 2ed2512dde..5f2ace6d06 100644 --- a/tests/domaincapsdata/qemu_5.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.ppc64.xml @@ -161,6 +161,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.2.0.s390x.xml b/tests/domaincapsda= ta/qemu_5.2.0.s390x.xml index a865b639fc..54abab3dfe 100644 --- a/tests/domaincapsdata/qemu_5.2.0.s390x.xml +++ b/tests/domaincapsdata/qemu_5.2.0.s390x.xml @@ -261,6 +261,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml b/tests/domaincapsd= ata/qemu_5.2.0.x86_64.xml index e8e7517c1b..51b627ff94 100644 --- a/tests/domaincapsdata/qemu_5.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_5.2.0.x86_64.xml @@ -243,6 +243,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_6.0.0-q35.x86_64.xml index ed2511d138..2a11dd59f1 100644 --- a/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-q35.x86_64.xml @@ -245,6 +245,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_6.0.0-tcg.x86_64.xml index b4c9092996..3bb9713fdc 100644 --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml @@ -259,6 +259,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_6.0.0-virt.aarch64.xml index a9a56ee54b..b59ee83fec 100644 --- a/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-virt.aarch64.xml @@ -197,6 +197,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.0.0.aarch64.xml b/tests/domaincaps= data/qemu_6.0.0.aarch64.xml index a9a56ee54b..b59ee83fec 100644 --- a/tests/domaincapsdata/qemu_6.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.aarch64.xml @@ -197,6 +197,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.0.0.s390x.xml b/tests/domaincapsda= ta/qemu_6.0.0.s390x.xml index d4fdef3791..8fcc4f029b 100644 --- a/tests/domaincapsdata/qemu_6.0.0.s390x.xml +++ b/tests/domaincapsdata/qemu_6.0.0.s390x.xml @@ -262,6 +262,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml b/tests/domaincapsd= ata/qemu_6.0.0.x86_64.xml index 557c22a67e..a84d9eb413 100644 --- a/tests/domaincapsdata/qemu_6.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0.x86_64.xml @@ -245,6 +245,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_6.1.0-q35.x86_64.xml index 93491bb02c..a6f36a559b 100644 --- a/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-q35.x86_64.xml @@ -246,6 +246,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_6.1.0-tcg.x86_64.xml index 2cefc2d4a8..f5d11718f4 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -259,6 +259,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml b/tests/domaincapsd= ata/qemu_6.1.0.x86_64.xml index 6d280d64cc..f19843a986 100644 --- a/tests/domaincapsdata/qemu_6.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0.x86_64.xml @@ -246,6 +246,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_6.2.0-q35.x86_64.xml index 7af1069fd2..2b206401c9 100644 --- a/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-q35.x86_64.xml @@ -246,6 +246,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_6.2.0-tcg.x86_64.xml index e920c6667d..c934608d6a 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -261,6 +261,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_6.2.0-virt.aarch64.xml index 09c7af62db..f96e5a9328 100644 --- a/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-virt.aarch64.xml @@ -204,6 +204,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.2.0.aarch64.xml b/tests/domaincaps= data/qemu_6.2.0.aarch64.xml index 09c7af62db..f96e5a9328 100644 --- a/tests/domaincapsdata/qemu_6.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.aarch64.xml @@ -204,6 +204,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.2.0.ppc64.xml b/tests/domaincapsda= ta/qemu_6.2.0.ppc64.xml index f2cf750633..006db121e8 100644 --- a/tests/domaincapsdata/qemu_6.2.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.ppc64.xml @@ -160,6 +160,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml b/tests/domaincapsd= ata/qemu_6.2.0.x86_64.xml index a407ddc003..dfe53d43f0 100644 --- a/tests/domaincapsdata/qemu_6.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0.x86_64.xml @@ -246,6 +246,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml b/tests/do= maincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml index 9c7b63fd5c..8f491520db 100644 --- a/tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml +++ b/tests/domaincapsdata/qemu_7.0.0-hvf.aarch64+hvf.xml @@ -162,6 +162,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_7.0.0-q35.x86_64.xml index b48e443345..fc9643c39a 100644 --- a/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-q35.x86_64.xml @@ -247,6 +247,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_7.0.0-tcg.x86_64.xml index ec4469f040..e4b25e7e66 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -262,6 +262,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_7.0.0-virt.aarch64.xml index 4d047b1023..8a43e8caf0 100644 --- a/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-virt.aarch64.xml @@ -203,6 +203,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_7.0.0.aarch64.xml b/tests/domaincaps= data/qemu_7.0.0.aarch64.xml index 4d047b1023..8a43e8caf0 100644 --- a/tests/domaincapsdata/qemu_7.0.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.aarch64.xml @@ -203,6 +203,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_7.0.0.ppc64.xml b/tests/domaincapsda= ta/qemu_7.0.0.ppc64.xml index 6385402bbc..8fbf03bc19 100644 --- a/tests/domaincapsdata/qemu_7.0.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.ppc64.xml @@ -165,6 +165,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml b/tests/domaincapsd= ata/qemu_7.0.0.x86_64.xml index 02c781b474..51971bb808 100644 --- a/tests/domaincapsdata/qemu_7.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0.x86_64.xml @@ -247,6 +247,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_7.1.0-q35.x86_64.xml index 1964de831c..6ed09e8951 100644 --- a/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-q35.x86_64.xml @@ -246,6 +246,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_7.1.0-tcg.x86_64.xml index a330d9f763..e3527d2907 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -260,6 +260,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_7.1.0.ppc64.xml b/tests/domaincapsda= ta/qemu_7.1.0.ppc64.xml index 82f8788c19..377dc5ea8d 100644 --- a/tests/domaincapsdata/qemu_7.1.0.ppc64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.ppc64.xml @@ -158,6 +158,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml b/tests/domaincapsd= ata/qemu_7.1.0.x86_64.xml index f236ae514e..c96c6e50fe 100644 --- a/tests/domaincapsdata/qemu_7.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0.x86_64.xml @@ -246,6 +246,11 @@ builtin + + + default + + diff --git a/tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml b/tests/dom= aincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml index 6faacb8c31..b08beb48ca 100644 --- a/tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml +++ b/tests/domaincapsdata/qemu_7.2.0-hvf.x86_64+hvf.xml @@ -169,6 +169,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_7.2.0-q35.x86_64.xml index 16a6675d33..4ca6e7b77d 100644 --- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml @@ -252,6 +252,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml b/tests/dom= aincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml index e2e905dcae..01c35cecfa 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64+hvf.xml @@ -250,6 +250,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_7.2.0-tcg.x86_64.xml index e2e905dcae..01c35cecfa 100644 --- a/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0-tcg.x86_64.xml @@ -250,6 +250,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_7.2.0.ppc.xml b/tests/domaincapsdata= /qemu_7.2.0.ppc.xml index 8cd76c0f8e..ce09a839bd 100644 --- a/tests/domaincapsdata/qemu_7.2.0.ppc.xml +++ b/tests/domaincapsdata/qemu_7.2.0.ppc.xml @@ -144,6 +144,12 @@ builtin + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml b/tests/domaincapsd= ata/qemu_7.2.0.x86_64.xml index dd67bb518e..9ee0c2827d 100644 --- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml @@ -252,6 +252,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_8.0.0-q35.x86_64.xml index becea145dc..8eda04948f 100644 --- a/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-q35.x86_64.xml @@ -253,6 +253,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml b/tests/d= omaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml index 73b3ebe5b5..e4bb90c929 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg-virt.riscv64.xml @@ -145,6 +145,12 @@ builtin + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_8.0.0-tcg.x86_64.xml index eb3578eafa..c2d537b520 100644 --- a/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-tcg.x86_64.xml @@ -255,6 +255,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml b/tests/domai= ncapsdata/qemu_8.0.0-virt.riscv64.xml index a24371324a..265274aa65 100644 --- a/tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml +++ b/tests/domaincapsdata/qemu_8.0.0-virt.riscv64.xml @@ -148,6 +148,12 @@ builtin + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml b/tests/domaincapsd= ata/qemu_8.0.0.x86_64.xml index 9e167f67d3..7167406453 100644 --- a/tests/domaincapsdata/qemu_8.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.0.0.x86_64.xml @@ -253,6 +253,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_8.1.0-q35.x86_64.xml index 967a5f3096..6496cce45d 100644 --- a/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-q35.x86_64.xml @@ -255,6 +255,12 @@ builtin + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_8.1.0-tcg.x86_64.xml index 3446699d30..3a1070a2c3 100644 --- a/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0-tcg.x86_64.xml @@ -256,6 +256,12 @@ builtin + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.1.0.s390x.xml b/tests/domaincapsda= ta/qemu_8.1.0.s390x.xml index e909ffd420..8cc9470a6a 100644 --- a/tests/domaincapsdata/qemu_8.1.0.s390x.xml +++ b/tests/domaincapsdata/qemu_8.1.0.s390x.xml @@ -257,6 +257,12 @@ builtin + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml b/tests/domaincapsd= ata/qemu_8.1.0.x86_64.xml index db95884956..0e6063501c 100644 --- a/tests/domaincapsdata/qemu_8.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.1.0.x86_64.xml @@ -255,6 +255,12 @@ builtin + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_8.2.0-q35.x86_64.xml index 419423ee42..ab8993c6e3 100644 --- a/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-q35.x86_64.xml @@ -257,6 +257,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml b/tes= ts/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml index 734a30e29e..5de7729136 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg-virt.loongarch64.xml @@ -151,6 +151,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_8.2.0-tcg.x86_64.xml index e14b4e9599..2b48d78696 100644 --- a/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-tcg.x86_64.xml @@ -256,6 +256,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml b/tests/domai= ncapsdata/qemu_8.2.0-virt.aarch64.xml index 2df617ebf3..c09e287ea3 100644 --- a/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-virt.aarch64.xml @@ -209,6 +209,12 @@ builtin + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml b/tests/d= omaincapsdata/qemu_8.2.0-virt.loongarch64.xml index 330bd919ce..dcd4495e7d 100644 --- a/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml +++ b/tests/domaincapsdata/qemu_8.2.0-virt.loongarch64.xml @@ -155,6 +155,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.2.0.aarch64.xml b/tests/domaincaps= data/qemu_8.2.0.aarch64.xml index 2df617ebf3..c09e287ea3 100644 --- a/tests/domaincapsdata/qemu_8.2.0.aarch64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.aarch64.xml @@ -209,6 +209,12 @@ builtin + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.2.0.armv7l.xml b/tests/domaincapsd= ata/qemu_8.2.0.armv7l.xml index ed8b2a3bea..7a161e5586 100644 --- a/tests/domaincapsdata/qemu_8.2.0.armv7l.xml +++ b/tests/domaincapsdata/qemu_8.2.0.armv7l.xml @@ -161,6 +161,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.2.0.s390x.xml b/tests/domaincapsda= ta/qemu_8.2.0.s390x.xml index 6897395eef..23e7125dd9 100644 --- a/tests/domaincapsdata/qemu_8.2.0.s390x.xml +++ b/tests/domaincapsdata/qemu_8.2.0.s390x.xml @@ -257,6 +257,12 @@ builtin + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml b/tests/domaincapsd= ata/qemu_8.2.0.x86_64.xml index f4d42ea088..b72369a737 100644 --- a/tests/domaincapsdata/qemu_8.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_8.2.0.x86_64.xml @@ -257,6 +257,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_9.0.0-q35.x86_64.xml index eb555932ce..053a985456 100644 --- a/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.0.0-q35.x86_64.xml @@ -257,6 +257,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_9.0.0-tcg.x86_64.xml index 597d184f12..3b5ce54f1a 100644 --- a/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.0.0-tcg.x86_64.xml @@ -258,6 +258,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml b/tests/domaincapsd= ata/qemu_9.0.0.x86_64.xml index b06271a846..ea54504b47 100644 --- a/tests/domaincapsdata/qemu_9.0.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.0.0.x86_64.xml @@ -257,6 +257,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml b/tests/domainc= apsdata/qemu_9.1.0-q35.x86_64.xml index 0ce734d104..eb84b3eb9f 100644 --- a/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.1.0-q35.x86_64.xml @@ -258,6 +258,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml b/tests/domainc= apsdata/qemu_9.1.0-tcg.x86_64.xml index a41fc21328..60621e9bdc 100644 --- a/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.1.0-tcg.x86_64.xml @@ -257,6 +257,12 @@ lkcf + + + default + passt + + diff --git a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml b/tests/domaincapsd= ata/qemu_9.1.0.x86_64.xml index bc6bf6bf95..9a9ae4c276 100644 --- a/tests/domaincapsdata/qemu_9.1.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_9.1.0.x86_64.xml @@ -258,6 +258,12 @@ lkcf + + + default + passt + + --=20 2.44.2 From nobody Mon Sep 16 19:12:43 2024 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=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1719580594457160.62482602055093; Fri, 28 Jun 2024 06:16:34 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 64012149D; Fri, 28 Jun 2024 09:16:33 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id BA94213F3; Fri, 28 Jun 2024 09:13:14 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id D9DDA1270; Fri, 28 Jun 2024 09:13:09 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 43B561270 for ; Fri, 28 Jun 2024 09:12:50 -0400 (EDT) Received: from mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-391-FgxvSimoMg6GECxIy8bCKA-1; Fri, 28 Jun 2024 09:12:48 -0400 Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 866A719560B6 for ; Fri, 28 Jun 2024 13:12:47 +0000 (UTC) Received: from maggie.brq.redhat.com (unknown [10.43.3.102]) by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id B6DD919560A3 for ; Fri, 28 Jun 2024 13:12:46 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1719580369; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XWfIJ3oRKOi6xgY/b0Va/xl32S8hV2+3IofyjyYIWkk=; b=Ybf/hbHmmuSUNuSl72sOwhS+xZCSeT3flXEC1eKubkKzr5iKxHkTHrZfRW/dV0biCk3Nb+ OfcfL9utvRTNfx6vaKuCpFC0sy+/570L+jK+X8cDy0AIDwRawoJ+qYyPniszFEwPhIG2JH JhSo/FjRL+HNEkQllvQU6ISOeqPp80I= X-MC-Unique: FgxvSimoMg6GECxIy8bCKA-1 From: Michal Privoznik To: devel@lists.libvirt.org Subject: [PATCH 6/8] conf: Accept 'default' backend type for Date: Fri, 28 Jun 2024 15:12:35 +0200 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 4S76SHO7HGO5LY5CBSUQM3VKQCED54ZF X-Message-ID-Hash: 4S76SHO7HGO5LY5CBSUQM3VKQCED54ZF X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1719580595807100001 Content-Type: text/plain; charset="utf-8"; x-default="true" After previous commits, domain capabilities XML reports basically two possible values for backend type: 'default' and 'passt'. Despite its misleading name, 'default' really means 'use hypervisor's builtin SLIRP'. Since it's reported in domain capabilities as a value accepted, make our parser and XML schema accept it. Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/conf/domain_conf.c | 5 ++++- src/conf/schemas/domaincommon.rng | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index cb1154b23f..334152c4ff 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -9320,8 +9320,11 @@ virDomainNetBackendParseXML(xmlNodePtr node, g_autofree char *tap =3D virXMLPropString(node, "tap"); g_autofree char *vhost =3D virXMLPropString(node, "vhost"); =20 + /* The VIR_DOMAIN_NET_BACKEND_DEFAULT really means 'use hypervisor's + * builtin SLIRP'. It's reported in domain caps and thus we need to ac= cept + * it. Hence VIR_XML_PROP_NONE instead of VIR_XML_PROP_NONZERO. */ if (virXMLPropEnum(node, "type", virDomainNetBackendTypeFromString, - VIR_XML_PROP_NONZERO, &def->backend.type) < 0) { + VIR_XML_PROP_NONE, &def->backend.type) < 0) { return -1; } =20 diff --git a/src/conf/schemas/domaincommon.rng b/src/conf/schemas/domaincom= mon.rng index 844a931deb..33e34255f4 100644 --- a/src/conf/schemas/domaincommon.rng +++ b/src/conf/schemas/domaincommon.rng @@ -3826,6 +3826,7 @@ + default passt --=20 2.44.2 From nobody Mon Sep 16 19:12:43 2024 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=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 17195807290021021.4376732952811; Fri, 28 Jun 2024 06:18:49 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id D20571473; Fri, 28 Jun 2024 09:18:47 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 4491013D0; Fri, 28 Jun 2024 09:13:22 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id EEBB713F6; Fri, 28 Jun 2024 09:13:14 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id A177F1397 for ; Fri, 28 Jun 2024 09:12:52 -0400 (EDT) Received: from mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-302-nCkpju0cNR2-kD02XpXA6g-1; Fri, 28 Jun 2024 09:12:49 -0400 Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-02.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 77F32195608F for ; Fri, 28 Jun 2024 13:12:48 +0000 (UTC) Received: from maggie.brq.redhat.com (unknown [10.43.3.102]) by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id C2C6719560A3 for ; Fri, 28 Jun 2024 13:12:47 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1719580372; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=DKqBX5HLjH7/jIb46Lq04dAJxtUT5gHT+FOqmdEAP+4=; b=MuHerAOX9SYIvWgvo0bGQQWH24h44wj9AgD8LCgWH8iYTgztHULj0oNj8ZRIAnvX4iVmHy kXoL+3kiguyz7JhkVXlo4xPh/v/5fyqZLxaFqntY7LLgrW9llGCNEBxJE+Z2XAiEPgTWYq BeeybmF/xyca1PouuKpXgDVmCUufzX0= X-MC-Unique: nCkpju0cNR2-kD02XpXA6g-1 From: Michal Privoznik To: devel@lists.libvirt.org Subject: [PATCH 7/8] qemu_validate: Use domaincaps to validate supported net backend type Date: Fri, 28 Jun 2024 15:12:36 +0200 Message-ID: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 7CHLOQNVLK6QPMBDOBET4LN3KOGOXZKS X-Message-ID-Hash: 7CHLOQNVLK6QPMBDOBET4LN3KOGOXZKS X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1719580730549100001 Content-Type: text/plain; charset="utf-8"; x-default="true" Now that the logic for detecting supported net backend types has been moved to domain capabilities generation, we can just use it when validating net backend type. Just like we do for device models and so on. Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/qemu/qemu_validate.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 23d642c1ce..8840306bfd 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -1705,28 +1705,18 @@ qemuValidateDomainDeviceDefNetwork(const virDomainN= etDef *net, size_t i; =20 if (net->type =3D=3D VIR_DOMAIN_NET_TYPE_USER) { - switch (net->backend.type) { - case VIR_DOMAIN_NET_BACKEND_DEFAULT: - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_NETDEV_USER)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("the '%1$s' network backend is not suppor= ted with this QEMU binary"), - virDomainNetBackendTypeToString(net->backen= d.type)); - return -1; - } - break; + virDomainCapsDeviceNet netCaps =3D { }; =20 - case VIR_DOMAIN_NET_BACKEND_PASST: - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_NETDEV_STREAM)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("the '%1$s' network backend is not suppor= ted with this QEMU binary"), - virDomainNetBackendTypeToString(net->backen= d.type)); - return -1; - } - break; + virQEMUCapsFillDomainDeviceNetCaps(qemuCaps, &netCaps); =20 - case VIR_DOMAIN_NET_BACKEND_LAST: - break; + if (!VIR_DOMAIN_CAPS_ENUM_IS_SET(netCaps.backendType, + net->backend.type)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("the '%1$s' network backend is not supported = with this QEMU binary"), + virDomainNetBackendTypeToString(net->backend.ty= pe)); + return -1; } + if (net->guestIP.nroutes) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Invalid attempt to set network interface gue= st-side IP route, not supported by QEMU")); --=20 2.44.2 From nobody Mon Sep 16 19:12:43 2024 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=fail; 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=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1719580748185972.5377536990743; Fri, 28 Jun 2024 06:19:08 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 06406126A; Fri, 28 Jun 2024 09:19:07 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 0DD6E14C0; Fri, 28 Jun 2024 09:13:24 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id BC70C14A7; Fri, 28 Jun 2024 09:13:18 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 399BA1492 for ; Fri, 28 Jun 2024 09:12:55 -0400 (EDT) Received: from mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (ec2-54-186-198-63.us-west-2.compute.amazonaws.com [54.186.198.63]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-374-1igDsBIePViKtfoULl6Z9A-1; Fri, 28 Jun 2024 09:12:50 -0400 Received: from mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com [10.30.177.40]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mx-prod-mc-05.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTPS id 845E3195608A for ; Fri, 28 Jun 2024 13:12:49 +0000 (UTC) Received: from maggie.brq.redhat.com (unknown [10.43.3.102]) by mx-prod-int-04.mail-002.prod.us-west-2.aws.redhat.com (Postfix) with ESMTP id CF8781956054 for ; Fri, 28 Jun 2024 13:12:48 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=3.4.4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1719580374; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rVsuW/i9WF0RBMTI51nHKg+UowVtsAZhT6MEyAu3WQk=; b=NswU0n0oS1mxsBS+PIsrAcrlHzuGKf+suUnbgovOUAGWRzgraqkdVhmNN6J0sPsPJLEJH9 MEVjWU4Pdm9jguOx5fvH+JGJAOhOZGF/7TI6FvacTdWl+f6y40fkaDAMbq2P0fD6qolZiy qXLu9rGNMy4v0bV9n4ZjLHdajnIC/T0= X-MC-Unique: 1igDsBIePViKtfoULl6Z9A-1 From: Michal Privoznik To: devel@lists.libvirt.org Subject: [PATCH 8/8] qemu_domain: Set 'passt' net backend if 'default' is unsupported Date: Fri, 28 Jun 2024 15:12:37 +0200 Message-ID: <9e420eaf35a271bdb6e15142288867dc84b9e610.1719580253.git.mprivozn@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.0 on 10.30.177.40 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: UJA4SN2RDB5RMOMRL2MCPRHH6TYFRZND X-Message-ID-Hash: UJA4SN2RDB5RMOMRL2MCPRHH6TYFRZND X-MailFrom: mprivozn@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1719580748482100001 Content-Type: text/plain; charset="utf-8"; x-default="true" It may happen that QEMU is compiled without SLIRP but with support for passt. In such case it is acceptable to alter user provided configuration and switch backend to passt as it offers all the features as SLIRP. Resolves: https://issues.redhat.com/browse/RHEL-45518 Signed-off-by: Michal Privoznik Reviewed-by: Peter Krempa --- src/qemu/qemu_domain.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 1a90311ca5..2134b11038 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -5975,12 +5975,25 @@ qemuDomainDeviceNetDefPostParse(virDomainNetDef *ne= t, virQEMUCaps *qemuCaps) { if (net->type =3D=3D VIR_DOMAIN_NET_TYPE_VDPA && - !virDomainNetGetModelString(net)) + !virDomainNetGetModelString(net)) { net->model =3D VIR_DOMAIN_NET_MODEL_VIRTIO; - else if (net->type !=3D VIR_DOMAIN_NET_TYPE_HOSTDEV && + } else if (net->type !=3D VIR_DOMAIN_NET_TYPE_HOSTDEV && !virDomainNetGetModelString(net) && - virDomainNetResolveActualType(net) !=3D VIR_DOMAIN_NET_TYPE_HOSTDE= V) + virDomainNetResolveActualType(net) !=3D VIR_DOMAIN_NET_TYPE_HOSTDE= V) { net->model =3D qemuDomainDefaultNetModel(def, qemuCaps); + } + + if (net->type =3D=3D VIR_DOMAIN_NET_TYPE_USER && + net->backend.type =3D=3D VIR_DOMAIN_NET_BACKEND_DEFAULT) { + virDomainCapsDeviceNet netCaps =3D { }; + + virQEMUCapsFillDomainDeviceNetCaps(qemuCaps, &netCaps); + + if (!VIR_DOMAIN_CAPS_ENUM_IS_SET(netCaps.backendType, VIR_DOMAIN_N= ET_BACKEND_DEFAULT) && + VIR_DOMAIN_CAPS_ENUM_IS_SET(netCaps.backendType, VIR_DOMAIN_NE= T_BACKEND_PASST)) { + net->backend.type =3D VIR_DOMAIN_NET_BACKEND_PASST; + } + } =20 return 0; } --=20 2.44.2