mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
conf: Add network xmlopt argument
Pass an xmlopt argument through all the needed network conf functions, like is done for domain XML handling. No functional change for now Reviewed-by: Laine Stump <laine@laine.org> Signed-off-by: Cole Robinson <crobinso@redhat.com>
This commit is contained in:
parent
dc2c4f8435
commit
8911d843f3
@ -30936,7 +30936,7 @@ virDomainNetResolveActualType(virDomainNetDefPtr iface)
|
||||
if (!(xml = virNetworkGetXMLDesc(net, 0)))
|
||||
goto cleanup;
|
||||
|
||||
if (!(def = virNetworkDefParseString(xml)))
|
||||
if (!(def = virNetworkDefParseString(xml, NULL)))
|
||||
goto cleanup;
|
||||
|
||||
switch ((virNetworkForwardType) def->forward.type) {
|
||||
|
@ -282,7 +282,9 @@ virNetworkDefFree(virNetworkDefPtr def)
|
||||
* Returns a new NetworkDef on success, or NULL on failure.
|
||||
*/
|
||||
virNetworkDefPtr
|
||||
virNetworkDefCopy(virNetworkDefPtr def, unsigned int flags)
|
||||
virNetworkDefCopy(virNetworkDefPtr def,
|
||||
virNetworkXMLOptionPtr xmlopt,
|
||||
unsigned int flags)
|
||||
{
|
||||
char *xml = NULL;
|
||||
virNetworkDefPtr newDef = NULL;
|
||||
@ -294,9 +296,9 @@ virNetworkDefCopy(virNetworkDefPtr def, unsigned int flags)
|
||||
}
|
||||
|
||||
/* deep copy with a format/parse cycle */
|
||||
if (!(xml = virNetworkDefFormat(def, flags)))
|
||||
if (!(xml = virNetworkDefFormat(def, xmlopt, flags)))
|
||||
goto cleanup;
|
||||
newDef = virNetworkDefParseString(xml);
|
||||
newDef = virNetworkDefParseString(xml, xmlopt);
|
||||
cleanup:
|
||||
VIR_FREE(xml);
|
||||
return newDef;
|
||||
@ -1619,7 +1621,8 @@ virNetworkForwardDefParseXML(const char *networkName,
|
||||
|
||||
|
||||
virNetworkDefPtr
|
||||
virNetworkDefParseXML(xmlXPathContextPtr ctxt)
|
||||
virNetworkDefParseXML(xmlXPathContextPtr ctxt,
|
||||
virNetworkXMLOptionPtr xmlopt ATTRIBUTE_UNUSED)
|
||||
{
|
||||
virNetworkDefPtr def;
|
||||
char *tmp = NULL;
|
||||
@ -2059,14 +2062,15 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt)
|
||||
|
||||
static virNetworkDefPtr
|
||||
virNetworkDefParse(const char *xmlStr,
|
||||
const char *filename)
|
||||
const char *filename,
|
||||
virNetworkXMLOptionPtr xmlopt)
|
||||
{
|
||||
xmlDocPtr xml;
|
||||
virNetworkDefPtr def = NULL;
|
||||
int keepBlanksDefault = xmlKeepBlanksDefault(0);
|
||||
|
||||
if ((xml = virXMLParse(filename, xmlStr, _("(network_definition)")))) {
|
||||
def = virNetworkDefParseNode(xml, xmlDocGetRootElement(xml));
|
||||
def = virNetworkDefParseNode(xml, xmlDocGetRootElement(xml), xmlopt);
|
||||
xmlFreeDoc(xml);
|
||||
}
|
||||
|
||||
@ -2076,22 +2080,25 @@ virNetworkDefParse(const char *xmlStr,
|
||||
|
||||
|
||||
virNetworkDefPtr
|
||||
virNetworkDefParseString(const char *xmlStr)
|
||||
virNetworkDefParseString(const char *xmlStr,
|
||||
virNetworkXMLOptionPtr xmlopt)
|
||||
{
|
||||
return virNetworkDefParse(xmlStr, NULL);
|
||||
return virNetworkDefParse(xmlStr, NULL, xmlopt);
|
||||
}
|
||||
|
||||
|
||||
virNetworkDefPtr
|
||||
virNetworkDefParseFile(const char *filename)
|
||||
virNetworkDefParseFile(const char *filename,
|
||||
virNetworkXMLOptionPtr xmlopt)
|
||||
{
|
||||
return virNetworkDefParse(NULL, filename);
|
||||
return virNetworkDefParse(NULL, filename, xmlopt);
|
||||
}
|
||||
|
||||
|
||||
virNetworkDefPtr
|
||||
virNetworkDefParseNode(xmlDocPtr xml,
|
||||
xmlNodePtr root)
|
||||
xmlNodePtr root,
|
||||
virNetworkXMLOptionPtr xmlopt)
|
||||
{
|
||||
xmlXPathContextPtr ctxt = NULL;
|
||||
virNetworkDefPtr def = NULL;
|
||||
@ -2111,7 +2118,7 @@ virNetworkDefParseNode(xmlDocPtr xml,
|
||||
}
|
||||
|
||||
ctxt->node = root;
|
||||
def = virNetworkDefParseXML(ctxt);
|
||||
def = virNetworkDefParseXML(ctxt, xmlopt);
|
||||
|
||||
cleanup:
|
||||
xmlXPathFreeContext(ctxt);
|
||||
@ -2405,6 +2412,7 @@ virNetworkForwardNatDefFormat(virBufferPtr buf,
|
||||
int
|
||||
virNetworkDefFormatBuf(virBufferPtr buf,
|
||||
const virNetworkDef *def,
|
||||
virNetworkXMLOptionPtr xmlopt ATTRIBUTE_UNUSED,
|
||||
unsigned int flags)
|
||||
{
|
||||
const unsigned char *uuid;
|
||||
@ -2631,11 +2639,12 @@ virNetworkDefFormatBuf(virBufferPtr buf,
|
||||
|
||||
char *
|
||||
virNetworkDefFormat(const virNetworkDef *def,
|
||||
virNetworkXMLOptionPtr xmlopt,
|
||||
unsigned int flags)
|
||||
{
|
||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||
|
||||
if (virNetworkDefFormatBuf(&buf, def, flags) < 0)
|
||||
if (virNetworkDefFormatBuf(&buf, def, xmlopt, flags) < 0)
|
||||
goto error;
|
||||
|
||||
if (virBufferCheckError(&buf) < 0)
|
||||
@ -2709,12 +2718,13 @@ virNetworkSaveXML(const char *configDir,
|
||||
|
||||
int
|
||||
virNetworkSaveConfig(const char *configDir,
|
||||
virNetworkDefPtr def)
|
||||
virNetworkDefPtr def,
|
||||
virNetworkXMLOptionPtr xmlopt)
|
||||
{
|
||||
int ret = -1;
|
||||
char *xml;
|
||||
|
||||
if (!(xml = virNetworkDefFormat(def, VIR_NETWORK_XML_INACTIVE)))
|
||||
if (!(xml = virNetworkDefFormat(def, xmlopt, VIR_NETWORK_XML_INACTIVE)))
|
||||
goto cleanup;
|
||||
|
||||
if (virNetworkSaveXML(configDir, def, xml))
|
||||
|
@ -301,28 +301,36 @@ virNetworkXMLOptionPtr
|
||||
virNetworkXMLOptionNew(void);
|
||||
|
||||
virNetworkDefPtr
|
||||
virNetworkDefCopy(virNetworkDefPtr def, unsigned int flags);
|
||||
virNetworkDefCopy(virNetworkDefPtr def,
|
||||
virNetworkXMLOptionPtr xmlopt,
|
||||
unsigned int flags);
|
||||
|
||||
virNetworkDefPtr
|
||||
virNetworkDefParseXML(xmlXPathContextPtr ctxt);
|
||||
virNetworkDefParseXML(xmlXPathContextPtr ctxt,
|
||||
virNetworkXMLOptionPtr xmlopt);
|
||||
|
||||
virNetworkDefPtr
|
||||
virNetworkDefParseString(const char *xmlStr);
|
||||
virNetworkDefParseString(const char *xmlStr,
|
||||
virNetworkXMLOptionPtr xmlopt);
|
||||
|
||||
virNetworkDefPtr
|
||||
virNetworkDefParseFile(const char *filename);
|
||||
virNetworkDefParseFile(const char *filename,
|
||||
virNetworkXMLOptionPtr xmlopt);
|
||||
|
||||
virNetworkDefPtr
|
||||
virNetworkDefParseNode(xmlDocPtr xml,
|
||||
xmlNodePtr root);
|
||||
xmlNodePtr root,
|
||||
virNetworkXMLOptionPtr xmlopt);
|
||||
|
||||
char *
|
||||
virNetworkDefFormat(const virNetworkDef *def,
|
||||
virNetworkXMLOptionPtr xmlopt,
|
||||
unsigned int flags);
|
||||
|
||||
int
|
||||
virNetworkDefFormatBuf(virBufferPtr buf,
|
||||
const virNetworkDef *def,
|
||||
virNetworkXMLOptionPtr xmlopt,
|
||||
unsigned int flags);
|
||||
|
||||
const char *
|
||||
@ -357,7 +365,8 @@ virNetworkSaveXML(const char *configDir,
|
||||
|
||||
int
|
||||
virNetworkSaveConfig(const char *configDir,
|
||||
virNetworkDefPtr def);
|
||||
virNetworkDefPtr def,
|
||||
virNetworkXMLOptionPtr xmlopt);
|
||||
|
||||
char *
|
||||
virNetworkConfigFile(const char *dir,
|
||||
|
@ -673,7 +673,8 @@ virNetworkObjAssignDef(virNetworkObjListPtr nets,
|
||||
*/
|
||||
int
|
||||
virNetworkObjSetDefTransient(virNetworkObjPtr obj,
|
||||
bool live)
|
||||
bool live,
|
||||
virNetworkXMLOptionPtr xmlopt)
|
||||
{
|
||||
if (!virNetworkObjIsActive(obj) && !live)
|
||||
return 0;
|
||||
@ -681,7 +682,9 @@ virNetworkObjSetDefTransient(virNetworkObjPtr obj,
|
||||
if (!obj->persistent || obj->newDef)
|
||||
return 0;
|
||||
|
||||
obj->newDef = virNetworkDefCopy(obj->def, VIR_NETWORK_XML_INACTIVE);
|
||||
obj->newDef = virNetworkDefCopy(obj->def,
|
||||
xmlopt,
|
||||
VIR_NETWORK_XML_INACTIVE);
|
||||
return obj->newDef ? 0 : -1;
|
||||
}
|
||||
|
||||
@ -759,6 +762,7 @@ virNetworkObjReplacePersistentDef(virNetworkObjPtr obj,
|
||||
*/
|
||||
static int
|
||||
virNetworkObjConfigChangeSetup(virNetworkObjPtr obj,
|
||||
virNetworkXMLOptionPtr xmlopt,
|
||||
unsigned int flags)
|
||||
{
|
||||
bool isActive;
|
||||
@ -782,7 +786,7 @@ virNetworkObjConfigChangeSetup(virNetworkObjPtr obj,
|
||||
/* this should already have been done by the driver, but do it
|
||||
* anyway just in case.
|
||||
*/
|
||||
if (isActive && (virNetworkObjSetDefTransient(obj, false) < 0))
|
||||
if (isActive && (virNetworkObjSetDefTransient(obj, false, xmlopt) < 0))
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@ -811,6 +815,7 @@ virNetworkObjRemoveInactive(virNetworkObjListPtr nets,
|
||||
|
||||
static char *
|
||||
virNetworkObjFormat(virNetworkObjPtr obj,
|
||||
virNetworkXMLOptionPtr xmlopt,
|
||||
unsigned int flags)
|
||||
{
|
||||
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||
@ -832,7 +837,7 @@ virNetworkObjFormat(virNetworkObjPtr obj,
|
||||
virNetworkTaintTypeToString(i));
|
||||
}
|
||||
|
||||
if (virNetworkDefFormatBuf(&buf, obj->def, flags) < 0)
|
||||
if (virNetworkDefFormatBuf(&buf, obj->def, xmlopt, flags) < 0)
|
||||
goto error;
|
||||
|
||||
virBufferAdjustIndent(&buf, -2);
|
||||
@ -851,13 +856,14 @@ virNetworkObjFormat(virNetworkObjPtr obj,
|
||||
|
||||
int
|
||||
virNetworkObjSaveStatus(const char *statusDir,
|
||||
virNetworkObjPtr obj)
|
||||
virNetworkObjPtr obj,
|
||||
virNetworkXMLOptionPtr xmlopt)
|
||||
{
|
||||
int ret = -1;
|
||||
int flags = 0;
|
||||
char *xml;
|
||||
|
||||
if (!(xml = virNetworkObjFormat(obj, flags)))
|
||||
if (!(xml = virNetworkObjFormat(obj, xmlopt, flags)))
|
||||
goto cleanup;
|
||||
|
||||
if (virNetworkSaveXML(statusDir, obj->def, xml))
|
||||
@ -873,7 +879,8 @@ virNetworkObjSaveStatus(const char *statusDir,
|
||||
static virNetworkObjPtr
|
||||
virNetworkLoadState(virNetworkObjListPtr nets,
|
||||
const char *stateDir,
|
||||
const char *name)
|
||||
const char *name,
|
||||
virNetworkXMLOptionPtr xmlopt)
|
||||
{
|
||||
char *configFile = NULL;
|
||||
virNetworkDefPtr def = NULL;
|
||||
@ -902,7 +909,7 @@ virNetworkLoadState(virNetworkObjListPtr nets,
|
||||
|
||||
/* parse the definition first */
|
||||
ctxt->node = node;
|
||||
if (!(def = virNetworkDefParseXML(ctxt)))
|
||||
if (!(def = virNetworkDefParseXML(ctxt, xmlopt)))
|
||||
goto error;
|
||||
|
||||
if (STRNEQ(name, def->name)) {
|
||||
@ -1000,7 +1007,8 @@ static virNetworkObjPtr
|
||||
virNetworkLoadConfig(virNetworkObjListPtr nets,
|
||||
const char *configDir,
|
||||
const char *autostartDir,
|
||||
const char *name)
|
||||
const char *name,
|
||||
virNetworkXMLOptionPtr xmlopt)
|
||||
{
|
||||
char *configFile = NULL, *autostartLink = NULL;
|
||||
virNetworkDefPtr def = NULL;
|
||||
@ -1015,7 +1023,7 @@ virNetworkLoadConfig(virNetworkObjListPtr nets,
|
||||
if ((autostart = virFileLinkPointsTo(autostartLink, configFile)) < 0)
|
||||
goto error;
|
||||
|
||||
if (!(def = virNetworkDefParseFile(configFile)))
|
||||
if (!(def = virNetworkDefParseFile(configFile, xmlopt)))
|
||||
goto error;
|
||||
|
||||
if (STRNEQ(name, def->name)) {
|
||||
@ -1033,7 +1041,7 @@ virNetworkLoadConfig(virNetworkObjListPtr nets,
|
||||
case VIR_NETWORK_FORWARD_OPEN:
|
||||
if (!def->mac_specified) {
|
||||
virNetworkSetBridgeMacAddr(def);
|
||||
virNetworkSaveConfig(configDir, def);
|
||||
virNetworkSaveConfig(configDir, def, xmlopt);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1073,7 +1081,8 @@ virNetworkLoadConfig(virNetworkObjListPtr nets,
|
||||
|
||||
int
|
||||
virNetworkObjLoadAllState(virNetworkObjListPtr nets,
|
||||
const char *stateDir)
|
||||
const char *stateDir,
|
||||
virNetworkXMLOptionPtr xmlopt)
|
||||
{
|
||||
DIR *dir;
|
||||
struct dirent *entry;
|
||||
@ -1089,7 +1098,7 @@ virNetworkObjLoadAllState(virNetworkObjListPtr nets,
|
||||
if (!virStringStripSuffix(entry->d_name, ".xml"))
|
||||
continue;
|
||||
|
||||
obj = virNetworkLoadState(nets, stateDir, entry->d_name);
|
||||
obj = virNetworkLoadState(nets, stateDir, entry->d_name, xmlopt);
|
||||
|
||||
if (obj &&
|
||||
virNetworkObjLoadAllPorts(obj, stateDir) < 0) {
|
||||
@ -1108,7 +1117,8 @@ virNetworkObjLoadAllState(virNetworkObjListPtr nets,
|
||||
int
|
||||
virNetworkObjLoadAllConfigs(virNetworkObjListPtr nets,
|
||||
const char *configDir,
|
||||
const char *autostartDir)
|
||||
const char *autostartDir,
|
||||
virNetworkXMLOptionPtr xmlopt)
|
||||
{
|
||||
DIR *dir;
|
||||
struct dirent *entry;
|
||||
@ -1129,7 +1139,8 @@ virNetworkObjLoadAllConfigs(virNetworkObjListPtr nets,
|
||||
obj = virNetworkLoadConfig(nets,
|
||||
configDir,
|
||||
autostartDir,
|
||||
entry->d_name);
|
||||
entry->d_name,
|
||||
xmlopt);
|
||||
virNetworkObjEndAPI(&obj);
|
||||
}
|
||||
|
||||
@ -1239,20 +1250,21 @@ virNetworkObjUpdate(virNetworkObjPtr obj,
|
||||
unsigned int section, /* virNetworkUpdateSection */
|
||||
int parentIndex,
|
||||
const char *xml,
|
||||
virNetworkXMLOptionPtr xmlopt,
|
||||
unsigned int flags) /* virNetworkUpdateFlags */
|
||||
{
|
||||
int ret = -1;
|
||||
virNetworkDefPtr livedef = NULL, configdef = NULL;
|
||||
|
||||
/* normalize config data, and check for common invalid requests. */
|
||||
if (virNetworkObjConfigChangeSetup(obj, flags) < 0)
|
||||
if (virNetworkObjConfigChangeSetup(obj, xmlopt, flags) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (flags & VIR_NETWORK_UPDATE_AFFECT_LIVE) {
|
||||
virNetworkDefPtr checkdef;
|
||||
|
||||
/* work on a copy of the def */
|
||||
if (!(livedef = virNetworkDefCopy(obj->def, 0)))
|
||||
if (!(livedef = virNetworkDefCopy(obj->def, xmlopt, 0)))
|
||||
goto cleanup;
|
||||
if (virNetworkDefUpdateSection(livedef, command, section,
|
||||
parentIndex, xml, flags) < 0) {
|
||||
@ -1261,7 +1273,7 @@ virNetworkObjUpdate(virNetworkObjPtr obj,
|
||||
/* run a final format/parse cycle to make sure we didn't
|
||||
* add anything illegal to the def
|
||||
*/
|
||||
if (!(checkdef = virNetworkDefCopy(livedef, 0)))
|
||||
if (!(checkdef = virNetworkDefCopy(livedef, xmlopt, 0)))
|
||||
goto cleanup;
|
||||
virNetworkDefFree(checkdef);
|
||||
}
|
||||
@ -1271,6 +1283,7 @@ virNetworkObjUpdate(virNetworkObjPtr obj,
|
||||
|
||||
/* work on a copy of the def */
|
||||
if (!(configdef = virNetworkDefCopy(virNetworkObjGetPersistentDef(obj),
|
||||
xmlopt,
|
||||
VIR_NETWORK_XML_INACTIVE))) {
|
||||
goto cleanup;
|
||||
}
|
||||
@ -1279,6 +1292,7 @@ virNetworkObjUpdate(virNetworkObjPtr obj,
|
||||
goto cleanup;
|
||||
}
|
||||
if (!(checkdef = virNetworkDefCopy(configdef,
|
||||
xmlopt,
|
||||
VIR_NETWORK_XML_INACTIVE))) {
|
||||
goto cleanup;
|
||||
}
|
||||
|
@ -140,7 +140,8 @@ virNetworkObjUpdateAssignDef(virNetworkObjPtr network,
|
||||
|
||||
int
|
||||
virNetworkObjSetDefTransient(virNetworkObjPtr network,
|
||||
bool live);
|
||||
bool live,
|
||||
virNetworkXMLOptionPtr xmlopt);
|
||||
|
||||
void
|
||||
virNetworkObjUnsetDefTransient(virNetworkObjPtr network);
|
||||
@ -191,16 +192,19 @@ virNetworkObjPortListExport(virNetworkPtr net,
|
||||
|
||||
int
|
||||
virNetworkObjSaveStatus(const char *statusDir,
|
||||
virNetworkObjPtr net) ATTRIBUTE_RETURN_CHECK;
|
||||
virNetworkObjPtr net,
|
||||
virNetworkXMLOptionPtr xmlopt) ATTRIBUTE_RETURN_CHECK;
|
||||
|
||||
int
|
||||
virNetworkObjLoadAllConfigs(virNetworkObjListPtr nets,
|
||||
const char *configDir,
|
||||
const char *autostartDir);
|
||||
const char *autostartDir,
|
||||
virNetworkXMLOptionPtr xmlopt);
|
||||
|
||||
int
|
||||
virNetworkObjLoadAllState(virNetworkObjListPtr nets,
|
||||
const char *stateDir);
|
||||
const char *stateDir,
|
||||
virNetworkXMLOptionPtr xmlopt);
|
||||
|
||||
int
|
||||
virNetworkObjDeleteConfig(const char *configDir,
|
||||
@ -218,6 +222,7 @@ virNetworkObjUpdate(virNetworkObjPtr obj,
|
||||
unsigned int section, /* virNetworkUpdateSection */
|
||||
int parentIndex,
|
||||
const char *xml,
|
||||
virNetworkXMLOptionPtr xmlopt,
|
||||
unsigned int flags); /* virNetworkUpdateFlags */
|
||||
|
||||
int
|
||||
|
@ -298,7 +298,7 @@ esxNetworkDefineXML(virConnectPtr conn, const char *xml)
|
||||
return NULL;
|
||||
|
||||
/* Parse network XML */
|
||||
def = virNetworkDefParseString(xml);
|
||||
def = virNetworkDefParseString(xml, NULL);
|
||||
|
||||
if (!def)
|
||||
return NULL;
|
||||
@ -806,7 +806,7 @@ esxNetworkGetXMLDesc(virNetworkPtr network_, unsigned int flags)
|
||||
}
|
||||
}
|
||||
|
||||
xml = virNetworkDefFormat(def, flags);
|
||||
xml = virNetworkDefFormat(def, NULL, flags);
|
||||
|
||||
cleanup:
|
||||
esxVI_HostVirtualSwitch_Free(&hostVirtualSwitch);
|
||||
|
@ -231,7 +231,7 @@ networkRunHook(virNetworkObjPtr obj,
|
||||
|
||||
virBufferAddLit(&buf, "<hookData>\n");
|
||||
virBufferAdjustIndent(&buf, 2);
|
||||
if (virNetworkDefFormatBuf(&buf, def, 0) < 0)
|
||||
if (virNetworkDefFormatBuf(&buf, def, network_driver->xmlopt, 0) < 0)
|
||||
goto cleanup;
|
||||
if (port && virNetworkPortDefFormatBuf(&buf, port) < 0)
|
||||
goto cleanup;
|
||||
@ -673,12 +673,14 @@ networkStateInitialize(bool privileged,
|
||||
goto error;
|
||||
|
||||
if (virNetworkObjLoadAllState(network_driver->networks,
|
||||
network_driver->stateDir) < 0)
|
||||
network_driver->stateDir,
|
||||
network_driver->xmlopt) < 0)
|
||||
goto error;
|
||||
|
||||
if (virNetworkObjLoadAllConfigs(network_driver->networks,
|
||||
network_driver->networkConfigDir,
|
||||
network_driver->networkAutostartDir) < 0)
|
||||
network_driver->networkAutostartDir,
|
||||
network_driver->xmlopt) < 0)
|
||||
goto error;
|
||||
|
||||
/* Update the internal status of all allegedly active
|
||||
@ -750,10 +752,12 @@ networkStateReload(void)
|
||||
return 0;
|
||||
|
||||
virNetworkObjLoadAllState(network_driver->networks,
|
||||
network_driver->stateDir);
|
||||
network_driver->stateDir,
|
||||
network_driver->xmlopt);
|
||||
virNetworkObjLoadAllConfigs(network_driver->networks,
|
||||
network_driver->networkConfigDir,
|
||||
network_driver->networkAutostartDir);
|
||||
network_driver->networkAutostartDir,
|
||||
network_driver->xmlopt);
|
||||
networkReloadFirewallRules(network_driver, false);
|
||||
networkRefreshDaemons(network_driver);
|
||||
virNetworkObjListForEach(network_driver->networks,
|
||||
@ -2789,7 +2793,7 @@ networkStartNetwork(virNetworkDriverStatePtr driver,
|
||||
virNetworkObjDeleteAllPorts(obj, driver->stateDir);
|
||||
|
||||
VIR_DEBUG("Setting current network def as transient");
|
||||
if (virNetworkObjSetDefTransient(obj, true) < 0)
|
||||
if (virNetworkObjSetDefTransient(obj, true, network_driver->xmlopt) < 0)
|
||||
goto cleanup;
|
||||
|
||||
/* Run an early hook to set-up missing devices.
|
||||
@ -2847,7 +2851,8 @@ networkStartNetwork(virNetworkDriverStatePtr driver,
|
||||
* is setup.
|
||||
*/
|
||||
VIR_DEBUG("Writing network status to disk");
|
||||
if (virNetworkObjSaveStatus(driver->stateDir, obj) < 0)
|
||||
if (virNetworkObjSaveStatus(driver->stateDir,
|
||||
obj, network_driver->xmlopt) < 0)
|
||||
goto cleanup;
|
||||
|
||||
virNetworkObjSetActive(obj, true);
|
||||
@ -3563,7 +3568,7 @@ networkCreateXML(virConnectPtr conn,
|
||||
virNetworkPtr net = NULL;
|
||||
virObjectEventPtr event = NULL;
|
||||
|
||||
if (!(newDef = virNetworkDefParseString(xml)))
|
||||
if (!(newDef = virNetworkDefParseString(xml, network_driver->xmlopt)))
|
||||
goto cleanup;
|
||||
|
||||
if (virNetworkCreateXMLEnsureACL(conn, newDef) < 0)
|
||||
@ -3615,7 +3620,7 @@ networkDefineXML(virConnectPtr conn,
|
||||
virNetworkPtr net = NULL;
|
||||
virObjectEventPtr event = NULL;
|
||||
|
||||
if (!(def = virNetworkDefParseString(xml)))
|
||||
if (!(def = virNetworkDefParseString(xml, network_driver->xmlopt)))
|
||||
goto cleanup;
|
||||
|
||||
if (virNetworkDefineXMLEnsureACL(conn, def) < 0)
|
||||
@ -3630,7 +3635,8 @@ networkDefineXML(virConnectPtr conn,
|
||||
/* def was assigned to network object */
|
||||
freeDef = false;
|
||||
|
||||
if (virNetworkSaveConfig(driver->networkConfigDir, def) < 0) {
|
||||
if (virNetworkSaveConfig(driver->networkConfigDir,
|
||||
def, network_driver->xmlopt) < 0) {
|
||||
if (!virNetworkObjIsActive(obj)) {
|
||||
virNetworkObjRemoveInactive(driver->networks, obj);
|
||||
goto cleanup;
|
||||
@ -3811,7 +3817,9 @@ networkUpdate(virNetworkPtr net,
|
||||
}
|
||||
|
||||
/* update the network config in memory/on disk */
|
||||
if (virNetworkObjUpdate(obj, command, section, parentIndex, xml, flags) < 0) {
|
||||
if (virNetworkObjUpdate(obj, command, section,
|
||||
parentIndex, xml,
|
||||
network_driver->xmlopt, flags) < 0) {
|
||||
if (needFirewallRefresh)
|
||||
ignore_value(networkAddFirewallRules(def));
|
||||
goto cleanup;
|
||||
@ -3826,7 +3834,8 @@ networkUpdate(virNetworkPtr net,
|
||||
if (flags & VIR_NETWORK_UPDATE_AFFECT_CONFIG) {
|
||||
/* save updated persistent config to disk */
|
||||
if (virNetworkSaveConfig(driver->networkConfigDir,
|
||||
virNetworkObjGetPersistentDef(obj)) < 0) {
|
||||
virNetworkObjGetPersistentDef(obj),
|
||||
network_driver->xmlopt) < 0) {
|
||||
goto cleanup;
|
||||
}
|
||||
}
|
||||
@ -3893,7 +3902,8 @@ networkUpdate(virNetworkPtr net,
|
||||
}
|
||||
|
||||
/* save current network state to disk */
|
||||
if ((ret = virNetworkObjSaveStatus(driver->stateDir, obj)) < 0)
|
||||
if ((ret = virNetworkObjSaveStatus(driver->stateDir,
|
||||
obj, network_driver->xmlopt)) < 0)
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@ -4014,7 +4024,7 @@ networkGetXMLDesc(virNetworkPtr net,
|
||||
else
|
||||
curDef = def;
|
||||
|
||||
ret = virNetworkDefFormat(curDef, flags);
|
||||
ret = virNetworkDefFormat(curDef, network_driver->xmlopt, flags);
|
||||
|
||||
cleanup:
|
||||
virNetworkObjEndAPI(&obj);
|
||||
@ -5153,7 +5163,7 @@ networkPlugBandwidthImpl(virNetworkObjPtr obj,
|
||||
tmp_floor_sum += ifaceBand->in->floor;
|
||||
virNetworkObjSetFloorSum(obj, tmp_floor_sum);
|
||||
/* update status file */
|
||||
if (virNetworkObjSaveStatus(driver->stateDir, obj) < 0) {
|
||||
if (virNetworkObjSaveStatus(driver->stateDir, obj, network_driver->xmlopt) < 0) {
|
||||
ignore_value(virBitmapClearBit(classIdMap, next_id));
|
||||
tmp_floor_sum -= ifaceBand->in->floor;
|
||||
virNetworkObjSetFloorSum(obj, tmp_floor_sum);
|
||||
@ -5243,7 +5253,8 @@ networkUnplugBandwidth(virNetworkObjPtr obj,
|
||||
/* return class ID */
|
||||
ignore_value(virBitmapClearBit(classIdMap, *class_id));
|
||||
/* update status file */
|
||||
if (virNetworkObjSaveStatus(driver->stateDir, obj) < 0) {
|
||||
if (virNetworkObjSaveStatus(driver->stateDir,
|
||||
obj, network_driver->xmlopt) < 0) {
|
||||
tmp_floor_sum += ifaceBand->in->floor;
|
||||
virNetworkObjSetFloorSum(obj, tmp_floor_sum);
|
||||
ignore_value(virBitmapSetBit(classIdMap, *class_id));
|
||||
@ -5337,7 +5348,8 @@ networkUpdatePortBandwidth(virNetworkObjPtr obj,
|
||||
|
||||
if (virNetDevBandwidthUpdateRate(def->bridge, 2,
|
||||
def->bandwidth, new_rate) < 0 ||
|
||||
virNetworkObjSaveStatus(driver->stateDir, obj) < 0) {
|
||||
virNetworkObjSaveStatus(driver->stateDir,
|
||||
obj, network_driver->xmlopt) < 0) {
|
||||
/* Ouch, rollback */
|
||||
tmp_floor_sum -= newBandwidth->in->floor;
|
||||
tmp_floor_sum += oldBandwidth->in->floor;
|
||||
|
@ -4713,7 +4713,7 @@ qemuProcessGetNetworkAddress(const char *netname,
|
||||
if (!xml)
|
||||
goto cleanup;
|
||||
|
||||
netdef = virNetworkDefParseString(xml);
|
||||
netdef = virNetworkDefParseString(xml, NULL);
|
||||
if (!netdef)
|
||||
goto cleanup;
|
||||
|
||||
|
@ -971,7 +971,7 @@ testParseNetworks(testDriverPtr privconn,
|
||||
if (!node)
|
||||
return -1;
|
||||
|
||||
def = virNetworkDefParseNode(ctxt->doc, node);
|
||||
def = virNetworkDefParseNode(ctxt->doc, node, NULL);
|
||||
if (!def)
|
||||
return -1;
|
||||
|
||||
@ -4257,7 +4257,7 @@ testNetworkCreateXML(virConnectPtr conn, const char *xml)
|
||||
virNetworkPtr net = NULL;
|
||||
virObjectEventPtr event = NULL;
|
||||
|
||||
if ((newDef = virNetworkDefParseString(xml)) == NULL)
|
||||
if ((newDef = virNetworkDefParseString(xml, NULL)) == NULL)
|
||||
goto cleanup;
|
||||
|
||||
if (!(obj = virNetworkObjAssignDef(privconn->networks, newDef,
|
||||
@ -4293,7 +4293,7 @@ testNetworkDefineXML(virConnectPtr conn,
|
||||
virNetworkPtr net = NULL;
|
||||
virObjectEventPtr event = NULL;
|
||||
|
||||
if ((newDef = virNetworkDefParseString(xml)) == NULL)
|
||||
if ((newDef = virNetworkDefParseString(xml, NULL)) == NULL)
|
||||
goto cleanup;
|
||||
|
||||
if (!(obj = virNetworkObjAssignDef(privconn->networks, newDef, 0)))
|
||||
@ -4379,7 +4379,8 @@ testNetworkUpdate(virNetworkPtr net,
|
||||
}
|
||||
|
||||
/* update the network config in memory/on disk */
|
||||
if (virNetworkObjUpdate(obj, command, section, parentIndex, xml, flags) < 0)
|
||||
if (virNetworkObjUpdate(obj, command, section,
|
||||
parentIndex, xml, NULL, flags) < 0)
|
||||
goto cleanup;
|
||||
|
||||
ret = 0;
|
||||
@ -4463,7 +4464,7 @@ testNetworkGetXMLDesc(virNetworkPtr net,
|
||||
if (!(obj = testNetworkObjFindByName(privconn, net->name)))
|
||||
goto cleanup;
|
||||
|
||||
ret = virNetworkDefFormat(virNetworkObjGetDef(obj), flags);
|
||||
ret = virNetworkDefFormat(virNetworkObjGetDef(obj), NULL, flags);
|
||||
|
||||
cleanup:
|
||||
virNetworkObjEndAPI(&obj);
|
||||
|
@ -375,7 +375,7 @@ vboxNetworkDefineCreateXML(virConnectPtr conn, const char *xml, bool start)
|
||||
PRUnichar *networkNameUtf16 = NULL;
|
||||
char *networkNameUtf8 = NULL;
|
||||
IHostNetworkInterface *networkInterface = NULL;
|
||||
virNetworkDefPtr def = virNetworkDefParseString(xml);
|
||||
virNetworkDefPtr def = virNetworkDefParseString(xml, NULL);
|
||||
virNetworkIPDefPtr ipdef = NULL;
|
||||
unsigned char uuid[VIR_UUID_BUFLEN];
|
||||
vboxIID vboxnetiid;
|
||||
@ -911,7 +911,7 @@ static char *vboxNetworkGetXMLDesc(virNetworkPtr network, unsigned int flags)
|
||||
}
|
||||
|
||||
DEBUGIID("Network UUID", &vboxnet0IID);
|
||||
ret = virNetworkDefFormat(def, 0);
|
||||
ret = virNetworkDefFormat(def, NULL, 0);
|
||||
|
||||
cleanup:
|
||||
vboxIIDUnalloc(&vboxnet0IID);
|
||||
|
@ -26,7 +26,7 @@ testCompareXMLToConfFiles(const char *inxml, const char *outconf, dnsmasqCapsPtr
|
||||
char *pidfile = NULL;
|
||||
dnsmasqContext *dctx = NULL;
|
||||
|
||||
if (!(def = virNetworkDefParseFile(inxml)))
|
||||
if (!(def = virNetworkDefParseFile(inxml, NULL)))
|
||||
goto fail;
|
||||
|
||||
if (!(obj = virNetworkObjNew()))
|
||||
|
@ -70,7 +70,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
|
||||
|
||||
virCommandSetDryRun(&buf, testCommandDryRun, NULL);
|
||||
|
||||
if (!(def = virNetworkDefParseFile(xml)))
|
||||
if (!(def = virNetworkDefParseFile(xml, NULL)))
|
||||
goto cleanup;
|
||||
|
||||
if (networkAddFirewallRules(def) < 0)
|
||||
|
@ -30,14 +30,14 @@ testCompareXMLToXMLFiles(const char *inxml, const char *outxml,
|
||||
testCompareNetXML2XMLResult result = TEST_COMPARE_NET_XML2XML_RESULT_SUCCESS;
|
||||
virNetworkDefPtr dev = NULL;
|
||||
|
||||
if (!(dev = virNetworkDefParseFile(inxml))) {
|
||||
if (!(dev = virNetworkDefParseFile(inxml, NULL))) {
|
||||
result = TEST_COMPARE_NET_XML2XML_RESULT_FAIL_PARSE;
|
||||
goto cleanup;
|
||||
}
|
||||
if (expectResult == TEST_COMPARE_NET_XML2XML_RESULT_FAIL_PARSE)
|
||||
goto cleanup;
|
||||
|
||||
if (!(actual = virNetworkDefFormat(dev, flags))) {
|
||||
if (!(actual = virNetworkDefFormat(dev, NULL, flags))) {
|
||||
result = TEST_COMPARE_NET_XML2XML_RESULT_FAIL_FORMAT;
|
||||
goto cleanup;
|
||||
}
|
||||
|
@ -27,14 +27,14 @@ testCompareXMLToXMLFiles(const char *netxml, const char *updatexml,
|
||||
if (virTestLoadFile(updatexml, &updateXmlData) < 0)
|
||||
goto error;
|
||||
|
||||
if (!(def = virNetworkDefParseFile(netxml)))
|
||||
if (!(def = virNetworkDefParseFile(netxml, NULL)))
|
||||
goto fail;
|
||||
|
||||
if (virNetworkDefUpdateSection(def, command, section, parentIndex,
|
||||
updateXmlData, 0) < 0)
|
||||
goto fail;
|
||||
|
||||
if (!(actual = virNetworkDefFormat(def, flags)))
|
||||
if (!(actual = virNetworkDefFormat(def, NULL, flags)))
|
||||
goto fail;
|
||||
|
||||
if (!expectFailure) {
|
||||
|
Loading…
Reference in New Issue
Block a user