* interface_driver.c: backend driver methods to handle physical
* interface configuration using the netcf library.
*
- * Copyright (C) 2006-2012 Red Hat, Inc.
+ * Copyright (C) 2006-2013 Red Hat, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
#define VIR_FROM_THIS VIR_FROM_INTERFACE
+#define INTERFACE_DRIVER_NAME "netcf"
+
/* Main driver state */
-struct interface_driver
+typedef struct
{
virMutex lock;
struct netcf *netcf;
-};
+} virNetcfDriverState, *virNetcfDriverStatePtr;
-static void interfaceDriverLock(struct interface_driver *driver)
+static void interfaceDriverLock(virNetcfDriverStatePtr driver)
{
virMutexLock(&driver->lock);
}
-static void interfaceDriverUnlock(struct interface_driver *driver)
+static void interfaceDriverUnlock(virNetcfDriverStatePtr driver)
{
virMutexUnlock(&driver->lock);
}
virConnectAuthPtr auth ATTRIBUTE_UNUSED,
unsigned int flags)
{
- struct interface_driver *driverState;
+ virNetcfDriverStatePtr driverState;
virCheckFlags(VIR_CONNECT_RO, VIR_DRV_OPEN_ERROR);
if (conn->interfacePrivateData != NULL)
{
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
/* close netcf instance */
ncf_close(driver->netcf);
int status,
virInterfaceObjListFilter filter)
{
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
int count;
int want = 0;
int ret = -1;
char **const names, int nnames,
virInterfaceObjListFilter filter)
{
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
int count = 0;
int want = 0;
int ret = -1;
static int netcfConnectNumOfInterfaces(virConnectPtr conn)
{
int count;
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
if (virConnectNumOfInterfacesEnsureACL(conn) < 0)
return -1;
static int netcfConnectListInterfaces(virConnectPtr conn, char **const names, int nnames)
{
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
int count;
if (virConnectListInterfacesEnsureACL(conn) < 0)
static int netcfConnectNumOfDefinedInterfaces(virConnectPtr conn)
{
int count;
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
if (virConnectNumOfDefinedInterfacesEnsureACL(conn) < 0)
return -1;
static int netcfConnectListDefinedInterfaces(virConnectPtr conn, char **const names, int nnames)
{
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
int count;
if (virConnectListDefinedInterfacesEnsureACL(conn) < 0)
virInterfacePtr **ifaces,
unsigned int flags)
{
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
int count;
size_t i;
struct netcf_if *iface = NULL;
static virInterfacePtr netcfInterfaceLookupByName(virConnectPtr conn,
const char *name)
{
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
struct netcf_if *iface;
virInterfacePtr ret = NULL;
virInterfaceDefPtr def = NULL;
static virInterfacePtr netcfInterfaceLookupByMACString(virConnectPtr conn,
const char *macstr)
{
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
struct netcf_if *iface;
int niface;
virInterfacePtr ret = NULL;
static char *netcfInterfaceGetXMLDesc(virInterfacePtr ifinfo,
unsigned int flags)
{
- struct interface_driver *driver = ifinfo->conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = ifinfo->conn->interfacePrivateData;
struct netcf_if *iface = NULL;
char *xmlstr = NULL;
virInterfaceDefPtr ifacedef = NULL;
const char *xml,
unsigned int flags)
{
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
struct netcf_if *iface = NULL;
char *xmlstr = NULL;
virInterfaceDefPtr ifacedef = NULL;
}
static int netcfInterfaceUndefine(virInterfacePtr ifinfo) {
- struct interface_driver *driver = ifinfo->conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = ifinfo->conn->interfacePrivateData;
struct netcf_if *iface = NULL;
virInterfaceDefPtr def = NULL;
int ret = -1;
static int netcfInterfaceCreate(virInterfacePtr ifinfo,
unsigned int flags)
{
- struct interface_driver *driver = ifinfo->conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = ifinfo->conn->interfacePrivateData;
struct netcf_if *iface = NULL;
virInterfaceDefPtr def = NULL;
int ret = -1;
static int netcfInterfaceDestroy(virInterfacePtr ifinfo,
unsigned int flags)
{
- struct interface_driver *driver = ifinfo->conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = ifinfo->conn->interfacePrivateData;
struct netcf_if *iface = NULL;
virInterfaceDefPtr def = NULL;
int ret = -1;
static int netcfInterfaceIsActive(virInterfacePtr ifinfo)
{
- struct interface_driver *driver = ifinfo->conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = ifinfo->conn->interfacePrivateData;
struct netcf_if *iface = NULL;
unsigned int flags = 0;
virInterfaceDefPtr def = NULL;
#ifdef HAVE_NETCF_TRANSACTIONS
static int netcfInterfaceChangeBegin(virConnectPtr conn, unsigned int flags)
{
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
int ret;
virCheckFlags(0, -1); /* currently flags must be 0 */
static int netcfInterfaceChangeCommit(virConnectPtr conn, unsigned int flags)
{
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
int ret;
virCheckFlags(0, -1); /* currently flags must be 0 */
static int netcfInterfaceChangeRollback(virConnectPtr conn, unsigned int flags)
{
- struct interface_driver *driver = conn->interfacePrivateData;
+ virNetcfDriverStatePtr driver = conn->interfacePrivateData;
int ret;
virCheckFlags(0, -1); /* currently flags must be 0 */