conf/nwfilter_conf.h \
conf/virnwfilterobj.c \
conf/virnwfilterobj.h \
+ conf/virnwfilterbindingdef.c \
+ conf/virnwfilterbindingdef.h \
$(NULL)
STORAGE_CONF_SOURCES = \
return true;
return false;
}
-
-
-void
-virNWFilterBindingDefFree(virNWFilterBindingDefPtr def)
-{
- if (!def)
- return;
-
- VIR_FREE(def->ownername);
- VIR_FREE(def->portdevname);
- VIR_FREE(def->linkdevname);
- VIR_FREE(def->filter);
- virHashFree(def->filterparams);
-
- VIR_FREE(def);
-}
-
-
-virNWFilterBindingDefPtr
-virNWFilterBindingDefCopy(virNWFilterBindingDefPtr src)
-{
- virNWFilterBindingDefPtr ret;
-
- if (VIR_ALLOC(ret) < 0)
- return NULL;
-
- if (VIR_STRDUP(ret->ownername, src->ownername) < 0)
- goto error;
-
- memcpy(ret->owneruuid, src->owneruuid, sizeof(ret->owneruuid));
-
- if (VIR_STRDUP(ret->portdevname, src->portdevname) < 0)
- goto error;
-
- if (VIR_STRDUP(ret->linkdevname, src->linkdevname) < 0)
- goto error;
-
- ret->mac = src->mac;
-
- if (VIR_STRDUP(ret->filter, src->filter) < 0)
- goto error;
-
- if (!(ret->filterparams = virNWFilterHashTableCreate(0)))
- goto error;
-
- if (virNWFilterHashTablePutAll(src->filterparams, ret->filterparams) < 0)
- goto error;
-
- return ret;
-
- error:
- virNWFilterBindingDefFree(ret);
- return NULL;
-}
virNWFilterEntryPtr *filterEntries;
};
-typedef struct _virNWFilterBindingDef virNWFilterBindingDef;
-typedef virNWFilterBindingDef *virNWFilterBindingDefPtr;
-
-struct _virNWFilterBindingDef {
- char *ownername;
- unsigned char owneruuid[VIR_UUID_BUFLEN];
- char *portdevname;
- char *linkdevname;
- virMacAddr mac;
- char *filter;
- virHashTablePtr filterparams;
-};
-
typedef enum {
STEP_APPLY_NEW,
bool
virNWFilterRuleIsProtocolEthernet(virNWFilterRuleDefPtr rule);
-void
-virNWFilterBindingDefFree(virNWFilterBindingDefPtr binding);
-virNWFilterBindingDefPtr
-virNWFilterBindingDefCopy(virNWFilterBindingDefPtr src);
VIR_ENUM_DECL(virNWFilterRuleAction);
VIR_ENUM_DECL(virNWFilterRuleDirection);
--- /dev/null
+/*
+ * virnwfilterbindingdef.c: network filter binding XML processing
+ *
+ * Copyright (C) 2018 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
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+
+#include "viralloc.h"
+#include "virerror.h"
+#include "virstring.h"
+#include "nwfilter_params.h"
+#include "virnwfilterbindingdef.h"
+
+
+#define VIR_FROM_THIS VIR_FROM_NWFILTER
+
+void
+virNWFilterBindingDefFree(virNWFilterBindingDefPtr def)
+{
+ if (!def)
+ return;
+
+ VIR_FREE(def->ownername);
+ VIR_FREE(def->portdevname);
+ VIR_FREE(def->linkdevname);
+ VIR_FREE(def->filter);
+ virHashFree(def->filterparams);
+
+ VIR_FREE(def);
+}
+
+
+virNWFilterBindingDefPtr
+virNWFilterBindingDefCopy(virNWFilterBindingDefPtr src)
+{
+ virNWFilterBindingDefPtr ret;
+
+ if (VIR_ALLOC(ret) < 0)
+ return NULL;
+
+ if (VIR_STRDUP(ret->ownername, src->ownername) < 0)
+ goto error;
+
+ memcpy(ret->owneruuid, src->owneruuid, sizeof(ret->owneruuid));
+
+ if (VIR_STRDUP(ret->portdevname, src->portdevname) < 0)
+ goto error;
+
+ if (VIR_STRDUP(ret->linkdevname, src->linkdevname) < 0)
+ goto error;
+
+ ret->mac = src->mac;
+
+ if (VIR_STRDUP(ret->filter, src->filter) < 0)
+ goto error;
+
+ if (!(ret->filterparams = virNWFilterHashTableCreate(0)))
+ goto error;
+
+ if (virNWFilterHashTablePutAll(src->filterparams, ret->filterparams) < 0)
+ goto error;
+
+ return ret;
+
+ error:
+ virNWFilterBindingDefFree(ret);
+ return NULL;
+}
--- /dev/null
+/*
+ * virnwfilterbindingdef.h: network filter binding XML processing
+ *
+ * Copyright (C) 2018 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
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *
+ */
+#ifndef VIR_NWFILTER_BINDING_DEF_H
+# define VIR_NWFILTER_BINDING_DEF_H
+
+# include "internal.h"
+# include "virmacaddr.h"
+# include "virhash.h"
+
+typedef struct _virNWFilterBindingDef virNWFilterBindingDef;
+typedef virNWFilterBindingDef *virNWFilterBindingDefPtr;
+
+struct _virNWFilterBindingDef {
+ char *ownername;
+ unsigned char owneruuid[VIR_UUID_BUFLEN];
+ char *portdevname;
+ char *linkdevname;
+ virMacAddr mac;
+ char *filter;
+ virHashTablePtr filterparams;
+};
+
+
+void
+virNWFilterBindingDefFree(virNWFilterBindingDefPtr binding);
+virNWFilterBindingDefPtr
+virNWFilterBindingDefCopy(virNWFilterBindingDefPtr src);
+
+#endif /* VIR_NWFILTER_BINDING_DEF_H */
# conf/nwfilter_conf.h
-virNWFilterBindingDefCopy;
-virNWFilterBindingDefFree;
virNWFilterCallbackDriversLock;
virNWFilterCallbackDriversUnlock;
virNWFilterChainSuffixTypeToString;
virNodeDeviceObjListRemove;
+# conf/virnwfilterbindingdef.h
+virNWFilterBindingDefCopy;
+virNWFilterBindingDefFree;
+
+
# conf/virnwfilterobj.h
virNWFilterObjGetDef;
virNWFilterObjGetNewDef;