mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
nwfilter: Make _virNWFilterObjPtr private
Move the structure to virnwfilterobj.c and create necessary accessor API's for the various fields. Also make virNWFilterObjFree static since there's no external callers. Signed-off-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
8b6cdb2faa
commit
4b6264508f
@ -33,8 +33,38 @@
|
|||||||
|
|
||||||
VIR_LOG_INIT("conf.virnwfilterobj");
|
VIR_LOG_INIT("conf.virnwfilterobj");
|
||||||
|
|
||||||
|
struct _virNWFilterObj {
|
||||||
|
virMutex lock;
|
||||||
|
|
||||||
void
|
bool wantRemoved;
|
||||||
|
|
||||||
|
virNWFilterDefPtr def;
|
||||||
|
virNWFilterDefPtr newDef;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
virNWFilterDefPtr
|
||||||
|
virNWFilterObjGetDef(virNWFilterObjPtr obj)
|
||||||
|
{
|
||||||
|
return obj->def;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
virNWFilterDefPtr
|
||||||
|
virNWFilterObjGetNewDef(virNWFilterObjPtr obj)
|
||||||
|
{
|
||||||
|
return obj->newDef;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
bool
|
||||||
|
virNWFilterObjWantRemoved(virNWFilterObjPtr obj)
|
||||||
|
{
|
||||||
|
return obj->wantRemoved;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
virNWFilterObjFree(virNWFilterObjPtr obj)
|
virNWFilterObjFree(virNWFilterObjPtr obj)
|
||||||
{
|
{
|
||||||
if (!obj)
|
if (!obj)
|
||||||
|
@ -26,16 +26,6 @@
|
|||||||
typedef struct _virNWFilterObj virNWFilterObj;
|
typedef struct _virNWFilterObj virNWFilterObj;
|
||||||
typedef virNWFilterObj *virNWFilterObjPtr;
|
typedef virNWFilterObj *virNWFilterObjPtr;
|
||||||
|
|
||||||
struct _virNWFilterObj {
|
|
||||||
virMutex lock;
|
|
||||||
|
|
||||||
bool wantRemoved;
|
|
||||||
|
|
||||||
virNWFilterDefPtr def;
|
|
||||||
virNWFilterDefPtr newDef;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct _virNWFilterObjList virNWFilterObjList;
|
typedef struct _virNWFilterObjList virNWFilterObjList;
|
||||||
typedef virNWFilterObjList *virNWFilterObjListPtr;
|
typedef virNWFilterObjList *virNWFilterObjListPtr;
|
||||||
struct _virNWFilterObjList {
|
struct _virNWFilterObjList {
|
||||||
@ -56,6 +46,15 @@ struct _virNWFilterDriverState {
|
|||||||
bool watchingFirewallD;
|
bool watchingFirewallD;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
virNWFilterDefPtr
|
||||||
|
virNWFilterObjGetDef(virNWFilterObjPtr obj);
|
||||||
|
|
||||||
|
virNWFilterDefPtr
|
||||||
|
virNWFilterObjGetNewDef(virNWFilterObjPtr obj);
|
||||||
|
|
||||||
|
bool
|
||||||
|
virNWFilterObjWantRemoved(virNWFilterObjPtr obj);
|
||||||
|
|
||||||
void
|
void
|
||||||
virNWFilterObjListFree(virNWFilterObjListPtr nwfilters);
|
virNWFilterObjListFree(virNWFilterObjListPtr nwfilters);
|
||||||
|
|
||||||
@ -63,9 +62,6 @@ void
|
|||||||
virNWFilterObjRemove(virNWFilterObjListPtr nwfilters,
|
virNWFilterObjRemove(virNWFilterObjListPtr nwfilters,
|
||||||
virNWFilterObjPtr obj);
|
virNWFilterObjPtr obj);
|
||||||
|
|
||||||
void
|
|
||||||
virNWFilterObjFree(virNWFilterObjPtr obj);
|
|
||||||
|
|
||||||
virNWFilterObjPtr
|
virNWFilterObjPtr
|
||||||
virNWFilterObjFindByUUID(virNWFilterObjListPtr nwfilters,
|
virNWFilterObjFindByUUID(virNWFilterObjListPtr nwfilters,
|
||||||
const unsigned char *uuid);
|
const unsigned char *uuid);
|
||||||
|
@ -965,7 +965,9 @@ virNodeDeviceObjUnlock;
|
|||||||
virNWFilterObjAssignDef;
|
virNWFilterObjAssignDef;
|
||||||
virNWFilterObjFindByName;
|
virNWFilterObjFindByName;
|
||||||
virNWFilterObjFindByUUID;
|
virNWFilterObjFindByUUID;
|
||||||
|
virNWFilterObjGetDef;
|
||||||
virNWFilterObjGetNames;
|
virNWFilterObjGetNames;
|
||||||
|
virNWFilterObjGetNewDef;
|
||||||
virNWFilterObjListExport;
|
virNWFilterObjListExport;
|
||||||
virNWFilterObjListFree;
|
virNWFilterObjListFree;
|
||||||
virNWFilterObjLoadAllConfigs;
|
virNWFilterObjLoadAllConfigs;
|
||||||
@ -974,6 +976,7 @@ virNWFilterObjNumOfNWFilters;
|
|||||||
virNWFilterObjRemove;
|
virNWFilterObjRemove;
|
||||||
virNWFilterObjTestUnassignDef;
|
virNWFilterObjTestUnassignDef;
|
||||||
virNWFilterObjUnlock;
|
virNWFilterObjUnlock;
|
||||||
|
virNWFilterObjWantRemoved;
|
||||||
|
|
||||||
|
|
||||||
# conf/virsecretobj.h
|
# conf/virsecretobj.h
|
||||||
|
@ -370,7 +370,7 @@ nwfilterLookupByUUID(virConnectPtr conn,
|
|||||||
"%s", _("no nwfilter with matching uuid"));
|
"%s", _("no nwfilter with matching uuid"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
def = obj->def;
|
def = virNWFilterObjGetDef(obj);
|
||||||
|
|
||||||
if (virNWFilterLookupByUUIDEnsureACL(conn, def) < 0)
|
if (virNWFilterLookupByUUIDEnsureACL(conn, def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -401,7 +401,7 @@ nwfilterLookupByName(virConnectPtr conn,
|
|||||||
_("no nwfilter with matching name '%s'"), name);
|
_("no nwfilter with matching name '%s'"), name);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
def = obj->def;
|
def = virNWFilterObjGetDef(obj);
|
||||||
|
|
||||||
if (virNWFilterLookupByNameEnsureACL(conn, def) < 0)
|
if (virNWFilterLookupByNameEnsureACL(conn, def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -493,7 +493,7 @@ nwfilterDefineXML(virConnectPtr conn,
|
|||||||
if (!(obj = virNWFilterObjAssignDef(&driver->nwfilters, def)))
|
if (!(obj = virNWFilterObjAssignDef(&driver->nwfilters, def)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
def = NULL;
|
def = NULL;
|
||||||
objdef = obj->def;
|
objdef = virNWFilterObjGetDef(obj);
|
||||||
|
|
||||||
if (virNWFilterSaveDef(driver->configDir, objdef) < 0) {
|
if (virNWFilterSaveDef(driver->configDir, objdef) < 0) {
|
||||||
virNWFilterObjRemove(&driver->nwfilters, obj);
|
virNWFilterObjRemove(&driver->nwfilters, obj);
|
||||||
@ -518,6 +518,7 @@ static int
|
|||||||
nwfilterUndefine(virNWFilterPtr nwfilter)
|
nwfilterUndefine(virNWFilterPtr nwfilter)
|
||||||
{
|
{
|
||||||
virNWFilterObjPtr obj;
|
virNWFilterObjPtr obj;
|
||||||
|
virNWFilterDefPtr def;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
nwfilterDriverLock();
|
nwfilterDriverLock();
|
||||||
@ -530,8 +531,9 @@ nwfilterUndefine(virNWFilterPtr nwfilter)
|
|||||||
"%s", _("no nwfilter with matching uuid"));
|
"%s", _("no nwfilter with matching uuid"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
def = virNWFilterObjGetDef(obj);
|
||||||
|
|
||||||
if (virNWFilterUndefineEnsureACL(nwfilter->conn, obj->def) < 0)
|
if (virNWFilterUndefineEnsureACL(nwfilter->conn, def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (virNWFilterObjTestUnassignDef(obj) < 0) {
|
if (virNWFilterObjTestUnassignDef(obj) < 0) {
|
||||||
@ -541,7 +543,7 @@ nwfilterUndefine(virNWFilterPtr nwfilter)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (virNWFilterDeleteDef(driver->configDir, obj->def) < 0)
|
if (virNWFilterDeleteDef(driver->configDir, def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
virNWFilterObjRemove(&driver->nwfilters, obj);
|
virNWFilterObjRemove(&driver->nwfilters, obj);
|
||||||
@ -564,6 +566,7 @@ nwfilterGetXMLDesc(virNWFilterPtr nwfilter,
|
|||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
virNWFilterObjPtr obj;
|
virNWFilterObjPtr obj;
|
||||||
|
virNWFilterDefPtr def;
|
||||||
char *ret = NULL;
|
char *ret = NULL;
|
||||||
|
|
||||||
virCheckFlags(0, NULL);
|
virCheckFlags(0, NULL);
|
||||||
@ -577,11 +580,12 @@ nwfilterGetXMLDesc(virNWFilterPtr nwfilter,
|
|||||||
"%s", _("no nwfilter with matching uuid"));
|
"%s", _("no nwfilter with matching uuid"));
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
def = virNWFilterObjGetDef(obj);
|
||||||
|
|
||||||
if (virNWFilterGetXMLDescEnsureACL(nwfilter->conn, obj->def) < 0)
|
if (virNWFilterGetXMLDescEnsureACL(nwfilter->conn, def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
ret = virNWFilterDefFormat(obj->def);
|
ret = virNWFilterDefFormat(def);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
if (obj)
|
if (obj)
|
||||||
|
@ -379,6 +379,7 @@ virNWFilterIncludeDefToRuleInst(virNWFilterDriverStatePtr driver,
|
|||||||
virNWFilterObjPtr obj;
|
virNWFilterObjPtr obj;
|
||||||
virNWFilterHashTablePtr tmpvars = NULL;
|
virNWFilterHashTablePtr tmpvars = NULL;
|
||||||
virNWFilterDefPtr childdef;
|
virNWFilterDefPtr childdef;
|
||||||
|
virNWFilterDefPtr newChilddef;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
VIR_DEBUG("Instantiating filter %s", inc->filterref);
|
VIR_DEBUG("Instantiating filter %s", inc->filterref);
|
||||||
@ -390,7 +391,7 @@ virNWFilterIncludeDefToRuleInst(virNWFilterDriverStatePtr driver,
|
|||||||
inc->filterref);
|
inc->filterref);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
if (obj->wantRemoved) {
|
if (virNWFilterObjWantRemoved(obj)) {
|
||||||
virReportError(VIR_ERR_NO_NWFILTER,
|
virReportError(VIR_ERR_NO_NWFILTER,
|
||||||
_("Filter '%s' is in use."),
|
_("Filter '%s' is in use."),
|
||||||
inc->filterref);
|
inc->filterref);
|
||||||
@ -402,12 +403,13 @@ virNWFilterIncludeDefToRuleInst(virNWFilterDriverStatePtr driver,
|
|||||||
vars)))
|
vars)))
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
childdef = obj->def;
|
childdef = virNWFilterObjGetDef(obj);
|
||||||
|
|
||||||
switch (useNewFilter) {
|
switch (useNewFilter) {
|
||||||
case INSTANTIATE_FOLLOW_NEWFILTER:
|
case INSTANTIATE_FOLLOW_NEWFILTER:
|
||||||
if (obj->newDef) {
|
newChilddef = virNWFilterObjGetNewDef(obj);
|
||||||
childdef = obj->newDef;
|
if (newChilddef) {
|
||||||
|
childdef = newChilddef;
|
||||||
*foundNewFilter = true;
|
*foundNewFilter = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@ -505,6 +507,7 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter,
|
|||||||
int rc = 0;
|
int rc = 0;
|
||||||
size_t i, j;
|
size_t i, j;
|
||||||
virNWFilterDefPtr next_filter;
|
virNWFilterDefPtr next_filter;
|
||||||
|
virNWFilterDefPtr newNext_filter;
|
||||||
virNWFilterVarValuePtr val;
|
virNWFilterVarValuePtr val;
|
||||||
|
|
||||||
for (i = 0; i < filter->nentries; i++) {
|
for (i = 0; i < filter->nentries; i++) {
|
||||||
@ -545,7 +548,7 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter,
|
|||||||
obj = virNWFilterObjFindByName(&driver->nwfilters, inc->filterref);
|
obj = virNWFilterObjFindByName(&driver->nwfilters, inc->filterref);
|
||||||
if (obj) {
|
if (obj) {
|
||||||
|
|
||||||
if (obj->wantRemoved) {
|
if (virNWFilterObjWantRemoved(obj)) {
|
||||||
virReportError(VIR_ERR_NO_NWFILTER,
|
virReportError(VIR_ERR_NO_NWFILTER,
|
||||||
_("Filter '%s' is in use."),
|
_("Filter '%s' is in use."),
|
||||||
inc->filterref);
|
inc->filterref);
|
||||||
@ -564,12 +567,13 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter,
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
next_filter = obj->def;
|
next_filter = virNWFilterObjGetDef(obj);
|
||||||
|
|
||||||
switch (useNewFilter) {
|
switch (useNewFilter) {
|
||||||
case INSTANTIATE_FOLLOW_NEWFILTER:
|
case INSTANTIATE_FOLLOW_NEWFILTER:
|
||||||
if (obj->newDef)
|
newNext_filter = virNWFilterObjGetNewDef(obj);
|
||||||
next_filter = obj->newDef;
|
if (newNext_filter)
|
||||||
|
next_filter = newNext_filter;
|
||||||
break;
|
break;
|
||||||
case INSTANTIATE_ALWAYS:
|
case INSTANTIATE_ALWAYS:
|
||||||
break;
|
break;
|
||||||
@ -790,6 +794,7 @@ __virNWFilterInstantiateFilter(virNWFilterDriverStatePtr driver,
|
|||||||
virNWFilterObjPtr obj;
|
virNWFilterObjPtr obj;
|
||||||
virNWFilterHashTablePtr vars, vars1;
|
virNWFilterHashTablePtr vars, vars1;
|
||||||
virNWFilterDefPtr filter;
|
virNWFilterDefPtr filter;
|
||||||
|
virNWFilterDefPtr newFilter;
|
||||||
char vmmacaddr[VIR_MAC_STRING_BUFLEN] = {0};
|
char vmmacaddr[VIR_MAC_STRING_BUFLEN] = {0};
|
||||||
char *str_macaddr = NULL;
|
char *str_macaddr = NULL;
|
||||||
virNWFilterVarValuePtr ipaddr;
|
virNWFilterVarValuePtr ipaddr;
|
||||||
@ -815,7 +820,7 @@ __virNWFilterInstantiateFilter(virNWFilterDriverStatePtr driver,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (obj->wantRemoved) {
|
if (virNWFilterObjWantRemoved(obj)) {
|
||||||
virReportError(VIR_ERR_NO_NWFILTER,
|
virReportError(VIR_ERR_NO_NWFILTER,
|
||||||
_("Filter '%s' is in use."),
|
_("Filter '%s' is in use."),
|
||||||
filtername);
|
filtername);
|
||||||
@ -847,12 +852,13 @@ __virNWFilterInstantiateFilter(virNWFilterDriverStatePtr driver,
|
|||||||
goto err_exit_vars1;
|
goto err_exit_vars1;
|
||||||
}
|
}
|
||||||
|
|
||||||
filter = obj->def;
|
filter = virNWFilterObjGetDef(obj);
|
||||||
|
|
||||||
switch (useNewFilter) {
|
switch (useNewFilter) {
|
||||||
case INSTANTIATE_FOLLOW_NEWFILTER:
|
case INSTANTIATE_FOLLOW_NEWFILTER:
|
||||||
if (obj->newDef) {
|
newFilter = virNWFilterObjGetNewDef(obj);
|
||||||
filter = obj->newDef;
|
if (newFilter) {
|
||||||
|
filter = newFilter;
|
||||||
*foundNewFilter = true;
|
*foundNewFilter = true;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user