From nobody Thu May 2 12:47:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629976951; cv=none; d=zohomail.com; s=zohoarc; b=f/biIXC7+1AxXpFFJkIhm/iH0TmJbMPIu4I6boe0uBJqvFbJ1xnVnJGEzL3IlI0B9xIAkSTR+FfRTx3qxIL/n1Sr2suR2oS4EFGGxwc1gzjMxNX92DP3uCA/JIY1kvQPfFz+zi+pOJakC5/UT6bRSauIty7xlIi52OnPZ/OIN0I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629976951; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=pLSWiGTtsJHbKYSYha3k06TpbwAwpkvAHVKIb0S033k=; b=kx9wbRXZgsoPVMq0/1L3V56CF5zXJI1JAN2Q/R6ialZSmuQfuq8gEz03HqXiMay3Y+1Ko+9FJ/jka4t/k9nB0u7/2hZlWvYWMIKc0DSq159Z69Pwt117yZOyN8pA3/wT+PBultc8Z2nFvrksQmverMMdwUkqTrAb+AUdbeZiB3g= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1629976951569274.44965061944197; Thu, 26 Aug 2021 04:22:31 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-209-acJaGmMhP4SIpyOho2mQPA-1; Thu, 26 Aug 2021 07:22:29 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5E42C1082929; Thu, 26 Aug 2021 11:22:24 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 309FD5C25A; Thu, 26 Aug 2021 11:22:24 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id F21864A7CB; Thu, 26 Aug 2021 11:22:23 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17QBM0H2005548 for ; Thu, 26 Aug 2021 07:22:00 -0400 Received: by smtp.corp.redhat.com (Postfix) id 0C13819D9F; Thu, 26 Aug 2021 11:22:00 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 63FC519C59 for ; Thu, 26 Aug 2021 11:21:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629976950; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=pLSWiGTtsJHbKYSYha3k06TpbwAwpkvAHVKIb0S033k=; b=fW+M/txfaPZ91TaHON6mb/L7iYAQpdoxw3TeLkfoyfwBM864SE+h4yfXY0dSmxLJecqUrr xNzplORyNV5gKmwxZ7ygt/qH6WQ8ZilkZWDJQjAusx36/ujdT6/3LRKuajUaVIEZgRttVg qhnEjJPXkf0QeA2QxMxHlcrtSVG/LFE= X-MC-Unique: acJaGmMhP4SIpyOho2mQPA-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 1/6] api: add public virNetworkCreateXMLFlags() and remote protocol Date: Thu, 26 Aug 2021 13:21:39 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1629976952760100002 Content-Type: text/plain; charset="utf-8" This new API creates network with given flags. Signed-off-by: Kristina Hanicova Reviewed-by: J=C3=A1n Tomko --- include/libvirt/libvirt-network.h | 3 +++ src/driver-network.h | 6 +++++ src/libvirt-network.c | 41 +++++++++++++++++++++++++++++++ src/libvirt_public.syms | 5 ++++ src/remote/remote_driver.c | 1 + src/remote/remote_protocol.x | 18 +++++++++++++- src/remote_protocol-structs | 8 ++++++ 7 files changed, 81 insertions(+), 1 deletion(-) diff --git a/include/libvirt/libvirt-network.h b/include/libvirt/libvirt-ne= twork.h index 0a49c1888e..0be4d64b75 100644 --- a/include/libvirt/libvirt-network.h +++ b/include/libvirt/libvirt-network.h @@ -118,6 +118,9 @@ virNetworkPtr virNetworkLookupByUUIDString = (virConnectPtr conn, */ virNetworkPtr virNetworkCreateXML (virConnectPtr conn, const char *xmlDesc); +virNetworkPtr virNetworkCreateXMLFlags(virConnectPtr conn, + const char *xmlDesc, + unsigned int flags); =20 typedef enum { VIR_NETWORK_DEFINE_VALIDATE =3D 1 << 0, /* Validate the XML document a= gainst schema */ diff --git a/src/driver-network.h b/src/driver-network.h index d31d7c667d..99efd4c8aa 100644 --- a/src/driver-network.h +++ b/src/driver-network.h @@ -69,6 +69,11 @@ typedef virNetworkPtr (*virDrvNetworkCreateXML)(virConnectPtr conn, const char *xmlDesc); =20 +typedef virNetworkPtr +(*virDrvNetworkCreateXMLFlags)(virConnectPtr conn, + const char *xmlDesc, + unsigned int flags); + typedef virNetworkPtr (*virDrvNetworkDefineXML)(virConnectPtr conn, const char *xml); @@ -176,6 +181,7 @@ struct _virNetworkDriver { virDrvNetworkLookupByUUID networkLookupByUUID; virDrvNetworkLookupByName networkLookupByName; virDrvNetworkCreateXML networkCreateXML; + virDrvNetworkCreateXMLFlags networkCreateXMLFlags; virDrvNetworkDefineXML networkDefineXML; virDrvNetworkDefineXMLFlags networkDefineXMLFlags; virDrvNetworkUndefine networkUndefine; diff --git a/src/libvirt-network.c b/src/libvirt-network.c index 5829996301..32ade1a2aa 100644 --- a/src/libvirt-network.c +++ b/src/libvirt-network.c @@ -427,6 +427,47 @@ virNetworkCreateXML(virConnectPtr conn, const char *xm= lDesc) } =20 =20 +/** + * virNetworkCreateXMLFlags: + * @conn: pointer to the hypervisor connection + * @xmlDesc: an XML description of the network + * @flags: extra flags; not used yet, so callers should always pass 0 + * + * Create and start a new virtual network, based on an XML description + * similar to the one returned by virNetworkGetXMLDesc() + * + * virNetworkFree should be used to free the resources after the + * network object is no longer needed. + * + * Returns a new network object or NULL in case of failure + */ +virNetworkPtr +virNetworkCreateXMLFlags(virConnectPtr conn, const char *xmlDesc, unsigned= int flags) +{ + VIR_DEBUG("conn=3D%p, xmlDesc=3D%s, flags=3D0x%x", conn, NULLSTR(xmlDe= sc), flags); + + virResetLastError(); + + virCheckConnectReturn(conn, NULL); + virCheckNonNullArgGoto(xmlDesc, error); + virCheckReadOnlyGoto(conn->flags, error); + + if (conn->networkDriver && conn->networkDriver->networkCreateXMLFlags)= { + virNetworkPtr ret; + ret =3D conn->networkDriver->networkCreateXMLFlags(conn, xmlDesc, = flags); + if (!ret) + goto error; + return ret; + } + + virReportUnsupportedError(); + + error: + virDispatchError(conn); + return NULL; +} + + /** * virNetworkDefineXML: * @conn: pointer to the hypervisor connection diff --git a/src/libvirt_public.syms b/src/libvirt_public.syms index 3a5fa7cb09..a5fd889ccc 100644 --- a/src/libvirt_public.syms +++ b/src/libvirt_public.syms @@ -902,4 +902,9 @@ LIBVIRT_7.7.0 { virNetworkDefineXMLFlags; } LIBVIRT_7.3.0; =20 +LIBVIRT_7.8.0 { + global: + virNetworkCreateXMLFlags; +} LIBVIRT_7.7.0; + # .... define new API here using predicted next version number .... diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index b64a86af63..9bb796db01 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -8552,6 +8552,7 @@ static virNetworkDriver network_driver =3D { .networkLookupByUUID =3D remoteNetworkLookupByUUID, /* 0.3.0 */ .networkLookupByName =3D remoteNetworkLookupByName, /* 0.3.0 */ .networkCreateXML =3D remoteNetworkCreateXML, /* 0.3.0 */ + .networkCreateXMLFlags =3D remoteNetworkCreateXMLFlags, /* 7.8.0 */ .networkDefineXML =3D remoteNetworkDefineXML, /* 0.3.0 */ .networkDefineXMLFlags =3D remoteNetworkDefineXMLFlags, /* 7.7.0 */ .networkUndefine =3D remoteNetworkUndefine, /* 0.3.0 */ diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x index df1b126b0c..42a1714afb 100644 --- a/src/remote/remote_protocol.x +++ b/src/remote/remote_protocol.x @@ -1530,6 +1530,15 @@ struct remote_network_create_xml_ret { remote_nonnull_network net; }; =20 +struct remote_network_create_xml_flags_args { + remote_nonnull_string xml; + unsigned int flags; +}; + +struct remote_network_create_xml_flags_ret { + remote_nonnull_network net; +}; + struct remote_network_define_xml_args { remote_nonnull_string xml; }; @@ -6818,5 +6827,12 @@ enum remote_procedure { * @acl: network:write * @acl: network:save */ - REMOTE_PROC_NETWORK_DEFINE_XML_FLAGS =3D 432 + REMOTE_PROC_NETWORK_DEFINE_XML_FLAGS =3D 432, + + /** + * @generate: both + * @acl: network:write + * @acl: network:start + */ + REMOTE_PROC_NETWORK_CREATE_XML_FLAGS =3D 433 }; diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs index dad83361fa..100cdbc6b7 100644 --- a/src/remote_protocol-structs +++ b/src/remote_protocol-structs @@ -1098,6 +1098,13 @@ struct remote_network_create_xml_args { struct remote_network_create_xml_ret { remote_nonnull_network net; }; +struct remote_network_create_xml_flags_args { + remote_nonnull_string xml; + u_int flags; +}; +struct remote_network_create_xml_flags_ret { + remote_nonnull_network net; +}; struct remote_network_define_xml_args { remote_nonnull_string xml; }; @@ -3639,4 +3646,5 @@ enum remote_procedure { REMOTE_PROC_NODE_DEVICE_CREATE =3D 430, REMOTE_PROC_NWFILTER_DEFINE_XML_FLAGS =3D 431, REMOTE_PROC_NETWORK_DEFINE_XML_FLAGS =3D 432, + REMOTE_PROC_NETWORK_CREATE_XML_FLAGS =3D 433, }; --=20 2.31.1 From nobody Thu May 2 12:47:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629976955; cv=none; d=zohomail.com; s=zohoarc; b=Fz2L7Mte0XY8EJ7JcALmDAeZq/+Ce7f2QhnLMsiBs4kIjPS9LSEaCd5cw+CnoZS+sVGGe7nq8pddCQe/txxVzYrw70fazNAvXEpEhYdvfT9ag5Cwm+mktFsKf7sFlD/VQYx7i3j01QH9ZIZonxd3HWmCGccgURe/qXTb2oWW6J0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629976955; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=SYu0UEPuWnbtPVT8HS53WzPhnn+bHMUX2PLPqs5SNx8=; b=G6emmNys5Z7/e97+6srVtjDejWoRFZPyB6ApP+3Hr134ODQK52qm9I1M1q5c3TsEcw4ck8a9eQvSzIcvSNqRS+/Z9ImKOsacTFkWfD6iP8ogGTM1ZvvB0TjXMSII7s/mRmV191P2uC55w1bwZckL34ui1ZSSWW6wWlYdwudi23o= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1629976955112108.1955973869891; Thu, 26 Aug 2021 04:22:35 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-78-jO7d8l9-OdqX52upJQDDWQ-1; Thu, 26 Aug 2021 07:22:32 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 4042D8799EB; Thu, 26 Aug 2021 11:22:27 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 26D572B4D8; Thu, 26 Aug 2021 11:22:27 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id EC90A181A2A6; Thu, 26 Aug 2021 11:22:26 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17QBM0wJ005555 for ; Thu, 26 Aug 2021 07:22:00 -0400 Received: by smtp.corp.redhat.com (Postfix) id D038D19C59; Thu, 26 Aug 2021 11:22:00 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5A0DB28556 for ; Thu, 26 Aug 2021 11:22:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629976954; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=SYu0UEPuWnbtPVT8HS53WzPhnn+bHMUX2PLPqs5SNx8=; b=YJK4MaZvrsgTUnABc1TcBbGaM4N6DOzjU1r+CQ6k2iG+ZsISvZSgFEBe8TxXVXMm5E1mCo 7t08qAm/SNKaNEiTKsCZxKYEmAocWEHtrX3JYsPvp8rlmiIzaiRM3z65+b8lENuAf1CN1P CjaMqEET4A8PwA04NuJP05xjL/0/eXA= X-MC-Unique: jO7d8l9-OdqX52upJQDDWQ-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 2/6] src: add driver support for networkCreateXMLFlags() Date: Thu, 26 Aug 2021 13:21:40 +0200 Message-Id: <8cea17f6ea4978a29c13a448a650056f62388bbb.1629976821.git.khanicov@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1629976956909100001 Content-Type: text/plain; charset="utf-8" I added new driver functions to handle creating network with given flags. I also replaced definitions of the functions without flags with function calls to the new ones. Signed-off-by: Kristina Hanicova Reviewed-by: J=C3=A1n Tomko --- src/network/bridge_driver.c | 18 +++++++++++++++--- src/test/test_driver.c | 13 ++++++++++++- src/vbox/vbox_network.c | 7 +++++++ 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index e8b9ffa1fc..32b37de030 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -3464,8 +3464,9 @@ networkValidate(virNetworkDriverState *driver, =20 =20 static virNetworkPtr -networkCreateXML(virConnectPtr conn, - const char *xml) +networkCreateXMLFlags(virConnectPtr conn, + const char *xml, + unsigned int flags) { virNetworkDriverState *driver =3D networkGetDriver(); virNetworkDef *newDef; @@ -3474,10 +3475,12 @@ networkCreateXML(virConnectPtr conn, virNetworkPtr net =3D NULL; virObjectEvent *event =3D NULL; =20 + virCheckFlags(0, NULL); + if (!(newDef =3D virNetworkDefParseString(xml, network_driver->xmlopt,= 0))) goto cleanup; =20 - if (virNetworkCreateXMLEnsureACL(conn, newDef) < 0) + if (virNetworkCreateXMLFlagsEnsureACL(conn, newDef) < 0) goto cleanup; =20 if (networkValidate(driver, newDef) < 0) @@ -3515,6 +3518,14 @@ networkCreateXML(virConnectPtr conn, } =20 =20 +static virNetworkPtr +networkCreateXML(virConnectPtr conn, + const char *xml) +{ + return networkCreateXMLFlags(conn, xml, 0); +} + + static virNetworkPtr networkDefineXMLFlags(virConnectPtr conn, const char *xml, @@ -5628,6 +5639,7 @@ static virNetworkDriver networkDriver =3D { .networkLookupByUUID =3D networkLookupByUUID, /* 0.2.0 */ .networkLookupByName =3D networkLookupByName, /* 0.2.0 */ .networkCreateXML =3D networkCreateXML, /* 0.2.0 */ + .networkCreateXMLFlags =3D networkCreateXMLFlags, /* 7.8.0 */ .networkDefineXML =3D networkDefineXML, /* 0.2.0 */ .networkDefineXMLFlags =3D networkDefineXMLFlags, /* 7.7.0 */ .networkUndefine =3D networkUndefine, /* 0.2.0 */ diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 2f19b7c520..4ab03019e1 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -5572,7 +5572,8 @@ testNetworkIsPersistent(virNetworkPtr net) =20 =20 static virNetworkPtr -testNetworkCreateXML(virConnectPtr conn, const char *xml) +testNetworkCreateXMLFlags(virConnectPtr conn, const char *xml, + unsigned int flags) { testDriver *privconn =3D conn->privateData; virNetworkDef *newDef; @@ -5581,6 +5582,8 @@ testNetworkCreateXML(virConnectPtr conn, const char *= xml) virNetworkPtr net =3D NULL; virObjectEvent *event =3D NULL; =20 + virCheckFlags(0, NULL); + if ((newDef =3D virNetworkDefParseString(xml, NULL, 0)) =3D=3D NULL) goto cleanup; =20 @@ -5606,6 +5609,13 @@ testNetworkCreateXML(virConnectPtr conn, const char = *xml) } =20 =20 +static virNetworkPtr +testNetworkCreateXML(virConnectPtr conn, const char *xml) +{ + return testNetworkCreateXMLFlags(conn, xml, 0); +} + + static virNetworkPtr testNetworkDefineXMLFlags(virConnectPtr conn, const char *xml, @@ -9722,6 +9732,7 @@ static virNetworkDriver testNetworkDriver =3D { .networkLookupByUUID =3D testNetworkLookupByUUID, /* 0.3.2 */ .networkLookupByName =3D testNetworkLookupByName, /* 0.3.2 */ .networkCreateXML =3D testNetworkCreateXML, /* 0.3.2 */ + .networkCreateXMLFlags =3D testNetworkCreateXMLFlags, /* 7.8.0 */ .networkDefineXML =3D testNetworkDefineXML, /* 0.3.2 */ .networkDefineXMLFlags =3D testNetworkDefineXMLFlags, /* 7.7.0 */ .networkUndefine =3D testNetworkUndefine, /* 0.3.2 */ diff --git a/src/vbox/vbox_network.c b/src/vbox/vbox_network.c index c554b052c9..2826937f81 100644 --- a/src/vbox/vbox_network.c +++ b/src/vbox/vbox_network.c @@ -560,6 +560,12 @@ static virNetworkPtr vboxNetworkCreateXML(virConnectPt= r conn, const char *xml) return vboxNetworkDefineCreateXML(conn, xml, true, 0); } =20 +static virNetworkPtr vboxNetworkCreateXMLFlags(virConnectPtr conn, const c= har *xml, + unsigned int flags) +{ + return vboxNetworkDefineCreateXML(conn, xml, true, flags); +} + static virNetworkPtr vboxNetworkDefineXML(virConnectPtr conn, const char *= xml) { return vboxNetworkDefineCreateXML(conn, xml, false, 0); @@ -929,6 +935,7 @@ virNetworkDriver vboxNetworkDriver =3D { .networkLookupByUUID =3D vboxNetworkLookupByUUID, /* 0.6.4 */ .networkLookupByName =3D vboxNetworkLookupByName, /* 0.6.4 */ .networkCreateXML =3D vboxNetworkCreateXML, /* 0.6.4 */ + .networkCreateXMLFlags =3D vboxNetworkCreateXMLFlags, /* 7.8.0 */ .networkDefineXML =3D vboxNetworkDefineXML, /* 0.6.4 */ .networkDefineXMLFlags =3D vboxNetworkDefineXMLFlags, /* 7.7.0 */ .networkUndefine =3D vboxNetworkUndefine, /* 0.6.4 */ --=20 2.31.1 From nobody Thu May 2 12:47:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629976935; cv=none; d=zohomail.com; s=zohoarc; b=OZ/4DJ4BVW4J8RZcej2mK/g3YfDE9H7a7J5+a/c0Yh08XI+3SZQLscf+495ApmKZb5l3/ScTIQsHAZGTbO07qHtvRaMh35B9mDQ3kVbFVfdXSmsom6P+IbPUhjZpIgJBmGYOro3TNjmK6xd4psgx0cpf6aS3gn6YECS7dBzdSSc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629976935; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=0WdplVH+JkdJt33IanYalD2jlOBPimdiSSk4H16cWY4=; b=c6hE1J95SlDp8KNCErCseVth9mGU32yqnM1mhhbo8mfIXVqFtQ1E6oH11qkzV9Rwk0YUND/QbR/X69PaJMWKndWep+AwNCL9WyeioqTqUpNKn6XnuS/djE6itci72iXb8J4TDkN0gLiqphFxf25ITkDtLRmvjdcNjVJbXTqY03Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1629976935077460.5629473580494; Thu, 26 Aug 2021 04:22:15 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-575-xl2S-93mO9GdAu8wN_-eQQ-1; Thu, 26 Aug 2021 07:22:11 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id ED13F1082929; Thu, 26 Aug 2021 11:22:06 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F17685C1D5; Thu, 26 Aug 2021 11:22:05 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 2A953181A0F7; Thu, 26 Aug 2021 11:22:03 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17QBM1lw005565 for ; Thu, 26 Aug 2021 07:22:01 -0400 Received: by smtp.corp.redhat.com (Postfix) id A097019D9F; Thu, 26 Aug 2021 11:22:01 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 29B3519C59 for ; Thu, 26 Aug 2021 11:22:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629976933; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=0WdplVH+JkdJt33IanYalD2jlOBPimdiSSk4H16cWY4=; b=HDprMemHmybaLhJT01OTaW5v6rMTrW4RG37Bt/Djsy9pD6VLop84L2y4CRoUFFRYdSdn4r HaSHoH5+i76BU/gxmGCEU96OCsbM/CMJ3nJPneh2A6j6ymp+Q3QvMhLrO0sebnBa+C6Ur8 XeUmZ2CkCARvIZZFa4Rl2cCeDGcxUik= X-MC-Unique: xl2S-93mO9GdAu8wN_-eQQ-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 3/6] api: add virNetworkCreateFlags Date: Thu, 26 Aug 2021 13:21:41 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1629976936839100004 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kristina Hanicova Reviewed-by: J=C3=A1n Tomko --- include/libvirt/libvirt-network.h | 4 ++++ src/libvirt-network.c | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/include/libvirt/libvirt-network.h b/include/libvirt/libvirt-ne= twork.h index 0be4d64b75..d8eaf83d93 100644 --- a/include/libvirt/libvirt-network.h +++ b/include/libvirt/libvirt-network.h @@ -113,6 +113,10 @@ virNetworkPtr virNetworkLookupByUUID = (virConnectPtr conn, virNetworkPtr virNetworkLookupByUUIDString (virConnectPtr con= n, const char *uuid); =20 +typedef enum { + VIR_NETWORK_CREATE_VALIDATE =3D 1 << 0, /* Validate the XML document a= gainst schema */ +} virNetworkCreateFlags; + /* * Create active transient network */ diff --git a/src/libvirt-network.c b/src/libvirt-network.c index 32ade1a2aa..33bb547a3c 100644 --- a/src/libvirt-network.c +++ b/src/libvirt-network.c @@ -431,7 +431,7 @@ virNetworkCreateXML(virConnectPtr conn, const char *xml= Desc) * virNetworkCreateXMLFlags: * @conn: pointer to the hypervisor connection * @xmlDesc: an XML description of the network - * @flags: extra flags; not used yet, so callers should always pass 0 + * @flags: bitwise-OR of virNetworkCreateFlags * * Create and start a new virtual network, based on an XML description * similar to the one returned by virNetworkGetXMLDesc() --=20 2.31.1 From nobody Thu May 2 12:47:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629976934; cv=none; d=zohomail.com; s=zohoarc; b=CJ6S5QhMZewfXhLh/nXyQbfUQp1t9b7hzYgNdCZ78X5FVnjVnvD0IV963SIx98enQl+dYplntxMVbHLCUcn2SzQRSNTvDUQiQMjyXZUMl8yaYhs5ipOd2BOz8EqAcsKnzCwxE6Ovoj9LFnQ6+cS9nPQlGjpDSGgOA+RZdGFBHFI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629976934; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Cw2lZZ3cz5wBZGNa4q/UQou5OOH8gD/mvLve1OKYfb0=; b=Hv4uEfvRUqKeS2Uq8Scw9ynemO9RwFeEGgKar9547ff1RGU0hi7SY8PUXRTNkaTIHKeykBvEu/etAzRaq34PWW+5aYmg7owPcfZjzjbxKPjT/b/X4ISigHw3hJ/kyEB/Ww1d5YEOflXtW2Wg72hJvyjsVL5EySZdTupUlX13jIs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1629976934264849.9156750739699; Thu, 26 Aug 2021 04:22:14 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-63-kOXjAisgMJGBD-Mrtn5kLw-1; Thu, 26 Aug 2021 07:22:11 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 61BA1875118; Thu, 26 Aug 2021 11:22:06 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 04254604CC; Thu, 26 Aug 2021 11:22:06 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 1BDB0181A0F1; Thu, 26 Aug 2021 11:22:03 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17QBM29o005571 for ; Thu, 26 Aug 2021 07:22:02 -0400 Received: by smtp.corp.redhat.com (Postfix) id 750A019D9F; Thu, 26 Aug 2021 11:22:02 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id EE30B19C59 for ; Thu, 26 Aug 2021 11:22:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629976933; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=Cw2lZZ3cz5wBZGNa4q/UQou5OOH8gD/mvLve1OKYfb0=; b=hcVJin0+2omrecnHUUeEaGSk/GxQlOT/tLQiUUU0M93WhtQ7XSKH9Yogc+CgPDoQ1dygXc 8VUVSqczrSHZwwyVEA2YeDd1SDS/rEpJSsCVCKYbLRxY/FJ/UGi17Z3F460D/vMpU3pTjH QzydXLm7XEf9JhQYfJWVfVc676Ort3Y= X-MC-Unique: kOXjAisgMJGBD-Mrtn5kLw-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 4/6] network_conf: add validation against schema in create Date: Thu, 26 Aug 2021 13:21:42 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1629976934718100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kristina Hanicova Reviewed-by: J=C3=A1n Tomko --- src/conf/network_conf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c index f23599abac..5e24880f1f 100644 --- a/src/conf/network_conf.c +++ b/src/conf/network_conf.c @@ -2093,7 +2093,8 @@ virNetworkDefParse(const char *xmlStr, int keepBlanksDefault =3D xmlKeepBlanksDefault(0); =20 if ((xml =3D virXMLParse(filename, xmlStr, _("(network_definition)"), - "network.rng", flags & VIR_NETWORK_DEFINE_VALID= ATE))) + "network.rng", flags & (VIR_NETWORK_DEFINE_VALI= DATE | + VIR_NETWORK_CREATE_VALI= DATE)))) def =3D virNetworkDefParseNode(xml, xmlDocGetRootElement(xml), xml= opt); =20 xmlKeepBlanksDefault(keepBlanksDefault); --=20 2.31.1 From nobody Thu May 2 12:47:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629976951; cv=none; d=zohomail.com; s=zohoarc; b=RVvsqduTt1NfrXbUbmTZJNmouulcnb080+oYYXWTOzxFX+NFmQITpSDnWT2WzUUv8RJeGX9rvL2Wtuy3Mb4I3jqLJgvbR3tJfUrK28tEQGKzra5YTM+kwUw/zeUwA2Y0Ph7wfQ1w/6trRL04u/rzL2KpiP1g+dBZ6HWVLpeJrPI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629976951; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qHdcRN8RH7+GkUYEiYOtRw/FJ4p2beWgNvAzw9gurRw=; b=VajZ9oSBKnRdjCc7ACFe1OH0ZSKVEtDU3kfsDGlh6fl9fRdG9SBO0FPnMpm2j6xVZgeQDXcxhg1CJIRx61b24VfFja4iVCxWvVS02MAeZGnZVKRaXZneO+Zpj8o1n6ds1KtTDc4e+H6oueM9Aw0EUdOh90Jt60GR3vcTASDmdas= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1629976951972368.02759675290486; Thu, 26 Aug 2021 04:22:31 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-374-DCnF9ZNnOzGYsHNQGo231Q-1; Thu, 26 Aug 2021 07:22:29 -0400 Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5FF57108292A; Thu, 26 Aug 2021 11:22:24 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3275B60583; Thu, 26 Aug 2021 11:22:24 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 026E0181A1D3; Thu, 26 Aug 2021 11:22:24 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17QBM3nZ005579 for ; Thu, 26 Aug 2021 07:22:03 -0400 Received: by smtp.corp.redhat.com (Postfix) id 41AFC19D9F; Thu, 26 Aug 2021 11:22:03 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id BF32819C59 for ; Thu, 26 Aug 2021 11:22:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629976951; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=qHdcRN8RH7+GkUYEiYOtRw/FJ4p2beWgNvAzw9gurRw=; b=HuPflA9V51WzbkfSNM4eLG7/drtodm6DU+TFow3G/Jj4JO0EvJwlrhgt/OWSkZDJ5ZjokF Lpx1xmzSi0RKhvrjxjQa727JubGYFGfmeI9W4yeDchjCcRphBzZxi/Ow5NpgGrj/xt4KTT m9Eq9OcHK8T+FTgS3x4uObQI9c26qIA= X-MC-Unique: DCnF9ZNnOzGYsHNQGo231Q-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 5/6] network: allow VIR_NETWORK_CREATE_VALIDATE flag Date: Thu, 26 Aug 2021 13:21:43 +0200 Message-Id: <90a54b0e36708a5d09c0f83a1871ae2466ef09bb.1629976821.git.khanicov@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1629976952759100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kristina Hanicova Reviewed-by: J=C3=A1n Tomko --- src/network/bridge_driver.c | 4 ++-- src/test/test_driver.c | 4 ++-- src/vbox/vbox_network.c | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 32b37de030..57f4ce21b7 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -3475,9 +3475,9 @@ networkCreateXMLFlags(virConnectPtr conn, virNetworkPtr net =3D NULL; virObjectEvent *event =3D NULL; =20 - virCheckFlags(0, NULL); + virCheckFlags(VIR_NETWORK_CREATE_VALIDATE, NULL); =20 - if (!(newDef =3D virNetworkDefParseString(xml, network_driver->xmlopt,= 0))) + if (!(newDef =3D virNetworkDefParseString(xml, network_driver->xmlopt,= flags))) goto cleanup; =20 if (virNetworkCreateXMLFlagsEnsureACL(conn, newDef) < 0) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 4ab03019e1..b5ed2555d8 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -5582,9 +5582,9 @@ testNetworkCreateXMLFlags(virConnectPtr conn, const c= har *xml, virNetworkPtr net =3D NULL; virObjectEvent *event =3D NULL; =20 - virCheckFlags(0, NULL); + virCheckFlags(VIR_NETWORK_CREATE_VALIDATE, NULL); =20 - if ((newDef =3D virNetworkDefParseString(xml, NULL, 0)) =3D=3D NULL) + if ((newDef =3D virNetworkDefParseString(xml, NULL, flags)) =3D=3D NUL= L) goto cleanup; =20 if (!(obj =3D virNetworkObjAssignDef(privconn->networks, newDef, diff --git a/src/vbox/vbox_network.c b/src/vbox/vbox_network.c index 2826937f81..d9402eff42 100644 --- a/src/vbox/vbox_network.c +++ b/src/vbox/vbox_network.c @@ -386,7 +386,8 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const ch= ar *xml, bool start, virNetworkPtr ret =3D NULL; nsresult rc; =20 - virCheckFlags(VIR_NETWORK_DEFINE_VALIDATE, NULL); + virCheckFlags(VIR_NETWORK_DEFINE_VALIDATE | + VIR_NETWORK_CREATE_VALIDATE, NULL); =20 if (!data->vboxObj) return ret; --=20 2.31.1 From nobody Thu May 2 12:47:54 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) client-ip=170.10.133.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1629976956; cv=none; d=zohomail.com; s=zohoarc; b=A+X7eJkHQBwgOxE6tvq+s25YzpWTbBvQCEJLp6iLv9BPedYiy4K4dK5ujcHVj9VnoWelJv4Ude3hbp678tpjxrh/DddQbosnUbbfIuCQ7OBEndmbd9tGOqXd7EsyX4YaYzJ46qz+r1bod5v5EstWwqLaDNE4wGf6hFxl20uenFY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629976956; h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=+gz/h29JKIK9ZXZXDRRZLy3DWPw2efB6BIBFqII2LLc=; b=mryKnDziheTZbWrWQiHx+3otQO5zA1aI8oCXwZfn3JTh3xVfAMKJqMZuHPkax9DGScK5DT3vVDbdFY6QDPmbxHvdskSNCw7DTPQB5iijQeQEfmRz4pwBzIiZTlWx3o/vt68/w1hTeu+ss+AZBAKTTvfFs/9vq5shNDbNhcS1jN0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by mx.zohomail.com with SMTPS id 1629976956008980.662930757045; Thu, 26 Aug 2021 04:22:36 -0700 (PDT) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-204-Af8RushPMcildR_qjm2A0A-1; Thu, 26 Aug 2021 07:22:33 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 632C3CC621; Thu, 26 Aug 2021 11:22:28 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id F35FE1002388; Thu, 26 Aug 2021 11:22:27 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id C322F181A2A9; Thu, 26 Aug 2021 11:22:27 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17QBM4Rj005589 for ; Thu, 26 Aug 2021 07:22:04 -0400 Received: by smtp.corp.redhat.com (Postfix) id 1522719C59; Thu, 26 Aug 2021 11:22:04 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 9026419D9F for ; Thu, 26 Aug 2021 11:22:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629976955; h=from:from:sender:sender: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:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=+gz/h29JKIK9ZXZXDRRZLy3DWPw2efB6BIBFqII2LLc=; b=UlVC12n16AxaSTyAWNVJG2ccYwz0/oi3LyPktSEd+uXQfFpJJMEXB9qr2A1FK0q/dLXRfu vxu/3j6Riw2jdcZ8MC2kCfuxxyyKtQR3/CjIlXN4SohHk09auEy8cKZCdWZi7E9vlVXSPI mQnMZwNhAOWzUHA+3OMFy/RYPT2Yd+o= X-MC-Unique: Af8RushPMcildR_qjm2A0A-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 6/6] virsh: add support for '--validate' option in create network Date: Thu, 26 Aug 2021 13:21:44 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) X-ZM-MESSAGEID: 1629976957011100002 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kristina Hanicova Reviewed-by: J=C3=A1n Tomko --- docs/manpages/virsh.rst | 4 +++- tools/virsh-network.c | 13 ++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst index 2204bed3bb..b05b25c555 100644 --- a/docs/manpages/virsh.rst +++ b/docs/manpages/virsh.rst @@ -5162,13 +5162,15 @@ net-create =20 :: =20 - net-create file + net-create file [--validate] =20 Create a transient (temporary) virtual network from an XML *file* and instantiate (start) the network. See the documentation at `https://libvirt.org/formatnetwork.html `__ to get a description of the XML network format used by libvirt. =20 +Optionally, the format of the input XML file can be validated against an +internal RNG schema with *--validate*. =20 net-define ---------- diff --git a/tools/virsh-network.c b/tools/virsh-network.c index badbcd0a92..eff9d153c4 100644 --- a/tools/virsh-network.c +++ b/tools/virsh-network.c @@ -197,6 +197,10 @@ static const vshCmdInfo info_network_create[] =3D { =20 static const vshCmdOptDef opts_network_create[] =3D { VIRSH_COMMON_OPT_FILE(N_("file containing an XML network description")= ), + {.name =3D "validate", + .type =3D VSH_OT_BOOL, + .help =3D N_("validate the XML against the schema") + }, {.name =3D NULL} }; =20 @@ -207,15 +211,22 @@ cmdNetworkCreate(vshControl *ctl, const vshCmd *cmd) const char *from =3D NULL; bool ret =3D true; g_autofree char *buffer =3D NULL; + unsigned int flags =3D 0; virshControl *priv =3D ctl->privData; =20 if (vshCommandOptStringReq(ctl, cmd, "file", &from) < 0) return false; =20 + if (vshCommandOptBool(cmd, "validate")) + flags |=3D VIR_NETWORK_CREATE_VALIDATE; + if (virFileReadAll(from, VSH_MAX_XML_FILE, &buffer) < 0) return false; =20 - network =3D virNetworkCreateXML(priv->conn, buffer); + if (flags) + network =3D virNetworkCreateXMLFlags(priv->conn, buffer, flags); + else + network =3D virNetworkCreateXML(priv->conn, buffer); =20 if (network !=3D NULL) { vshPrintExtra(ctl, _("Network %s created from %s\n"), --=20 2.31.1