mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-27 18:03:50 +03:00
conf: Add virNetworkXMLOption
Just a stub for now that is unused. Add init+cleanup plumbing and demostrate it in bridge_driver.c Reviewed-by: Laine Stump <laine@laine.org> Signed-off-by: Cole Robinson <crobinso@redhat.com>
This commit is contained in:
parent
d51522eb57
commit
dc2c4f8435
@ -73,6 +73,39 @@ VIR_ENUM_IMPL(virNetworkTaint,
|
|||||||
"hook-script",
|
"hook-script",
|
||||||
);
|
);
|
||||||
|
|
||||||
|
static virClassPtr virNetworkXMLOptionClass;
|
||||||
|
|
||||||
|
static void
|
||||||
|
virNetworkXMLOptionDispose(void *obj ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
virNetworkXMLOnceInit(void)
|
||||||
|
{
|
||||||
|
if (!VIR_CLASS_NEW(virNetworkXMLOption, virClassForObject()))
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
VIR_ONCE_GLOBAL_INIT(virNetworkXML);
|
||||||
|
|
||||||
|
virNetworkXMLOptionPtr
|
||||||
|
virNetworkXMLOptionNew(void)
|
||||||
|
{
|
||||||
|
virNetworkXMLOptionPtr xmlopt;
|
||||||
|
|
||||||
|
if (virNetworkXMLInitialize() < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (!(xmlopt = virObjectNew(virNetworkXMLOptionClass)))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return xmlopt;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
virPortGroupDefClear(virPortGroupDefPtr def)
|
virPortGroupDefClear(virPortGroupDefPtr def)
|
||||||
{
|
{
|
||||||
|
@ -41,6 +41,14 @@
|
|||||||
#include "virmacmap.h"
|
#include "virmacmap.h"
|
||||||
#include "virenum.h"
|
#include "virenum.h"
|
||||||
|
|
||||||
|
|
||||||
|
struct _virNetworkXMLOption {
|
||||||
|
virObject parent;
|
||||||
|
};
|
||||||
|
typedef struct _virNetworkXMLOption virNetworkXMLOption;
|
||||||
|
typedef virNetworkXMLOption *virNetworkXMLOptionPtr;
|
||||||
|
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
VIR_NETWORK_FORWARD_NONE = 0,
|
VIR_NETWORK_FORWARD_NONE = 0,
|
||||||
VIR_NETWORK_FORWARD_NAT,
|
VIR_NETWORK_FORWARD_NAT,
|
||||||
@ -289,6 +297,9 @@ enum {
|
|||||||
VIR_NETWORK_OBJ_LIST_ADD_CHECK_LIVE = (1 << 1),
|
VIR_NETWORK_OBJ_LIST_ADD_CHECK_LIVE = (1 << 1),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
virNetworkXMLOptionPtr
|
||||||
|
virNetworkXMLOptionNew(void);
|
||||||
|
|
||||||
virNetworkDefPtr
|
virNetworkDefPtr
|
||||||
virNetworkDefCopy(virNetworkDefPtr def, unsigned int flags);
|
virNetworkDefCopy(virNetworkDefPtr def, unsigned int flags);
|
||||||
|
|
||||||
|
@ -730,6 +730,7 @@ virNetworkSaveConfig;
|
|||||||
virNetworkSetBridgeMacAddr;
|
virNetworkSetBridgeMacAddr;
|
||||||
virNetworkTaintTypeFromString;
|
virNetworkTaintTypeFromString;
|
||||||
virNetworkTaintTypeToString;
|
virNetworkTaintTypeToString;
|
||||||
|
virNetworkXMLOptionNew;
|
||||||
virPortGroupFindByName;
|
virPortGroupFindByName;
|
||||||
|
|
||||||
|
|
||||||
|
@ -136,6 +136,12 @@ networkDnsmasqCapsRefresh(virNetworkDriverStatePtr driver)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static virNetworkXMLOptionPtr
|
||||||
|
networkDnsmasqCreateXMLConf(void)
|
||||||
|
{
|
||||||
|
return virNetworkXMLOptionNew();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
networkStateCleanup(void);
|
networkStateCleanup(void);
|
||||||
@ -605,6 +611,9 @@ networkStateInitialize(bool privileged,
|
|||||||
|
|
||||||
network_driver->privileged = privileged;
|
network_driver->privileged = privileged;
|
||||||
|
|
||||||
|
if (!(network_driver->xmlopt = networkDnsmasqCreateXMLConf()))
|
||||||
|
goto error;
|
||||||
|
|
||||||
/* configuration/state paths are one of
|
/* configuration/state paths are one of
|
||||||
* ~/.config/libvirt/... (session/unprivileged)
|
* ~/.config/libvirt/... (session/unprivileged)
|
||||||
* /etc/libvirt/... && /var/(run|lib)/libvirt/... (system/privileged).
|
* /etc/libvirt/... && /var/(run|lib)/libvirt/... (system/privileged).
|
||||||
@ -766,6 +775,7 @@ networkStateCleanup(void)
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
virObjectUnref(network_driver->networkEventState);
|
virObjectUnref(network_driver->networkEventState);
|
||||||
|
virObjectUnref(network_driver->xmlopt);
|
||||||
|
|
||||||
/* free inactive networks */
|
/* free inactive networks */
|
||||||
virObjectUnref(network_driver->networks);
|
virObjectUnref(network_driver->networks);
|
||||||
|
@ -55,6 +55,8 @@ struct _virNetworkDriverState {
|
|||||||
|
|
||||||
/* Immutable pointer, self-locking APIs */
|
/* Immutable pointer, self-locking APIs */
|
||||||
virObjectEventStatePtr networkEventState;
|
virObjectEventStatePtr networkEventState;
|
||||||
|
|
||||||
|
virNetworkXMLOptionPtr xmlopt;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct _virNetworkDriverState virNetworkDriverState;
|
typedef struct _virNetworkDriverState virNetworkDriverState;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user