From nobody Mon May 6 04:52:14 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=1629737540; cv=none; d=zohomail.com; s=zohoarc; b=iv2xc99FIugAH1Kpwv9swMcPZa447E0vxuTa5U6vvGRcke5mg2/iLbz/U4pyv6uyOlGnXBx81S9aUSSx8Mbo9LpNAKezYfalDJDoOy5FID2IUJcqafLWC2enob0mxTQX54kEJ47hsOWnPZMGRnU22FCZ1CPNa4NocLTK5MBvRnQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629737540; 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=sTwxF9ewmjcFvnWCunk1WsVhIFqcQTR5t9kjg7YV1jw=; b=MQRDotI+K0UFATN56Q5XR3JqrW/XJjxe6takKhtBM7OTllV78+30UdrLqQV1CqQM9tm5zHzGLS7a3f4qEjJcM5uvJNGWlOqfB/5Ze1ToHC+8kKC7KioDeNDJETH3CziBBNAR+HgXK+Nhm93/YgHhpmjhL0pXULtT6AliMPcKJNY= 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 162973754020443.01006532058602; Mon, 23 Aug 2021 09:52:20 -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-244-F6o_rgmINDuhM4ItUW1zqA-1; Mon, 23 Aug 2021 12:52:17 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 18FE7107ACF5; Mon, 23 Aug 2021 16:52:12 +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 EB16760C82; Mon, 23 Aug 2021 16:52:11 +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 BA56C4A7CB; Mon, 23 Aug 2021 16:52:11 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17NGoUOf031625 for ; Mon, 23 Aug 2021 12:50:30 -0400 Received: by smtp.corp.redhat.com (Postfix) id A91AC105911F; Mon, 23 Aug 2021 16:50:30 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 31C671059108 for ; Mon, 23 Aug 2021 16:50:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629737539; 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=sTwxF9ewmjcFvnWCunk1WsVhIFqcQTR5t9kjg7YV1jw=; b=Va6sy1ewCICWv55ZM2aS0CWQ0zwifpmIsweK2s0WXHSEyGSBLTrpcqwC9M4onKfMaf8Mjj RQUiVlYRpc8GVbpoGkC/HqFuWROpb5mTSILXw7ifOMCo2i80IGu4rx9/Ii0x422Ckq7+JM 5UH2G/oGenxSiPLQ6mk8bVp39oeEMOg= X-MC-Unique: F6o_rgmINDuhM4ItUW1zqA-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 1/7] api: add public virNetworkDefineXMLFlags() and remote protocol Date: Mon, 23 Aug 2021 18:50:08 +0200 Message-Id: <98dce384bec272266588fdc6b8350892c7c37e52.1629737311.git.khanicov@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 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.12 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: 1629737541862100005 Content-Type: text/plain; charset="utf-8" This new API allows to define network with given flags. Signed-off-by: Kristina Hanicova Reviewed-by: Michal Privoznik --- include/libvirt/libvirt-network.h | 3 +++ src/driver-network.h | 6 +++++ src/libvirt-network.c | 41 +++++++++++++++++++++++++++++++ src/libvirt_public.syms | 1 + src/remote/remote_driver.c | 1 + src/remote/remote_protocol.x | 19 +++++++++++++- src/remote_protocol-structs | 8 ++++++ 7 files changed, 78 insertions(+), 1 deletion(-) diff --git a/include/libvirt/libvirt-network.h b/include/libvirt/libvirt-ne= twork.h index c9ff0a49ed..be9d6eb2cb 100644 --- a/include/libvirt/libvirt-network.h +++ b/include/libvirt/libvirt-network.h @@ -124,6 +124,9 @@ virNetworkPtr virNetworkCreateXML (virCon= nectPtr conn, */ virNetworkPtr virNetworkDefineXML (virConnectPtr conn, const char *xmlDesc); +virNetworkPtr virNetworkDefineXMLFlags(virConnectPtr conn, + const char *xmlDesc, + unsigned int flags); =20 /* * Delete persistent network diff --git a/src/driver-network.h b/src/driver-network.h index 040ef383b3..d31d7c667d 100644 --- a/src/driver-network.h +++ b/src/driver-network.h @@ -73,6 +73,11 @@ typedef virNetworkPtr (*virDrvNetworkDefineXML)(virConnectPtr conn, const char *xml); =20 +typedef virNetworkPtr +(*virDrvNetworkDefineXMLFlags)(virConnectPtr conn, + const char *xml, + unsigned int flags); + typedef int (*virDrvNetworkUndefine)(virNetworkPtr network); =20 @@ -172,6 +177,7 @@ struct _virNetworkDriver { virDrvNetworkLookupByName networkLookupByName; virDrvNetworkCreateXML networkCreateXML; virDrvNetworkDefineXML networkDefineXML; + virDrvNetworkDefineXMLFlags networkDefineXMLFlags; virDrvNetworkUndefine networkUndefine; virDrvNetworkUpdate networkUpdate; virDrvNetworkCreate networkCreate; diff --git a/src/libvirt-network.c b/src/libvirt-network.c index 145487d599..b633f49ca9 100644 --- a/src/libvirt-network.c +++ b/src/libvirt-network.c @@ -465,6 +465,47 @@ virNetworkDefineXML(virConnectPtr conn, const char *xm= l) } =20 =20 +/** + * virNetworkDefineXMLFlags: + * @conn: pointer to the hypervisor connection + * @xml: the XML description for the network, preferably in UTF-8 + * @flags: extra flags; not used yet, so callers should always pass 0 + * + * Define an inactive persistent virtual network or modify an existing + * persistent one from the XML description. + * + * virNetworkFree should be used to free the resources after the + * network object is no longer needed. + * + * Returns NULL in case of error, a pointer to the network otherwise + */ +virNetworkPtr +virNetworkDefineXMLFlags(virConnectPtr conn, const char *xml, unsigned int= flags) +{ + VIR_DEBUG("conn=3D%p, xml=3D%s, flags=3D0x%x", conn, NULLSTR(xml), fla= gs); + + virResetLastError(); + + virCheckConnectReturn(conn, NULL); + virCheckReadOnlyGoto(conn->flags, error); + virCheckNonNullArgGoto(xml, error); + + if (conn->networkDriver && conn->networkDriver->networkDefineXMLFlags)= { + virNetworkPtr ret; + ret =3D conn->networkDriver->networkDefineXMLFlags(conn, xml, flag= s); + if (!ret) + goto error; + return ret; + } + + virReportUnsupportedError(); + + error: + virDispatchError(conn); + return NULL; +} + + /** * virNetworkUndefine: * @network: pointer to a defined network diff --git a/src/libvirt_public.syms b/src/libvirt_public.syms index 68f5e9c900..3a5fa7cb09 100644 --- a/src/libvirt_public.syms +++ b/src/libvirt_public.syms @@ -899,6 +899,7 @@ LIBVIRT_7.3.0 { LIBVIRT_7.7.0 { global: virNWFilterDefineXMLFlags; + virNetworkDefineXMLFlags; } LIBVIRT_7.3.0; =20 # .... define new API here using predicted next version number .... diff --git a/src/remote/remote_driver.c b/src/remote/remote_driver.c index 9ee22e7e15..b64a86af63 100644 --- a/src/remote/remote_driver.c +++ b/src/remote/remote_driver.c @@ -8553,6 +8553,7 @@ static virNetworkDriver network_driver =3D { .networkLookupByName =3D remoteNetworkLookupByName, /* 0.3.0 */ .networkCreateXML =3D remoteNetworkCreateXML, /* 0.3.0 */ .networkDefineXML =3D remoteNetworkDefineXML, /* 0.3.0 */ + .networkDefineXMLFlags =3D remoteNetworkDefineXMLFlags, /* 7.7.0 */ .networkUndefine =3D remoteNetworkUndefine, /* 0.3.0 */ .networkUpdate =3D remoteNetworkUpdate, /* 0.10.2 */ .networkCreate =3D remoteNetworkCreate, /* 0.3.0 */ diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x index 56f610839e..df1b126b0c 100644 --- a/src/remote/remote_protocol.x +++ b/src/remote/remote_protocol.x @@ -1538,6 +1538,15 @@ struct remote_network_define_xml_ret { remote_nonnull_network net; }; =20 +struct remote_network_define_xml_flags_args { + remote_nonnull_string xml; + unsigned int flags; +}; + +struct remote_network_define_xml_flags_ret { + remote_nonnull_network net; +}; + struct remote_network_undefine_args { remote_nonnull_network net; }; @@ -6801,5 +6810,13 @@ enum remote_procedure { * @acl: nwfilter:write * @acl: nwfilter:save */ - REMOTE_PROC_NWFILTER_DEFINE_XML_FLAGS =3D 431 + REMOTE_PROC_NWFILTER_DEFINE_XML_FLAGS =3D 431, + + /** + * @generate: both + * @priority: high + * @acl: network:write + * @acl: network:save + */ + REMOTE_PROC_NETWORK_DEFINE_XML_FLAGS =3D 432 }; diff --git a/src/remote_protocol-structs b/src/remote_protocol-structs index d51f12f781..dad83361fa 100644 --- a/src/remote_protocol-structs +++ b/src/remote_protocol-structs @@ -1104,6 +1104,13 @@ struct remote_network_define_xml_args { struct remote_network_define_xml_ret { remote_nonnull_network net; }; +struct remote_network_define_xml_flags_args { + remote_nonnull_string xml; + u_int flags; +}; +struct remote_network_define_xml_flags_ret { + remote_nonnull_network net; +}; struct remote_network_undefine_args { remote_nonnull_network net; }; @@ -3631,4 +3638,5 @@ enum remote_procedure { REMOTE_PROC_NODE_DEVICE_UNDEFINE =3D 429, REMOTE_PROC_NODE_DEVICE_CREATE =3D 430, REMOTE_PROC_NWFILTER_DEFINE_XML_FLAGS =3D 431, + REMOTE_PROC_NETWORK_DEFINE_XML_FLAGS =3D 432, }; --=20 2.31.1 From nobody Mon May 6 04:52:14 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=1629737522; cv=none; d=zohomail.com; s=zohoarc; b=bfGz073wHaa/GxiMdv2qMDj1gtvoLcAKy/c9olC9GHG2Pt0hzYy66CyQPtkxmvOTH6mwrPOiWBcmzaE8NNLgGi5WMVOGx+zfYr6mvlnxxT4FpbGNik0Ak0sx5vu+b9UDneSJKrQRCMa5xd4L6ND4zzjiPQMhZ9xLOh4VIv/lJJs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629737522; 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=Zbw2U3l4fqtRDQXPDFblv2BtMWaTTtO3b3SGWqXAH7w=; b=CVtv2sxSiqf97450lJ+n9lyGbgbyiwWSlKjO5OiYiB2udZwhhvqiQBNur0JqovhtDdkjleq6ffw25DtHBdhRZN86VUsg0j4FUS5LXco1ulSvT0rNTwoRtrSiwE+b3ZMM1ugK4GyP007n9zPUlhCwlJaVVSM/bHxW0Q5miEupLrg= 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 1629737522511807.4007505253718; Mon, 23 Aug 2021 09:52:02 -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-436-7cl3cDLDNuaInx81T_Sy3w-1; Mon, 23 Aug 2021 12:51:59 -0400 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 94959100E421; Mon, 23 Aug 2021 16:51:54 +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 3EBA860854; Mon, 23 Aug 2021 16:51:54 +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 C7E85181A1CE; Mon, 23 Aug 2021 16:51:53 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17NGoVxq031633 for ; Mon, 23 Aug 2021 12:50:31 -0400 Received: by smtp.corp.redhat.com (Postfix) id 79507105911F; Mon, 23 Aug 2021 16:50:31 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 030D81059108 for ; Mon, 23 Aug 2021 16:50:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629737521; 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=Zbw2U3l4fqtRDQXPDFblv2BtMWaTTtO3b3SGWqXAH7w=; b=OCLmTDu19hw+eBEmoLd2v+meDe8pvvy7STTiK3ziLX01tptQqlm6AvBGqB9A8GHksxirAm TJ7nhH5bncXpRaLZKXXbIM5JO9hBPRGAysbX2lZoqZwF7fj9mZTogrmShr2MHbALnx+k8r yah+eBInpKfP7Ozx2JZq8PWulTF6yr0= X-MC-Unique: 7cl3cDLDNuaInx81T_Sy3w-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 2/7] vbox_network: add flags to vboxNetworkDefineCreateXML() Date: Mon, 23 Aug 2021 18:50:09 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 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.13 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: 1629737523696100001 Content-Type: text/plain; charset="utf-8" I need to propagate flags for the next commit. Signed-off-by: Kristina Hanicova Reviewed-by: Michal Privoznik --- src/vbox/vbox_network.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/vbox/vbox_network.c b/src/vbox/vbox_network.c index d97f571d1b..39da643f14 100644 --- a/src/vbox/vbox_network.c +++ b/src/vbox/vbox_network.c @@ -367,7 +367,8 @@ vboxSocketFormatAddrUtf16(struct _vboxDriver *data, vir= SocketAddr *addr) } =20 static virNetworkPtr -vboxNetworkDefineCreateXML(virConnectPtr conn, const char *xml, bool start) +vboxNetworkDefineCreateXML(virConnectPtr conn, const char *xml, bool start, + unsigned int flags) { struct _vboxDriver *data =3D conn->privateData; PRUnichar *networkInterfaceNameUtf16 =3D NULL; @@ -385,6 +386,8 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const ch= ar *xml, bool start) virNetworkPtr ret =3D NULL; nsresult rc; =20 + virCheckFlags(0, NULL); + if (!data->vboxObj) return ret; =20 @@ -554,12 +557,12 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const = char *xml, bool start) =20 static virNetworkPtr vboxNetworkCreateXML(virConnectPtr conn, const char *= xml) { - return vboxNetworkDefineCreateXML(conn, xml, true); + return vboxNetworkDefineCreateXML(conn, xml, true, 0); } =20 static virNetworkPtr vboxNetworkDefineXML(virConnectPtr conn, const char *= xml) { - return vboxNetworkDefineCreateXML(conn, xml, false); + return vboxNetworkDefineCreateXML(conn, xml, false, 0); } =20 static int --=20 2.31.1 From nobody Mon May 6 04:52:14 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.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.129.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=1629737542; cv=none; d=zohomail.com; s=zohoarc; b=jydCuF9lH5tu3aKuViswqZfGy7HnS3HxbS5mHYOjUZN4HgO9eUg8U+SMgWbxfetBHIIr+6X6g16lEur4YhZI+YZSqt+jP4LIIs2Y6jQbmgwoJrdjC3fOoBxPmDGYnt5Lb1d/z0/DbRGQqQJFz0WPq9bZUKWf7A2xEgxY121p8mc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629737542; 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=00a56CATECqIqPUMH7eaZo1o3qnjp+/FZ4f0T+XqRnU=; b=JhR7CM36n/+5DgE/myIpcGfOJEpMTc+yoW1MhUn7RTgkOFBlEfT83lRCEVugXEpzaJ5X9+IJmZEQGx0uO4JhWxaTqWjXpJnbvzx/4E4Qqjm1F/nRoaoTFe0iJE6BoldYbSiVKkmPzpZDfyrmcmqpFKm8Ei04Q/J5kDOYfKiU09k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.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.129.124]) by mx.zohomail.com with SMTPS id 1629737542659104.5749724794623; Mon, 23 Aug 2021 09:52:22 -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-1-a3aXufTnNq6pSA_F6ym4Tg-1; Mon, 23 Aug 2021 12:52:20 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 089491026201; Mon, 23 Aug 2021 16:52:15 +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 BBFF95D9CA; Mon, 23 Aug 2021 16:52:14 +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 8850C181A2AA; Mon, 23 Aug 2021 16:52:14 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17NGoW3X031640 for ; Mon, 23 Aug 2021 12:50:32 -0400 Received: by smtp.corp.redhat.com (Postfix) id 4AB62105911F; Mon, 23 Aug 2021 16:50:32 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id C78861059108 for ; Mon, 23 Aug 2021 16:50:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629737541; 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=00a56CATECqIqPUMH7eaZo1o3qnjp+/FZ4f0T+XqRnU=; b=csvd0sXB8NrQe3/Oq+ZIqxzxmOuVzI7g5nP5q72gl/HfNquieBg9wnv0cNcyVqW5v52UQW hS3UTdiZWS9gIjPy3VGsk91N5W0PzK5SLWejEix1Dqy5omwflDtADdakuKuTG0LNBqBWky hIUWVNyqxlM3NMe0cT3BrN+ub58adDI= X-MC-Unique: a3aXufTnNq6pSA_F6ym4Tg-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 3/7] src: add driver support for networkDefineXMLFlags() Date: Mon, 23 Aug 2021 18:50:10 +0200 Message-Id: <7e07b5f35e84b6a02f980b4b32778c4dbb7f8e15.1629737311.git.khanicov@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 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.14 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: 1629737544149100001 Content-Type: text/plain; charset="utf-8" I have added new driver functions which define network with given flags. I have also replaced definitions of the functions without flags with function calls to the new ones. Signed-off-by: Kristina Hanicova Reviewed-by: Michal Privoznik --- src/esx/esx_network_driver.c | 14 +++++++++++++- src/network/bridge_driver.c | 18 +++++++++++++++--- src/test/test_driver.c | 16 ++++++++++++++-- src/vbox/vbox_network.c | 7 +++++++ 4 files changed, 49 insertions(+), 6 deletions(-) diff --git a/src/esx/esx_network_driver.c b/src/esx/esx_network_driver.c index a87ec6a377..72b5a4f235 100644 --- a/src/esx/esx_network_driver.c +++ b/src/esx/esx_network_driver.c @@ -274,7 +274,8 @@ esxBandwidthToShapingPolicy(virNetDevBandwidth *bandwid= th, =20 =20 static virNetworkPtr -esxNetworkDefineXML(virConnectPtr conn, const char *xml) +esxNetworkDefineXMLFlags(virConnectPtr conn, const char *xml, + unsigned int flags) { virNetworkPtr network =3D NULL; esxPrivate *priv =3D conn->privateData; @@ -291,6 +292,8 @@ esxNetworkDefineXML(virConnectPtr conn, const char *xml) =20 unsigned char md5[VIR_CRYPTO_HASH_SIZE_MD5]; /* VIR_CRYPTO_HASH_SIZE_M= D5 =3D VIR_UUID_BUFLEN =3D 16 */ =20 + virCheckFlags(0, NULL); + if (esxVI_EnsureSession(priv->primary) < 0) return NULL; =20 @@ -494,6 +497,14 @@ esxNetworkDefineXML(virConnectPtr conn, const char *xm= l) =20 =20 =20 +static virNetworkPtr +esxNetworkDefineXML(virConnectPtr conn, const char *xml) +{ + return esxNetworkDefineXMLFlags(conn, xml, 0); +} + + + static int esxNetworkUndefine(virNetworkPtr network) { @@ -933,6 +944,7 @@ virNetworkDriver esxNetworkDriver =3D { .networkLookupByUUID =3D esxNetworkLookupByUUID, /* 0.10.0 */ .networkLookupByName =3D esxNetworkLookupByName, /* 0.10.0 */ .networkDefineXML =3D esxNetworkDefineXML, /* 0.10.0 */ + .networkDefineXMLFlags =3D esxNetworkDefineXMLFlags, /* 7.7.0 */ .networkUndefine =3D esxNetworkUndefine, /* 0.10.0 */ .networkGetXMLDesc =3D esxNetworkGetXMLDesc, /* 0.10.0 */ .networkGetAutostart =3D esxNetworkGetAutostart, /* 0.10.0 */ diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index acbc6be965..0f27b1d180 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -3516,8 +3516,9 @@ networkCreateXML(virConnectPtr conn, =20 =20 static virNetworkPtr -networkDefineXML(virConnectPtr conn, - const char *xml) +networkDefineXMLFlags(virConnectPtr conn, + const char *xml, + unsigned int flags) { virNetworkDriverState *driver =3D networkGetDriver(); virNetworkDef *def =3D NULL; @@ -3526,10 +3527,12 @@ networkDefineXML(virConnectPtr conn, virNetworkPtr net =3D NULL; virObjectEvent *event =3D NULL; =20 + virCheckFlags(0, NULL); + if (!(def =3D virNetworkDefParseString(xml, network_driver->xmlopt))) goto cleanup; =20 - if (virNetworkDefineXMLEnsureACL(conn, def) < 0) + if (virNetworkDefineXMLFlagsEnsureACL(conn, def) < 0) goto cleanup; =20 if (networkValidate(driver, def) < 0) @@ -3571,6 +3574,14 @@ networkDefineXML(virConnectPtr conn, } =20 =20 +static virNetworkPtr +networkDefineXML(virConnectPtr conn, + const char *xml) +{ + return networkDefineXMLFlags(conn, xml, 0); +} + + static int networkUndefine(virNetworkPtr net) { @@ -5618,6 +5629,7 @@ static virNetworkDriver networkDriver =3D { .networkLookupByName =3D networkLookupByName, /* 0.2.0 */ .networkCreateXML =3D networkCreateXML, /* 0.2.0 */ .networkDefineXML =3D networkDefineXML, /* 0.2.0 */ + .networkDefineXMLFlags =3D networkDefineXMLFlags, /* 7.7.0 */ .networkUndefine =3D networkUndefine, /* 0.2.0 */ .networkUpdate =3D networkUpdate, /* 0.10.2 */ .networkCreate =3D networkCreate, /* 0.2.0 */ diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 67db02b25d..d9203c9568 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -5607,8 +5607,9 @@ testNetworkCreateXML(virConnectPtr conn, const char *= xml) =20 =20 static virNetworkPtr -testNetworkDefineXML(virConnectPtr conn, - const char *xml) +testNetworkDefineXMLFlags(virConnectPtr conn, + const char *xml, + unsigned int flags) { testDriver *privconn =3D conn->privateData; virNetworkDef *newDef; @@ -5617,6 +5618,8 @@ testNetworkDefineXML(virConnectPtr conn, virNetworkPtr net =3D NULL; virObjectEvent *event =3D NULL; =20 + virCheckFlags(0, NULL); + if ((newDef =3D virNetworkDefParseString(xml, NULL)) =3D=3D NULL) goto cleanup; =20 @@ -5639,6 +5642,14 @@ testNetworkDefineXML(virConnectPtr conn, } =20 =20 +static virNetworkPtr +testNetworkDefineXML(virConnectPtr conn, + const char *xml) +{ + return testNetworkDefineXMLFlags(conn, xml, 0); +} + + static int testNetworkUndefine(virNetworkPtr net) { @@ -9712,6 +9723,7 @@ static virNetworkDriver testNetworkDriver =3D { .networkLookupByName =3D testNetworkLookupByName, /* 0.3.2 */ .networkCreateXML =3D testNetworkCreateXML, /* 0.3.2 */ .networkDefineXML =3D testNetworkDefineXML, /* 0.3.2 */ + .networkDefineXMLFlags =3D testNetworkDefineXMLFlags, /* 7.7.0 */ .networkUndefine =3D testNetworkUndefine, /* 0.3.2 */ .networkUpdate =3D testNetworkUpdate, /* 0.10.2 */ .networkCreate =3D testNetworkCreate, /* 0.3.2 */ diff --git a/src/vbox/vbox_network.c b/src/vbox/vbox_network.c index 39da643f14..cce43ee5af 100644 --- a/src/vbox/vbox_network.c +++ b/src/vbox/vbox_network.c @@ -565,6 +565,12 @@ static virNetworkPtr vboxNetworkDefineXML(virConnectPt= r conn, const char *xml) return vboxNetworkDefineCreateXML(conn, xml, false, 0); } =20 +static virNetworkPtr vboxNetworkDefineXMLFlags(virConnectPtr conn, const c= har *xml, + unsigned int flags) +{ + return vboxNetworkDefineCreateXML(conn, xml, false, flags); +} + static int vboxNetworkUndefineDestroy(virNetworkPtr network, bool removeinterface) { @@ -924,6 +930,7 @@ virNetworkDriver vboxNetworkDriver =3D { .networkLookupByName =3D vboxNetworkLookupByName, /* 0.6.4 */ .networkCreateXML =3D vboxNetworkCreateXML, /* 0.6.4 */ .networkDefineXML =3D vboxNetworkDefineXML, /* 0.6.4 */ + .networkDefineXMLFlags =3D vboxNetworkDefineXMLFlags, /* 7.7.0 */ .networkUndefine =3D vboxNetworkUndefine, /* 0.6.4 */ .networkCreate =3D vboxNetworkCreate, /* 0.6.4 */ .networkDestroy =3D vboxNetworkDestroy, /* 0.6.4 */ --=20 2.31.1 From nobody Mon May 6 04:52:14 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=1629737529; cv=none; d=zohomail.com; s=zohoarc; b=N1J4mKuVZjuIdeNygB8BnXv2HH6ZvnrgdmkDL7uU8BeU2oE5DkCEy+6hrpPRnRQ3LgVLmkpVp3gVU4V7SRgCByXEEa06mWi92bvDSPEYYRZqjVCNDyHoJBQHXFhXkP2AVZoTxAecJxOlHS93jKXdhkSZvQII4qQVM47C0Xn9f1Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629737529; 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=MC9j6k0V/Za8pijiWtia3uGvcm5jnrdduHaC4PRlsRw=; b=S4wKq0Td+srHUJ1AoBhicuMdf0DZQfVIbQdWC6BmeLOn9MWEXbIkT7cIGmuQguubUDzeGVVNMv/SR20KSNBYOLxWUpu5ZZtKT4hAIJ53AP0SLktE94O2DjxGmyKRt8cKABQSx2qv+aVhx0k51IfbRmCOR58YU09QoKerV7W8QwY= 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 162973752983295.20889727542624; Mon, 23 Aug 2021 09:52:09 -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-603-a7wz4zWKPmWZ-pUK33GAcA-1; Mon, 23 Aug 2021 12:52:05 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 6A3BE80292A; Mon, 23 Aug 2021 16:52:00 +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 41B4C5D740; Mon, 23 Aug 2021 16:52:00 +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 0BB4A4A7CA; Mon, 23 Aug 2021 16:52:00 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17NGoXCW031652 for ; Mon, 23 Aug 2021 12:50:33 -0400 Received: by smtp.corp.redhat.com (Postfix) id 1BB8110372D5; Mon, 23 Aug 2021 16:50:33 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 98B4210372E8 for ; Mon, 23 Aug 2021 16:50:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629737527; 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=MC9j6k0V/Za8pijiWtia3uGvcm5jnrdduHaC4PRlsRw=; b=NTBVTJHrkOmNfoH+hOd3yY4EiPAo75tRu/j4dc4xWbFx7QFm+6aXgb92gAw5sWUZdbVsW8 h0d64lZj1iPytAhmESU8H007GY2+IrpB+GccaFvKmpIUbripojgocQdtjtjxG74B57ol1d aYt7I/dZUTruYkCMekNh7LFUwboBHUQ= X-MC-Unique: a7wz4zWKPmWZ-pUK33GAcA-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 4/7] api: add virNetworkDefineFlags Date: Mon, 23 Aug 2021 18:50:11 +0200 Message-Id: <8662003b734d0e0980de852c177779dd7aabb374.1629737311.git.khanicov@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 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.15 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: 1629737530489100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kristina Hanicova Reviewed-by: Michal Privoznik --- 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 be9d6eb2cb..0a49c1888e 100644 --- a/include/libvirt/libvirt-network.h +++ b/include/libvirt/libvirt-network.h @@ -119,6 +119,10 @@ virNetworkPtr virNetworkLookupByUUIDString = (virConnectPtr conn, virNetworkPtr virNetworkCreateXML (virConnectPtr conn, const char *xmlDesc); =20 +typedef enum { + VIR_NETWORK_DEFINE_VALIDATE =3D 1 << 0, /* Validate the XML document a= gainst schema */ +} virNetworkDefineFlags; + /* * Define inactive persistent network */ diff --git a/src/libvirt-network.c b/src/libvirt-network.c index b633f49ca9..c9d0e9d25b 100644 --- a/src/libvirt-network.c +++ b/src/libvirt-network.c @@ -469,7 +469,7 @@ virNetworkDefineXML(virConnectPtr conn, const char *xml) * virNetworkDefineXMLFlags: * @conn: pointer to the hypervisor connection * @xml: the XML description for the network, preferably in UTF-8 - * @flags: extra flags; not used yet, so callers should always pass 0 + * @flags: bitwise-OR of virNetworkDefineFlags * * Define an inactive persistent virtual network or modify an existing * persistent one from the XML description. --=20 2.31.1 From nobody Mon May 6 04:52:14 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=1629737507; cv=none; d=zohomail.com; s=zohoarc; b=kju1Ig2kbbMkLdNh7Rx634f0X48cySPBA1tCjNEFG2qwn/QnqsRxHgR0rv/9T2CS1l/jB7yp7Pyl02VeQB6EEzl+9ncxqhUuI7/TwpEMBfOUUt1XYWEm03+oRGebhLib3EH+101gWH5Bd0sYp+jt41wkfegR2PAQGyoX8xyzCWY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629737507; 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=+P2LuxmCFfnsG1soJU1Cg2g+RhorGvDR1WqvsBFpz54=; b=Aw1dQNZDrh+pNmmtSu+PR4TZOd5qa2rGMXLGCYulX2ml4H2WeVQKEuSYohaq2+CN0XGvFiLZR3AhJHtM+MFqZS4CaTTj0bFaCgbHzB18SHYPHMtmvyScdg6oLcnJivIaCj5TSkTc5kPuNCjTd6bc3yLHT7j7vmznRvq6xDaDt7U= 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 1629737507794395.08600878294635; Mon, 23 Aug 2021 09:51:47 -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-331-kvLWlDapMZeRUOjo4ZLV5w-1; Mon, 23 Aug 2021 12:51:44 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 94D8A87D541; Mon, 23 Aug 2021 16:51:37 +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 C2FC35D6AB; Mon, 23 Aug 2021 16:51:35 +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 0A1DF4BB7C; Mon, 23 Aug 2021 16:51:30 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17NGoXU4031662 for ; Mon, 23 Aug 2021 12:50:33 -0400 Received: by smtp.corp.redhat.com (Postfix) id E06D210372E4; Mon, 23 Aug 2021 16:50:33 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 6A61510372D5 for ; Mon, 23 Aug 2021 16:50:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629737506; 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=+P2LuxmCFfnsG1soJU1Cg2g+RhorGvDR1WqvsBFpz54=; b=fLrRzuiWl8z3eOq/lsJcj1vUYsbZUZmzk5+Fe58s3biZ7oF/tQ7c5impQIzezw0iJS9e4B XEI0+FesTgfgCs2QofKoyNnUQihhOZCpw+scLJekkMj1OCI7+TCmFjh0HCFMaWI4RBazv/ M6i1YGxnp3rJnhTYlU/32XlnDpFY6CQ= X-MC-Unique: kvLWlDapMZeRUOjo4ZLV5w-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 5/7] src & network_conf: add validation against schema in define Date: Mon, 23 Aug 2021 18:50:12 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 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.15 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: 1629737508289100001 Content-Type: text/plain; charset="utf-8" This patch also includes propagation of flags into the virNetworkDefParse(). Signed-off-by: Kristina Hanicova Reviewed-by: Michal Privoznik --- src/conf/domain_conf.c | 2 +- src/conf/network_conf.c | 15 +++++++++------ src/conf/network_conf.h | 3 ++- src/esx/esx_network_driver.c | 2 +- src/network/bridge_driver.c | 4 ++-- src/qemu/qemu_process.c | 2 +- src/test/test_driver.c | 4 ++-- src/vbox/vbox_network.c | 2 +- 8 files changed, 19 insertions(+), 15 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 10effdce69..0328447f87 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -30522,7 +30522,7 @@ virDomainNetResolveActualType(virDomainNetDef *ifac= e) if (!(xml =3D virNetworkGetXMLDesc(net, 0))) goto cleanup; =20 - if (!(def =3D virNetworkDefParseString(xml, NULL))) + if (!(def =3D virNetworkDefParseString(xml, NULL, 0))) goto cleanup; =20 switch ((virNetworkForwardType) def->forward.type) { diff --git a/src/conf/network_conf.c b/src/conf/network_conf.c index fbd939a1f1..f23599abac 100644 --- a/src/conf/network_conf.c +++ b/src/conf/network_conf.c @@ -318,7 +318,7 @@ virNetworkDefCopy(virNetworkDef *def, if (!(xml =3D virNetworkDefFormat(def, xmlopt, flags))) return NULL; =20 - return virNetworkDefParseString(xml, xmlopt); + return virNetworkDefParseString(xml, xmlopt, 0); } =20 =20 @@ -2085,13 +2085,15 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt, static virNetworkDef * virNetworkDefParse(const char *xmlStr, const char *filename, - virNetworkXMLOption *xmlopt) + virNetworkXMLOption *xmlopt, + unsigned int flags) { g_autoptr(xmlDoc) xml =3D NULL; virNetworkDef *def =3D NULL; int keepBlanksDefault =3D xmlKeepBlanksDefault(0); =20 - if ((xml =3D virXMLParse(filename, xmlStr, _("(network_definition)"), = NULL, false))) + if ((xml =3D virXMLParse(filename, xmlStr, _("(network_definition)"), + "network.rng", flags & VIR_NETWORK_DEFINE_VALID= ATE))) def =3D virNetworkDefParseNode(xml, xmlDocGetRootElement(xml), xml= opt); =20 xmlKeepBlanksDefault(keepBlanksDefault); @@ -2101,9 +2103,10 @@ virNetworkDefParse(const char *xmlStr, =20 virNetworkDef * virNetworkDefParseString(const char *xmlStr, - virNetworkXMLOption *xmlopt) + virNetworkXMLOption *xmlopt, + unsigned int flags) { - return virNetworkDefParse(xmlStr, NULL, xmlopt); + return virNetworkDefParse(xmlStr, NULL, xmlopt, flags); } =20 =20 @@ -2111,7 +2114,7 @@ virNetworkDef * virNetworkDefParseFile(const char *filename, virNetworkXMLOption *xmlopt) { - return virNetworkDefParse(NULL, filename, xmlopt); + return virNetworkDefParse(NULL, filename, xmlopt, 0); } =20 =20 diff --git a/src/conf/network_conf.h b/src/conf/network_conf.h index 6199f3f588..34007e1969 100644 --- a/src/conf/network_conf.h +++ b/src/conf/network_conf.h @@ -327,7 +327,8 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt, =20 virNetworkDef * virNetworkDefParseString(const char *xmlStr, - virNetworkXMLOption *xmlopt); + virNetworkXMLOption *xmlopt, + unsigned int flags); =20 virNetworkDef * virNetworkDefParseFile(const char *filename, diff --git a/src/esx/esx_network_driver.c b/src/esx/esx_network_driver.c index 72b5a4f235..8a0cfa3729 100644 --- a/src/esx/esx_network_driver.c +++ b/src/esx/esx_network_driver.c @@ -298,7 +298,7 @@ esxNetworkDefineXMLFlags(virConnectPtr conn, const char= *xml, return NULL; =20 /* Parse network XML */ - def =3D virNetworkDefParseString(xml, NULL); + def =3D virNetworkDefParseString(xml, NULL, 0); =20 if (!def) return NULL; diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 0f27b1d180..207163cde2 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -3474,7 +3474,7 @@ networkCreateXML(virConnectPtr conn, virNetworkPtr net =3D NULL; virObjectEvent *event =3D NULL; =20 - if (!(newDef =3D virNetworkDefParseString(xml, network_driver->xmlopt)= )) + if (!(newDef =3D virNetworkDefParseString(xml, network_driver->xmlopt,= 0))) goto cleanup; =20 if (virNetworkCreateXMLEnsureACL(conn, newDef) < 0) @@ -3529,7 +3529,7 @@ networkDefineXMLFlags(virConnectPtr conn, =20 virCheckFlags(0, NULL); =20 - if (!(def =3D virNetworkDefParseString(xml, network_driver->xmlopt))) + if (!(def =3D virNetworkDefParseString(xml, network_driver->xmlopt, 0)= )) goto cleanup; =20 if (virNetworkDefineXMLFlagsEnsureACL(conn, def) < 0) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 77da9992f4..df3bd66c0c 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4784,7 +4784,7 @@ qemuProcessGetNetworkAddress(const char *netname, if (!xml) goto cleanup; =20 - netdef =3D virNetworkDefParseString(xml, NULL); + netdef =3D virNetworkDefParseString(xml, NULL, 0); if (!netdef) goto cleanup; =20 diff --git a/src/test/test_driver.c b/src/test/test_driver.c index d9203c9568..117d1e6ba9 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -5581,7 +5581,7 @@ testNetworkCreateXML(virConnectPtr conn, const char *= xml) virNetworkPtr net =3D NULL; virObjectEvent *event =3D NULL; =20 - if ((newDef =3D virNetworkDefParseString(xml, NULL)) =3D=3D NULL) + if ((newDef =3D virNetworkDefParseString(xml, NULL, 0)) =3D=3D NULL) goto cleanup; =20 if (!(obj =3D virNetworkObjAssignDef(privconn->networks, newDef, @@ -5620,7 +5620,7 @@ testNetworkDefineXMLFlags(virConnectPtr conn, =20 virCheckFlags(0, NULL); =20 - if ((newDef =3D virNetworkDefParseString(xml, NULL)) =3D=3D NULL) + if ((newDef =3D virNetworkDefParseString(xml, NULL, 0)) =3D=3D NULL) goto cleanup; =20 if (!(obj =3D virNetworkObjAssignDef(privconn->networks, newDef, 0))) diff --git a/src/vbox/vbox_network.c b/src/vbox/vbox_network.c index cce43ee5af..804f9f0b01 100644 --- a/src/vbox/vbox_network.c +++ b/src/vbox/vbox_network.c @@ -397,7 +397,7 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const ch= ar *xml, bool start, =20 VBOX_IID_INITIALIZE(&vboxnetiid); =20 - if (!(def =3D virNetworkDefParseString(xml, NULL)) || + if (!(def =3D virNetworkDefParseString(xml, NULL, 0)) || (def->forward.type !=3D VIR_NETWORK_FORWARD_NONE) || (def->nips =3D=3D 0 || !def->ips)) goto cleanup; --=20 2.31.1 From nobody Mon May 6 04:52:14 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=1629737546; cv=none; d=zohomail.com; s=zohoarc; b=fT1tXwowQAt8aVJ+GEYhmDVIvntmhC8vz5ajqQZhy/cHpLbFRl4qt6Wu3ZhqqZd8zn41VGBpu16O38Bgi+ojCLAori07iIGdDapRxZTS8elyUsHaKQ1qh7EbKN/zkBILnqHrUWFDv3AE4SO17ft1lyCsI4e4o+hyJFrJjgoIoY0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629737546; 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=tiK1haflQJqRo/iv5cCuIhOwB+qgN88QLKn94z3RQbI=; b=f6XnexfLbvWErp3RB6PeVL/S7lABfBzeNBxQvMjIELiUH/qDyjDaGNvDpZtqPZH/lDjZLFRn8DKel/GwfbDhcwd8qSknTFOk5T5BsoMDr/2uLfD50lzW1vb/2QlmyHsH1oA9vfkjioMYff6H0nQFMPbRYmQ2yz0BI4Z6CmRbwcY= 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 1629737546556949.4656850312506; Mon, 23 Aug 2021 09:52:26 -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-179-i3ESUsc_NM2pW6XzKCs_Yw-1; Mon, 23 Aug 2021 12:52:24 -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 CB47D100E421; Mon, 23 Aug 2021 16:52:17 +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 AC3355F724; Mon, 23 Aug 2021 16:52:17 +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 7B8104A705; Mon, 23 Aug 2021 16:52:17 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17NGoYRs031669 for ; Mon, 23 Aug 2021 12:50:34 -0400 Received: by smtp.corp.redhat.com (Postfix) id B029310372E4; Mon, 23 Aug 2021 16:50:34 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 3A6C810372D5 for ; Mon, 23 Aug 2021 16:50:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629737545; 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=tiK1haflQJqRo/iv5cCuIhOwB+qgN88QLKn94z3RQbI=; b=g75vp5qoqrDGbKdsRTwDpNv9w6daGa7JovzAILB+pnHf5ucabhIy5H2wPg6Wp9PE+g5K36 NqfdnetMkwsWtsvu2mkce48OyO4vu8WnZ/hcUKQ/XpPnuyMrRPLjiwO32gglvE+eiHpJ8V lCc7cfj5zJ/igjdo1NvSQsLXTqG0Ib8= X-MC-Unique: i3ESUsc_NM2pW6XzKCs_Yw-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 6/7] network: allow VIR_NETWORK_DEFINE_VALIDATE flag Date: Mon, 23 Aug 2021 18:50:13 +0200 Message-Id: <04f726de138a668a650b00b62a075ecb6cefc159.1629737311.git.khanicov@redhat.com> In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 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: 1629737548840100001 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kristina Hanicova Reviewed-by: Michal Privoznik --- src/esx/esx_network_driver.c | 4 ++-- src/network/bridge_driver.c | 4 ++-- src/test/test_driver.c | 4 ++-- src/vbox/vbox_network.c | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/esx/esx_network_driver.c b/src/esx/esx_network_driver.c index 8a0cfa3729..673ed5421f 100644 --- a/src/esx/esx_network_driver.c +++ b/src/esx/esx_network_driver.c @@ -292,13 +292,13 @@ esxNetworkDefineXMLFlags(virConnectPtr conn, const ch= ar *xml, =20 unsigned char md5[VIR_CRYPTO_HASH_SIZE_MD5]; /* VIR_CRYPTO_HASH_SIZE_M= D5 =3D VIR_UUID_BUFLEN =3D 16 */ =20 - virCheckFlags(0, NULL); + virCheckFlags(VIR_NETWORK_DEFINE_VALIDATE, NULL); =20 if (esxVI_EnsureSession(priv->primary) < 0) return NULL; =20 /* Parse network XML */ - def =3D virNetworkDefParseString(xml, NULL, 0); + def =3D virNetworkDefParseString(xml, NULL, flags); =20 if (!def) return NULL; diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index 207163cde2..e8b9ffa1fc 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -3527,9 +3527,9 @@ networkDefineXMLFlags(virConnectPtr conn, virNetworkPtr net =3D NULL; virObjectEvent *event =3D NULL; =20 - virCheckFlags(0, NULL); + virCheckFlags(VIR_NETWORK_DEFINE_VALIDATE, NULL); =20 - if (!(def =3D virNetworkDefParseString(xml, network_driver->xmlopt, 0)= )) + if (!(def =3D virNetworkDefParseString(xml, network_driver->xmlopt, fl= ags))) goto cleanup; =20 if (virNetworkDefineXMLFlagsEnsureACL(conn, def) < 0) diff --git a/src/test/test_driver.c b/src/test/test_driver.c index 117d1e6ba9..f60ea870db 100644 --- a/src/test/test_driver.c +++ b/src/test/test_driver.c @@ -5618,9 +5618,9 @@ testNetworkDefineXMLFlags(virConnectPtr conn, virNetworkPtr net =3D NULL; virObjectEvent *event =3D NULL; =20 - virCheckFlags(0, NULL); + virCheckFlags(VIR_NETWORK_DEFINE_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, 0))) diff --git a/src/vbox/vbox_network.c b/src/vbox/vbox_network.c index 804f9f0b01..c554b052c9 100644 --- a/src/vbox/vbox_network.c +++ b/src/vbox/vbox_network.c @@ -386,7 +386,7 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const ch= ar *xml, bool start, virNetworkPtr ret =3D NULL; nsresult rc; =20 - virCheckFlags(0, NULL); + virCheckFlags(VIR_NETWORK_DEFINE_VALIDATE, NULL); =20 if (!data->vboxObj) return ret; @@ -397,7 +397,7 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const ch= ar *xml, bool start, =20 VBOX_IID_INITIALIZE(&vboxnetiid); =20 - if (!(def =3D virNetworkDefParseString(xml, NULL, 0)) || + if (!(def =3D virNetworkDefParseString(xml, NULL, flags)) || (def->forward.type !=3D VIR_NETWORK_FORWARD_NONE) || (def->nips =3D=3D 0 || !def->ips)) goto cleanup; --=20 2.31.1 From nobody Mon May 6 04:52:14 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=1629737548; cv=none; d=zohomail.com; s=zohoarc; b=lt/S4M8ByYJSVA25oknJ104BVBBtgKVa1+6CSiZdCy23xvM0js9h+pFeZbUVSOksEcTP6kQTDfldBJ1B0OkEaFwNta1Kx64FEc1u3jwE2G8x4RWg+vhtgYk3Eb89/aWwfx3b4R7/ybOtAATnm+Ehf2CTLgaGnWHasJyN5/47fnM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1629737548; 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=8Xz/vmjW6DI/zL80zMSWC2oyCKxX5guyDSyY0as6XIk=; b=Pth/PJ/rCGJi+q5T6WPQ6ny4fsA0ldfEO8XPwsj2xi1aQJ/xx8W7QgymGW0qfeW6OY57K9ROXwRBaNHGBZO1yg9oXY6Afx2+2dPbPH8CEeyWJXJ9hZIsW+GlHWw3F3FkeKyAxUM04hdFBKoxDvGQ2iKN5Hg9udYNZblA1DUqJ50= 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 1629737548582812.4110698823566; Mon, 23 Aug 2021 09:52:28 -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-427--A87dsXNNHW2X9_qbFuskw-1; Mon, 23 Aug 2021 12:52:26 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 80BBC94EE1; Mon, 23 Aug 2021 16:52:20 +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 60D435D9D3; Mon, 23 Aug 2021 16:52:20 +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 29EB34A709; Mon, 23 Aug 2021 16:52:20 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 17NGoZ83031676 for ; Mon, 23 Aug 2021 12:50:35 -0400 Received: by smtp.corp.redhat.com (Postfix) id 8325A10372E4; Mon, 23 Aug 2021 16:50:35 +0000 (UTC) Received: from localhost.localdomain.com (unknown [10.43.2.2]) by smtp.corp.redhat.com (Postfix) with ESMTP id 0A53D10372D5 for ; Mon, 23 Aug 2021 16:50:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1629737547; 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=8Xz/vmjW6DI/zL80zMSWC2oyCKxX5guyDSyY0as6XIk=; b=LtDvParQ592zuTtPIPrdT1O19uvXg20psq7gIeQkmPaDZDNzISiNGLVU/geMIuxJj7pJGA ofQWZMMUp9MCqHOtpkp7K/9BPDsmSy3qgrQ6WM8XByq+E02ZMi/qNJnPI9wR1Gkb6ylq9+ pudZsmEUYlRoBgyY4XHOPnlLrjOEFRk= X-MC-Unique: -A87dsXNNHW2X9_qbFuskw-1 From: Kristina Hanicova To: libvir-list@redhat.com Subject: [PATCH 7/7] virsh: add support for '--validate' option in define network Date: Mon, 23 Aug 2021 18:50:14 +0200 Message-Id: In-Reply-To: References: MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22 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.14 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: 1629737548946100002 Content-Type: text/plain; charset="utf-8" Signed-off-by: Kristina Hanicova Reviewed-by: Michal Privoznik --- 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 e0cdabf3aa..850a862fd9 100644 --- a/docs/manpages/virsh.rst +++ b/docs/manpages/virsh.rst @@ -5177,10 +5177,12 @@ net-define =20 :: =20 - net-define file + net-define file [--validate] =20 Define an inactive persistent virtual network or modify an existing persis= tent one from the XML *file*. +Optionally, the format of the input XML file can be validated against an +internal RNG schema with *--validate*. =20 =20 net-destroy diff --git a/tools/virsh-network.c b/tools/virsh-network.c index 0d61e20093..badbcd0a92 100644 --- a/tools/virsh-network.c +++ b/tools/virsh-network.c @@ -244,6 +244,10 @@ static const vshCmdInfo info_network_define[] =3D { =20 static const vshCmdOptDef opts_network_define[] =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 @@ -254,15 +258,22 @@ cmdNetworkDefine(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_DEFINE_VALIDATE; + if (virFileReadAll(from, VSH_MAX_XML_FILE, &buffer) < 0) return false; =20 - network =3D virNetworkDefineXML(priv->conn, buffer); + if (flags) + network =3D virNetworkDefineXMLFlags(priv->conn, buffer, flags); + else + network =3D virNetworkDefineXML(priv->conn, buffer); =20 if (network !=3D NULL) { vshPrintExtra(ctl, _("Network %s defined from %s\n"), --=20 2.31.1