* nwfilter_conf.c: network filter XML processing
* (derived from storage_conf.c)
*
- * Copyright (C) 2006-2012 Red Hat, Inc.
+ * Copyright (C) 2006-2013 Red Hat, Inc.
* Copyright (C) 2006-2008 Daniel P. Berrange
*
* Copyright (C) 2010-2011 IBM Corporation
}
static bool
-virNWFilterDefEqual(const virNWFilterDefPtr def1, virNWFilterDefPtr def2,
+virNWFilterDefEqual(const virNWFilterDef *def1, virNWFilterDefPtr def2,
bool cmpUUIDs)
{
bool ret = false;
char *
-virNWFilterDefFormat(virNWFilterDefPtr def)
+virNWFilterDefFormat(const virNWFilterDef *def)
{
virBuffer buf = VIR_BUFFER_INITIALIZER;
char uuid[VIR_UUID_STRING_BUFLEN];
* nwfilter_conf.h: network filter XML processing
* (derived from storage_conf.h)
*
- * Copyright (C) 2006-2010, 2012 Red Hat, Inc.
+ * Copyright (C) 2006-2010, 2012-2013 Red Hat, Inc.
* Copyright (C) 2006-2008 Daniel P. Berrange
*
* Copyright (C) 2010 IBM Corporation
typedef int (*virNWFilterCanApplyBasicRules)(void);
typedef int (*virNWFilterApplyBasicRules)(const char *ifname,
- const virMacAddrPtr macaddr);
+ const virMacAddr *macaddr);
typedef int (*virNWFilterApplyDHCPOnlyRules)(const char *ifname,
- const virMacAddrPtr macaddr,
+ const virMacAddr *macaddr,
virNWFilterVarValuePtr dhcpsrvs,
bool leaveTemporary);
virNWFilterDefPtr virNWFilterDefParseNode(xmlDocPtr xml,
xmlNodePtr root);
-char *virNWFilterDefFormat(virNWFilterDefPtr def);
+char *virNWFilterDefFormat(const virNWFilterDef *def);
int virNWFilterSaveXML(const char *configDir,
virNWFilterDefPtr def,
static bool isValidVarValue(const char *value);
static void virNWFilterVarAccessSetIntIterId(virNWFilterVarAccessPtr,
unsigned int);
-static unsigned int virNWFilterVarAccessGetIntIterId(
- const virNWFilterVarAccessPtr);
+static unsigned int virNWFilterVarAccessGetIntIterId(const virNWFilterVarAccess *);
void
virNWFilterVarValueFree(virNWFilterVarValuePtr val)
}
virNWFilterVarValuePtr
-virNWFilterVarValueCopy(const virNWFilterVarValuePtr val)
+virNWFilterVarValueCopy(const virNWFilterVarValue *val)
{
virNWFilterVarValuePtr res;
size_t i;
}
const char *
-virNWFilterVarValueGetSimple(const virNWFilterVarValuePtr val)
+virNWFilterVarValueGetSimple(const virNWFilterVarValue *val)
{
if (val->valType == NWFILTER_VALUE_TYPE_SIMPLE)
return val->u.simple.value;
}
const char *
-virNWFilterVarValueGetNthValue(virNWFilterVarValuePtr val, unsigned int idx)
+virNWFilterVarValueGetNthValue(const virNWFilterVarValue* val, unsigned int idx)
{
const char *res = NULL;
}
unsigned int
-virNWFilterVarValueGetCardinality(const virNWFilterVarValuePtr val)
+virNWFilterVarValueGetCardinality(const virNWFilterVarValue *val)
{
switch (val->valType) {
case NWFILTER_VALUE_TYPE_SIMPLE:
}
bool
-virNWFilterVarValueEqual(const virNWFilterVarValuePtr a,
- const virNWFilterVarValuePtr b)
+virNWFilterVarValueEqual(const virNWFilterVarValue *a,
+ const virNWFilterVarValue *b)
{
unsigned int card;
size_t i, j;
static int
virNWFilterVarCombIterAddVariable(virNWFilterVarCombIterEntryPtr cie,
virNWFilterHashTablePtr hash,
- const virNWFilterVarAccessPtr varAccess)
+ const virNWFilterVarAccess *varAccess)
{
virNWFilterVarValuePtr varValue;
unsigned int maxValue = 0, minValue = 0;
const char *
virNWFilterVarCombIterGetVarValue(virNWFilterVarCombIterPtr ci,
- const virNWFilterVarAccessPtr vap)
+ const virNWFilterVarAccess *vap)
{
size_t i;
unsigned int iterId;
static int
virNWFilterVarValueCompare(const void *a, const void *b)
{
- return virNWFilterVarValueEqual((const virNWFilterVarValuePtr) a,
- (const virNWFilterVarValuePtr) b) ? 0 : 1;
+ return virNWFilterVarValueEqual((const virNWFilterVarValue *) a,
+ (const virNWFilterVarValue *) b) ? 0 : 1;
}
bool
if (numKeys) {
virBufferAddLit(buf, ">\n");
for (i = 0; i < numKeys; i++) {
- const virNWFilterVarValuePtr value =
- (const virNWFilterVarValuePtr)items[i].value;
+ const virNWFilterVarValue *value = items[i].value;
card = virNWFilterVarValueGetCardinality(value);
}
bool
-virNWFilterVarAccessEqual(const virNWFilterVarAccessPtr a,
- const virNWFilterVarAccessPtr b)
+virNWFilterVarAccessEqual(const virNWFilterVarAccess *a,
+ const virNWFilterVarAccess *b)
{
if (a->accessType != b->accessType)
return false;
}
const char *
-virNWFilterVarAccessGetVarName(const virNWFilterVarAccessPtr vap)
+virNWFilterVarAccessGetVarName(const virNWFilterVarAccess *vap)
{
return vap->varName;
}
enum virNWFilterVarAccessType
-virNWFilterVarAccessGetType(const virNWFilterVarAccessPtr vap)
+virNWFilterVarAccessGetType(const virNWFilterVarAccess *vap)
{
return vap->accessType;
}
unsigned int
-virNWFilterVarAccessGetIterId(const virNWFilterVarAccessPtr vap)
+virNWFilterVarAccessGetIterId(const virNWFilterVarAccess *vap)
{
return vap->u.iterId;
}
unsigned int
-virNWFilterVarAccessGetIndex(const virNWFilterVarAccessPtr vap)
+virNWFilterVarAccessGetIndex(const virNWFilterVarAccess *vap)
{
return vap->u.index.index;
}
}
static unsigned int
-virNWFilterVarAccessGetIntIterId(const virNWFilterVarAccessPtr vap)
+virNWFilterVarAccessGetIntIterId(const virNWFilterVarAccess *vap)
{
return vap->u.index.intIterId;
}
bool
-virNWFilterVarAccessIsAvailable(const virNWFilterVarAccessPtr varAccess,
- const virNWFilterHashTablePtr hash)
+virNWFilterVarAccessIsAvailable(const virNWFilterVarAccess *varAccess,
+ const virNWFilterHashTable *hash)
{
const char *varName = virNWFilterVarAccessGetVarName(varAccess);
const char *res;
/*
* nwfilter_params.h: parsing and data maintenance of filter parameters
*
- * Copyright (C) 2011-2012 Red Hat, Inc.
+ * Copyright (C) 2011-2013 Red Hat, Inc.
* Copyright (C) 2010 IBM Corporation
*
* This library is free software; you can redistribute it and/or
virNWFilterVarValuePtr virNWFilterVarValueCreateSimple(char *);
virNWFilterVarValuePtr virNWFilterVarValueCreateSimpleCopyValue(const char *);
-virNWFilterVarValuePtr virNWFilterVarValueCopy(const virNWFilterVarValuePtr);
+virNWFilterVarValuePtr virNWFilterVarValueCopy(const virNWFilterVarValue *);
void virNWFilterVarValueFree(virNWFilterVarValuePtr val);
-const char *virNWFilterVarValueGetSimple(const virNWFilterVarValuePtr val);
-const char *virNWFilterVarValueGetNthValue(virNWFilterVarValuePtr val,
+const char *virNWFilterVarValueGetSimple(const virNWFilterVarValue *val);
+const char *virNWFilterVarValueGetNthValue(const virNWFilterVarValue *val,
unsigned int idx);
-unsigned int virNWFilterVarValueGetCardinality(const virNWFilterVarValuePtr);
-bool virNWFilterVarValueEqual(const virNWFilterVarValuePtr a,
- const virNWFilterVarValuePtr b);
+unsigned int virNWFilterVarValueGetCardinality(const virNWFilterVarValue *);
+bool virNWFilterVarValueEqual(const virNWFilterVarValue *a,
+ const virNWFilterVarValue *b);
int virNWFilterVarValueAddValue(virNWFilterVarValuePtr val, char *value);
int virNWFilterVarValueDelValue(virNWFilterVarValuePtr val, const char *value);
# define VIR_NWFILTER_MAX_ITERID 1000
void virNWFilterVarAccessFree(virNWFilterVarAccessPtr varAccess);
-bool virNWFilterVarAccessEqual(const virNWFilterVarAccessPtr a,
- const virNWFilterVarAccessPtr b);
+bool virNWFilterVarAccessEqual(const virNWFilterVarAccess *a,
+ const virNWFilterVarAccess *b);
virNWFilterVarAccessPtr virNWFilterVarAccessParse(const char *varAccess);
void virNWFilterVarAccessPrint(virNWFilterVarAccessPtr vap,
virBufferPtr buf);
-const char *virNWFilterVarAccessGetVarName(const virNWFilterVarAccessPtr vap);
+const char *virNWFilterVarAccessGetVarName(const virNWFilterVarAccess *vap);
enum virNWFilterVarAccessType virNWFilterVarAccessGetType(
- const virNWFilterVarAccessPtr vap);
-unsigned int virNWFilterVarAccessGetIterId(const virNWFilterVarAccessPtr vap);
-unsigned int virNWFilterVarAccessGetIndex(const virNWFilterVarAccessPtr vap);
-bool virNWFilterVarAccessIsAvailable(const virNWFilterVarAccessPtr vap,
- const virNWFilterHashTablePtr hash);
+ const virNWFilterVarAccess *vap);
+unsigned int virNWFilterVarAccessGetIterId(const virNWFilterVarAccess *vap);
+unsigned int virNWFilterVarAccessGetIndex(const virNWFilterVarAccess *vap);
+bool virNWFilterVarAccessIsAvailable(const virNWFilterVarAccess *vap,
+ const virNWFilterHashTable *hash);
typedef struct _virNWFilterVarCombIterEntry virNWFilterVarCombIterEntry;
typedef virNWFilterVarCombIterEntry *virNWFilterVarCombIterEntryPtr;
virNWFilterVarCombIterPtr virNWFilterVarCombIterNext(
virNWFilterVarCombIterPtr ci);
const char *virNWFilterVarCombIterGetVarValue(virNWFilterVarCombIterPtr ci,
- const virNWFilterVarAccessPtr);
+ const virNWFilterVarAccess *);
#endif /* NWFILTER_PARAMS_H */
req->filtername,
req->vars);
} else {
- const virNWFilterVarValuePtr dhcpsrvrs =
+ virNWFilterVarValuePtr dhcpsrvrs =
virHashLookup(req->vars->hashTable, NWFILTER_VARNAME_DHCPSERVER);
if (req->techdriver &&
static void
virNWFilterSnoopIFKeyFMT(char *ifkey, const unsigned char *vmuuid,
- const virMacAddrPtr macaddr)
+ const virMacAddr *macaddr)
{
virUUIDFormat(vmuuid, ifkey);
ifkey[VIR_UUID_STRING_BUFLEN - 1] = '-';
const char *linkdev,
enum virDomainNetType nettype,
const unsigned char *vmuuid,
- const virMacAddrPtr macaddr,
+ const virMacAddr *macaddr,
const char *filtername,
virNWFilterHashTablePtr filterparams,
virNWFilterDriverStatePtr driver)
const void *name ATTRIBUTE_UNUSED,
const void *data ATTRIBUTE_UNUSED)
{
- const virNWFilterSnoopReqPtr req = (virNWFilterSnoopReqPtr)payload;
+ virNWFilterSnoopReqPtr req = (virNWFilterSnoopReqPtr)payload;
bool del_req;
/* clean up orphaned, expired leases */
const void *name ATTRIBUTE_UNUSED,
const void *data ATTRIBUTE_UNUSED)
{
- const virNWFilterSnoopReqPtr req = (virNWFilterSnoopReqPtr)payload;
+ virNWFilterSnoopReqPtr req = (virNWFilterSnoopReqPtr)payload;
/* protect req->ifname */
virNWFilterSnoopReqLock(req);
const char *linkdev ATTRIBUTE_UNUSED,
enum virDomainNetType nettype ATTRIBUTE_UNUSED,
const unsigned char *vmuuid ATTRIBUTE_UNUSED,
- const virMacAddrPtr macaddr ATTRIBUTE_UNUSED,
+ const virMacAddr *macaddr ATTRIBUTE_UNUSED,
const char *filtername ATTRIBUTE_UNUSED,
virNWFilterHashTablePtr filterparams ATTRIBUTE_UNUSED,
virNWFilterDriverStatePtr driver ATTRIBUTE_UNUSED)
/*
* nwfilter_dhcpsnoop.h: support DHCP snooping for a VM on an interface
*
+ * Copyright (C) 2013 Red Hat, Inc.
* Copyright (C) 2010-2012 IBM Corp.
* Copyright (C) 2010-2012 David L Stevens
*
const char *linkdev,
enum virDomainNetType nettype,
const unsigned char *vmuuid,
- const virMacAddrPtr macaddr,
+ const virMacAddr *macaddr,
const char *filtername,
virNWFilterHashTablePtr filterparams,
virNWFilterDriverStatePtr driver);
*/
static int
ebtablesApplyBasicRules(const char *ifname,
- const virMacAddrPtr macaddr)
+ const virMacAddr *macaddr)
{
virBuffer buf = VIR_BUFFER_INITIALIZER;
char chain[MAX_CHAINNAME_LENGTH];
*/
static int
ebtablesApplyDHCPOnlyRules(const char *ifname,
- const virMacAddrPtr macaddr,
+ const virMacAddr *macaddr,
virNWFilterVarValuePtr dhcpsrvrs,
bool leaveTemporary)
{
static int
ebiptablesRuleOrderSort(const void *a, const void *b)
{
- const ebiptablesRuleInstPtr insta = (const ebiptablesRuleInstPtr)a;
- const ebiptablesRuleInstPtr instb = (const ebiptablesRuleInstPtr)b;
+ const ebiptablesRuleInst *insta = a;
+ const ebiptablesRuleInst *instb = b;
const char *root = virNWFilterChainSuffixTypeToString(
VIR_NWFILTER_CHAINSUFFIX_ROOT);
bool root_a = STREQ(insta->neededProtocolChain, root);
static int
ebiptablesRuleOrderSortPtr(const void *a, const void *b)
{
- const ebiptablesRuleInstPtr *insta = a;
- const ebiptablesRuleInstPtr *instb = b;
+ ebiptablesRuleInst * const *insta = a;
+ ebiptablesRuleInst * const *instb = b;
return ebiptablesRuleOrderSort(*insta, *instb);
}
/*
* nwfilter_gentech_driver.c: generic technology driver
*
- * Copyright (C) 2011 Red Hat, Inc.
+ * Copyright (C) 2011, 2013 Red Hat, Inc.
* Copyright (C) 2010 IBM Corp.
* Copyright (C) 2010 Stefan Berger
*
static int
virNWFilterVarHashmapAddStdValues(virNWFilterHashTablePtr table,
char *macaddr,
- const virNWFilterVarValuePtr ipaddr)
+ const virNWFilterVarValue *ipaddr)
{
virNWFilterVarValue *val;
*/
virNWFilterHashTablePtr
virNWFilterCreateVarHashmap(char *macaddr,
- const virNWFilterVarValuePtr ipaddr) {
+ const virNWFilterVarValue *ipaddr)
+{
virNWFilterHashTablePtr table = virNWFilterHashTableCreate(0);
if (!table)
return NULL;
virNWFilterHashTablePtr vars,
enum instCase useNewFilter, bool *foundNewFilter,
bool teardownOld,
- const virMacAddrPtr macaddr,
+ const virMacAddr *macaddr,
virNWFilterDriverStatePtr driver,
bool forceWithPendingReq)
{
int ifindex,
const char *linkdev,
enum virDomainNetType nettype,
- const virMacAddrPtr macaddr,
+ const virMacAddr *macaddr,
const char *filtername,
virNWFilterHashTablePtr filterparams,
enum instCase useNewFilter,
static int
_virNWFilterInstantiateFilter(virNWFilterDriverStatePtr driver,
const unsigned char *vmuuid,
- const virDomainNetDefPtr net,
+ const virDomainNetDef *net,
bool teardownOld,
enum instCase useNewFilter,
bool *foundNewFilter)
int ifindex,
const char *linkdev,
enum virDomainNetType nettype,
- const virMacAddrPtr macaddr,
+ const virMacAddr *macaddr,
const char *filtername,
virNWFilterHashTablePtr filterparams)
{
int
virNWFilterInstantiateFilter(virNWFilterDriverStatePtr driver,
const unsigned char *vmuuid,
- const virDomainNetDefPtr net)
+ const virDomainNetDef *net)
{
bool foundNewFilter = false;
int
virNWFilterUpdateInstantiateFilter(virNWFilterDriverStatePtr driver,
const unsigned char *vmuuid,
- const virDomainNetDefPtr net,
+ const virDomainNetDef *net,
bool *skipIface)
{
bool foundNewFilter = false;
}
static int
-virNWFilterRollbackUpdateFilter(const virDomainNetDefPtr net)
+virNWFilterRollbackUpdateFilter(const virDomainNetDef *net)
{
const char *drvname = EBIPTABLES_DRIVER_ID;
int ifindex;
int
-virNWFilterTeardownFilter(const virDomainNetDefPtr net)
+virNWFilterTeardownFilter(const virDomainNetDef *net)
{
return _virNWFilterTeardownFilter(net->ifname);
}
/*
* nwfilter_gentech_driver.h: generic technology driver include file
*
+ * Copyright (C) 2013 Red Hat, Inc.
* Copyright (C) 2010 IBM Corp.
* Copyright (C) 2010 Stefan Berger
*
int virNWFilterInstantiateFilter(virNWFilterDriverStatePtr driver,
const unsigned char *vmuuid,
- const virDomainNetDefPtr net);
+ const virDomainNetDef *net);
int virNWFilterUpdateInstantiateFilter(virNWFilterDriverStatePtr driver,
const unsigned char *vmuuid,
- const virDomainNetDefPtr net,
+ const virDomainNetDef *net,
bool *skipIface);
int virNWFilterInstantiateFilterLate(virNWFilterDriverStatePtr driver,
int ifindex,
const char *linkdev,
enum virDomainNetType nettype,
- const virMacAddrPtr macaddr,
+ const virMacAddr *macaddr,
const char *filtername,
virNWFilterHashTablePtr filterparams);
-int virNWFilterTeardownFilter(const virDomainNetDefPtr net);
+int virNWFilterTeardownFilter(const virDomainNetDef *net);
virNWFilterHashTablePtr virNWFilterCreateVarHashmap(char *macaddr,
- const virNWFilterVarValuePtr);
+ const virNWFilterVarValue *value);
int virNWFilterDomainFWUpdateCB(virDomainObjPtr vm,
void *data);
* nwfilter_learnipaddr.c: support for learning IP address used by a VM
* on an interface
*
- * Copyright (C) 2011 Red Hat, Inc.
+ * Copyright (C) 2011, 2013 Red Hat, Inc.
* Copyright (C) 2010 IBM Corp.
* Copyright (C) 2010 Stefan Berger
*
int ifindex,
const char *linkdev,
enum virDomainNetType nettype,
- const virMacAddrPtr macaddr,
+ const virMacAddr *macaddr,
const char *filtername,
virNWFilterHashTablePtr filterparams,
virNWFilterDriverStatePtr driver,
int ifindex ATTRIBUTE_UNUSED,
const char *linkdev ATTRIBUTE_UNUSED,
enum virDomainNetType nettype ATTRIBUTE_UNUSED,
- const virMacAddrPtr macaddr ATTRIBUTE_UNUSED,
+ const virMacAddr *macaddr ATTRIBUTE_UNUSED,
const char *filtername ATTRIBUTE_UNUSED,
virNWFilterHashTablePtr filterparams ATTRIBUTE_UNUSED,
virNWFilterDriverStatePtr driver ATTRIBUTE_UNUSED,
- enum howDetect howDetect ATTRIBUTE_UNUSED) {
+ enum howDetect howDetect ATTRIBUTE_UNUSED)
+{
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("IP parameter must be given since libvirt "
"was not compiled with IP address learning "
* nwfilter_learnipaddr.h: support for learning IP address used by a VM
* on an interface
*
- * Copyright (C) 2012 Red Hat, Inc.
+ * Copyright (C) 2012-2013 Red Hat, Inc.
* Copyright (C) 2010 IBM Corp.
* Copyright (C) 2010 Stefan Berger
*
int ifindex,
const char *linkdev,
enum virDomainNetType nettype,
- const virMacAddrPtr macaddr,
+ const virMacAddr *macaddr,
const char *filtername,
virNWFilterHashTablePtr filterparams,
virNWFilterDriverStatePtr driver,