network: allow VIR_NETWORK_CREATE_VALIDATE flag

Signed-off-by: Kristina Hanicova <khanicov@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
Kristina Hanicova 2021-09-15 13:07:30 +02:00 committed by Michal Privoznik
parent d0c80da88a
commit f6b83df5b3
3 changed files with 15 additions and 7 deletions

View File

@ -3475,9 +3475,10 @@ networkCreateXMLFlags(virConnectPtr conn,
virNetworkPtr net = NULL;
virObjectEvent *event = NULL;
virCheckFlags(0, NULL);
virCheckFlags(VIR_NETWORK_CREATE_VALIDATE, NULL);
if (!(newDef = virNetworkDefParseString(xml, network_driver->xmlopt, false)))
if (!(newDef = virNetworkDefParseString(xml, network_driver->xmlopt,
!!(flags & VIR_NETWORK_CREATE_VALIDATE))))
goto cleanup;
if (virNetworkCreateXMLFlagsEnsureACL(conn, newDef) < 0)

View File

@ -5582,9 +5582,10 @@ testNetworkCreateXMLFlags(virConnectPtr conn, const char *xml,
virNetworkPtr net = NULL;
virObjectEvent *event = NULL;
virCheckFlags(0, NULL);
virCheckFlags(VIR_NETWORK_CREATE_VALIDATE, NULL);
if ((newDef = virNetworkDefParseString(xml, NULL, false)) == NULL)
if (!(newDef = virNetworkDefParseString(xml, NULL,
!!(flags & VIR_NETWORK_CREATE_VALIDATE))))
goto cleanup;
if (!(obj = virNetworkObjAssignDef(privconn->networks, newDef,

View File

@ -385,8 +385,15 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const char *xml, bool start,
IHost *host = NULL;
virNetworkPtr ret = NULL;
nsresult rc;
bool validate;
virCheckFlags(VIR_NETWORK_DEFINE_VALIDATE, NULL);
if (start) {
virCheckFlags(VIR_NETWORK_CREATE_VALIDATE, NULL);
validate = flags & VIR_NETWORK_CREATE_VALIDATE;
} else {
virCheckFlags(VIR_NETWORK_DEFINE_VALIDATE, NULL);
validate = flags & VIR_NETWORK_DEFINE_VALIDATE;
}
if (!data->vboxObj)
return ret;
@ -397,8 +404,7 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const char *xml, bool start,
VBOX_IID_INITIALIZE(&vboxnetiid);
if (!(def = virNetworkDefParseString(xml, NULL,
!!(flags & VIR_NETWORK_DEFINE_VALIDATE))) ||
if (!(def = virNetworkDefParseString(xml, NULL, validate)) ||
(def->forward.type != VIR_NETWORK_FORWARD_NONE) ||
(def->nips == 0 || !def->ips))
goto cleanup;