This patch also includes propagation of flags into the
virNetworkDefParse().
Signed-off-by: Kristina Hanicova <khanicov(a)redhat.com>
---
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 *iface)
if (!(xml = virNetworkGetXMLDesc(net, 0)))
goto cleanup;
- if (!(def = virNetworkDefParseString(xml, NULL)))
+ if (!(def = virNetworkDefParseString(xml, NULL, 0)))
goto cleanup;
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 = virNetworkDefFormat(def, xmlopt, flags)))
return NULL;
- return virNetworkDefParseString(xml, xmlopt);
+ return virNetworkDefParseString(xml, xmlopt, 0);
}
@@ -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 = NULL;
virNetworkDef *def = NULL;
int keepBlanksDefault = xmlKeepBlanksDefault(0);
- if ((xml = virXMLParse(filename, xmlStr, _("(network_definition)"), NULL,
false)))
+ if ((xml = virXMLParse(filename, xmlStr, _("(network_definition)"),
+ "network.rng", flags &
VIR_NETWORK_DEFINE_VALIDATE)))
def = virNetworkDefParseNode(xml, xmlDocGetRootElement(xml), xmlopt);
xmlKeepBlanksDefault(keepBlanksDefault);
@@ -2101,9 +2103,10 @@ virNetworkDefParse(const char *xmlStr,
virNetworkDef *
virNetworkDefParseString(const char *xmlStr,
- virNetworkXMLOption *xmlopt)
+ virNetworkXMLOption *xmlopt,
+ unsigned int flags)
{
- return virNetworkDefParse(xmlStr, NULL, xmlopt);
+ return virNetworkDefParse(xmlStr, NULL, xmlopt, flags);
}
@@ -2111,7 +2114,7 @@ virNetworkDef *
virNetworkDefParseFile(const char *filename,
virNetworkXMLOption *xmlopt)
{
- return virNetworkDefParse(NULL, filename, xmlopt);
+ return virNetworkDefParse(NULL, filename, xmlopt, 0);
}
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,
virNetworkDef *
virNetworkDefParseString(const char *xmlStr,
- virNetworkXMLOption *xmlopt);
+ virNetworkXMLOption *xmlopt,
+ unsigned int flags);
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;
/* Parse network XML */
- def = virNetworkDefParseString(xml, NULL);
+ def = virNetworkDefParseString(xml, NULL, 0);
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 = NULL;
virObjectEvent *event = NULL;
- if (!(newDef = virNetworkDefParseString(xml, network_driver->xmlopt)))
+ if (!(newDef = virNetworkDefParseString(xml, network_driver->xmlopt, 0)))
goto cleanup;
if (virNetworkCreateXMLEnsureACL(conn, newDef) < 0)
@@ -3529,7 +3529,7 @@ networkDefineXMLFlags(virConnectPtr conn,
virCheckFlags(0, NULL);
- if (!(def = virNetworkDefParseString(xml, network_driver->xmlopt)))
+ if (!(def = virNetworkDefParseString(xml, network_driver->xmlopt, 0)))
goto cleanup;
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;
- netdef = virNetworkDefParseString(xml, NULL);
+ netdef = virNetworkDefParseString(xml, NULL, 0);
if (!netdef)
goto cleanup;
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 = NULL;
virObjectEvent *event = NULL;
- if ((newDef = virNetworkDefParseString(xml, NULL)) == NULL)
+ if ((newDef = virNetworkDefParseString(xml, NULL, 0)) == NULL)
goto cleanup;
if (!(obj = virNetworkObjAssignDef(privconn->networks, newDef,
@@ -5620,7 +5620,7 @@ testNetworkDefineXMLFlags(virConnectPtr conn,
virCheckFlags(0, NULL);
- if ((newDef = virNetworkDefParseString(xml, NULL)) == NULL)
+ if ((newDef = virNetworkDefParseString(xml, NULL, 0)) == NULL)
goto cleanup;
if (!(obj = 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 char *xml, bool
start,
VBOX_IID_INITIALIZE(&vboxnetiid);
- if (!(def = virNetworkDefParseString(xml, NULL)) ||
+ if (!(def = virNetworkDefParseString(xml, NULL, 0)) ||
(def->forward.type != VIR_NETWORK_FORWARD_NONE) ||
(def->nips == 0 || !def->ips))
goto cleanup;
--
2.31.1