INTMAP_ENTRY_LAST,
};
+
/*
* only one filter update allowed
*/
virRWLockRead(&updateLock);
}
+
void
virNWFilterWriteLockFilterUpdates(void)
{
virRWLockWrite(&updateLock);
}
+
void
virNWFilterUnlockFilterUpdates(void)
{
}
-
/*
* attribute names for the rules XML
*/
* lookup a map entry given the integer.
*/
static int
-intMapGetByInt(const struct int_map *intmap, int32_t attr, const char **res)
+intMapGetByInt(const struct int_map *intmap,
+ int32_t attr,
+ const char **res)
{
size_t i = 0;
bool found = false;
* value. Returns 0 if entry was found with result returned, -1 otherwise.
*/
static int
-intMapGetByString(const struct int_map *intmap, const char *str, int casecmp,
+intMapGetByString(const struct int_map *intmap,
+ const char *str,
+ int casecmp,
int32_t *result)
{
size_t i = 0;
static bool
-checkMacProtocolID(enum attrDatatype datatype, union data *value,
+checkMacProtocolID(enum attrDatatype datatype,
+ union data *value,
virNWFilterRuleDefPtr nwf ATTRIBUTE_UNUSED,
nwItemDesc *item ATTRIBUTE_UNUSED)
{
static bool
-checkVlanVlanID(enum attrDatatype datatype, union data *value,
+checkVlanVlanID(enum attrDatatype datatype,
+ union data *value,
virNWFilterRuleDefPtr nwf,
nwItemDesc *item ATTRIBUTE_UNUSED)
{
return false;
}
+
static bool
-checkVlanProtocolID(enum attrDatatype datatype, union data *value,
+checkVlanProtocolID(enum attrDatatype datatype,
+ union data *value,
virNWFilterRuleDefPtr nwf,
nwItemDesc *item ATTRIBUTE_UNUSED)
{
return false;
}
+
static bool
vlanProtocolIDFormatter(virBufferPtr buf,
virNWFilterRuleDefPtr nwf,
return true;
}
+
/* generic function to check for a valid (ipv4,ipv6, mac) mask
* A mask is valid of there is a sequence of 1's followed by a sequence
* of 0s or only 1s or only 0s
*/
static bool
-checkValidMask(unsigned char *data, int len)
+checkValidMask(unsigned char *data,
+ int len)
{
uint32_t idx = 0;
uint8_t mask = 0x80;
static bool
-dscpValidator(enum attrDatatype datatype, union data *val,
+dscpValidator(enum attrDatatype datatype,
+ union data *val,
virNWFilterRuleDefPtr nwf,
nwItemDesc *item ATTRIBUTE_UNUSED)
{
static int
parseStringItems(const struct int_map *int_map,
- const char *input, int32_t *flags, char sep)
+ const char *input,
+ int32_t *flags,
+ char sep)
{
int rc = 0;
size_t i, j;
static int
-printStringItems(virBufferPtr buf, const struct int_map *int_map,
- int32_t flags, const char *sep)
+printStringItems(virBufferPtr buf,
+ const struct int_map *int_map,
+ int32_t flags,
+ const char *sep)
{
size_t i;
unsigned int c = 0;
static int
-parseStateMatch(const char *statematch, int32_t *flags)
+parseStateMatch(const char *statematch,
+ int32_t *flags)
{
int rc = parseStringItems(stateMatchMap, statematch, flags, ',');
void
-virNWFilterPrintStateMatchFlags(virBufferPtr buf, const char *prefix,
- int32_t flags, bool disp_none)
+virNWFilterPrintStateMatchFlags(virBufferPtr buf,
+ const char *prefix,
+ int32_t flags,
+ bool disp_none)
{
if (!disp_none && (flags & RULE_FLAG_STATE_NONE))
return;
static bool
-stateValidator(enum attrDatatype datatype ATTRIBUTE_UNUSED, union data *val,
+stateValidator(enum attrDatatype datatype ATTRIBUTE_UNUSED,
+ union data *val,
virNWFilterRuleDefPtr nwf,
nwItemDesc *item)
{
}
-
static const struct int_map tcpFlags[] = {
INTMAP_ENTRY(0x1, "FIN"),
INTMAP_ENTRY(0x2, "SYN"),
static bool
-tcpFlagsValidator(enum attrDatatype datatype ATTRIBUTE_UNUSED, union data *val,
+tcpFlagsValidator(enum attrDatatype datatype ATTRIBUTE_UNUSED,
+ union data *val,
virNWFilterRuleDefPtr nwf ATTRIBUTE_UNUSED,
nwItemDesc *item)
{
static void
-printTCPFlags(virBufferPtr buf, uint8_t flags)
+printTCPFlags(virBufferPtr buf,
+ uint8_t flags)
{
if (flags == 0)
virBufferAddLit(buf, "NONE");
return true;
}
+
static bool
-ipsetValidator(enum attrDatatype datatype ATTRIBUTE_UNUSED, union data *val,
+ipsetValidator(enum attrDatatype datatype ATTRIBUTE_UNUSED,
+ union data *val,
virNWFilterRuleDefPtr nwf ATTRIBUTE_UNUSED,
nwItemDesc *item)
{
return false;
}
+
static bool
ipsetFormatter(virBufferPtr buf,
virNWFilterRuleDefPtr nwf ATTRIBUTE_UNUSED,
return true;
}
+
static bool
-ipsetFlagsValidator(enum attrDatatype datatype ATTRIBUTE_UNUSED, union data *val,
- virNWFilterRuleDefPtr nwf ATTRIBUTE_UNUSED, nwItemDesc *item)
+ipsetFlagsValidator(enum attrDatatype datatype ATTRIBUTE_UNUSED,
+ union data *val,
+ virNWFilterRuleDefPtr nwf ATTRIBUTE_UNUSED,
+ nwItemDesc *item)
{
const char *errmsg = NULL;
size_t idx = 0;
return false;
}
+
static bool
ipsetFlagsFormatter(virBufferPtr buf,
virNWFilterRuleDefPtr nwf ATTRIBUTE_UNUSED,
return true;
}
+
#define COMMON_MAC_PROPS(STRUCT) \
{\
.name = SRCMACADDR,\
PROTOCOL_ENTRY_LAST
};
+
static int
virNWFilterRuleDetailsParse(xmlNodePtr node,
virNWFilterRuleDefPtr nwf,
}
-
-
static virNWFilterIncludeDefPtr
virNWFilterIncludeParse(xmlNodePtr cur)
{
goto cleanup;
}
+
static void
virNWFilterRuleDefFixupIPSet(ipHdrDataDefPtr ipHdr)
{
return ret;
}
+
static void
virNWFilterRuleDefFixup(virNWFilterRuleDefPtr rule)
{
goto cleanup;
}
+
static bool
virNWFilterIsValidChainName(const char *chainname)
{
return true;
}
+
/*
* Test whether the name of the chain is supported.
* It current has to have a prefix of either one of the strings found in
return NULL;
}
+
static virNWFilterDefPtr
virNWFilterDefParseXML(xmlXPathContextPtr ctxt)
{
}
-int virNWFilterSaveXML(const char *configDir,
- virNWFilterDefPtr def,
- const char *xml)
+int
+virNWFilterSaveXML(const char *configDir,
+ virNWFilterDefPtr def,
+ const char *xml)
{
char uuidstr[VIR_UUID_STRING_BUFLEN];
char *configFile = NULL;
}
-int virNWFilterSaveConfig(const char *configDir,
- virNWFilterDefPtr def)
+int
+virNWFilterSaveConfig(const char *configDir,
+ virNWFilterDefPtr def)
{
int ret = -1;
char *xml;
callbackDrvArray[nCallbackDriver++] = cbd;
}
+
void
virNWFilterUnRegisterCallbackDriver(virNWFilterCallbackDriverPtr cbd)
{
}
}
+
void
virNWFilterCallbackDriversLock(void)
{
callbackDrvArray[i]->vmDriverLock();
}
+
void
virNWFilterCallbackDriversUnlock(void)
{
return 0;
}
+
int
virNWFilterTriggerVMFilterRebuild(void)
{
static void
-virNWIPAddressFormat(virBufferPtr buf, virSocketAddrPtr ipaddr)
+virNWIPAddressFormat(virBufferPtr buf,
+ virSocketAddrPtr ipaddr)
{
char *output = virSocketAddrFormat(ipaddr);
static int
-virNWFilterRuleDefFormat(virBufferPtr buf, virNWFilterRuleDefPtr def)
+virNWFilterRuleDefFormat(virBufferPtr buf,
+ virNWFilterRuleDefPtr def)
{
size_t i;
bool subelement = false;
static int
-virNWFilterEntryFormat(virBufferPtr buf, virNWFilterEntryPtr entry)
+virNWFilterEntryFormat(virBufferPtr buf,
+ virNWFilterEntryPtr entry)
{
if (entry->rule)
return virNWFilterRuleDefFormat(buf, entry->rule);
}
-char *virNWFilterConfigFile(const char *dir,
- const char *name)
+char *
+virNWFilterConfigFile(const char *dir,
+ const char *name)
{
char *ret = NULL;
}
-int virNWFilterConfLayerInit(virDomainObjListIterator domUpdateCB,
- void *opaque)
+int
+virNWFilterConfLayerInit(virDomainObjListIterator domUpdateCB,
+ void *opaque)
{
if (initialized)
return -1;
}
-void virNWFilterConfLayerShutdown(void)
+void
+virNWFilterConfLayerShutdown(void)
{
if (!initialized)
return;
}
-bool virNWFilterRuleIsProtocolIPv4(virNWFilterRuleDefPtr rule)
+bool
+virNWFilterRuleIsProtocolIPv4(virNWFilterRuleDefPtr rule)
{
if (rule->prtclType >= VIR_NWFILTER_RULE_PROTOCOL_TCP &&
rule->prtclType <= VIR_NWFILTER_RULE_PROTOCOL_ALL)
}
-bool virNWFilterRuleIsProtocolIPv6(virNWFilterRuleDefPtr rule)
+bool
+virNWFilterRuleIsProtocolIPv6(virNWFilterRuleDefPtr rule)
{
if (rule->prtclType >= VIR_NWFILTER_RULE_PROTOCOL_TCPoIPV6 &&
rule->prtclType <= VIR_NWFILTER_RULE_PROTOCOL_ALLoIPV6)
}
-bool virNWFilterRuleIsProtocolEthernet(virNWFilterRuleDefPtr rule)
+bool
+virNWFilterRuleIsProtocolEthernet(virNWFilterRuleDefPtr rule)
{
if (rule->prtclType <= VIR_NWFILTER_RULE_PROTOCOL_IPV6)
return true;