nwfilter: remove virConnectPtr from internal API calls

Remove the virConnectPtr from the nwfilter's internal API calls as
far as possible.
This commit is contained in:
Stefan Berger 2011-11-23 14:13:03 -05:00 committed by Stefan Berger
parent c4b32641f1
commit dc62c22532
5 changed files with 45 additions and 91 deletions

View File

@ -592,27 +592,22 @@ typedef void (*virNWFilterTechDrvShutdown)(void);
enum virDomainNetType;
typedef int (*virNWFilterRuleCreateInstance)(virConnectPtr conn,
enum virDomainNetType nettype,
typedef int (*virNWFilterRuleCreateInstance)(enum virDomainNetType nettype,
virNWFilterDefPtr filter,
virNWFilterRuleDefPtr rule,
const char *ifname,
virNWFilterHashTablePtr vars,
virNWFilterRuleInstPtr res);
typedef int (*virNWFilterRuleApplyNewRules)(virConnectPtr conn,
const char *ifname,
typedef int (*virNWFilterRuleApplyNewRules)(const char *ifname,
int nruleInstances,
void **_inst);
typedef int (*virNWFilterRuleTeardownNewRules)(virConnectPtr conn,
const char *ifname);
typedef int (*virNWFilterRuleTeardownNewRules)(const char *ifname);
typedef int (*virNWFilterRuleTeardownOldRules)(virConnectPtr conn,
const char *ifname);
typedef int (*virNWFilterRuleTeardownOldRules)(const char *ifname);
typedef int (*virNWFilterRuleRemoveRules)(virConnectPtr conn,
const char *ifname,
typedef int (*virNWFilterRuleRemoveRules)(const char *ifname,
int nruleInstances,
void **_inst);
@ -620,8 +615,7 @@ typedef int (*virNWFilterRuleAllTeardown)(const char *ifname);
typedef int (*virNWFilterRuleFreeInstanceData)(void * _inst);
typedef int (*virNWFilterRuleDisplayInstanceData)(virConnectPtr conn,
void *_inst);
typedef int (*virNWFilterRuleDisplayInstanceData)(void *_inst);
typedef int (*virNWFilterCanApplyBasicRules)(void);

View File

@ -1188,8 +1188,7 @@ iptablesEnforceDirection(int directionIn,
* Convert a single rule into its representation for later instantiation
*
* Returns 0 in case of success with the result stored in the data structure
* pointed to by res, != 0 otherwise with the error message stored in the
* virConnect object.
* pointed to by res, != 0 otherwise.
*/
static int
_iptablesCreateRuleInstance(int directionIn,
@ -1917,8 +1916,7 @@ iptablesCreateRuleInstance(virNWFilterDefPtr nwfilter,
* Convert a single rule into its representation for later instantiation
*
* Returns 0 in case of success with the result stored in the data structure
* pointed to by res, != 0 otherwise with the error message stored in the
* virConnect object.
* pointed to by res, != 0 otherwise.
*/
static int
ebtablesCreateRuleInstance(char chainPrefix,
@ -2503,7 +2501,6 @@ err_exit:
/*
* ebiptablesCreateRuleInstance:
* @conn : Pointer to a virConnect object
* @nwfilter : The filter
* @rule: The rule of the filter to convert
* @ifname : The name of the interface to apply the rule to
@ -2513,12 +2510,10 @@ err_exit:
* Convert a single rule into its representation for later instantiation
*
* Returns 0 in case of success with the result stored in the data structure
* pointed to by res, != 0 otherwise with the error message stored in the
* virConnect object.
* pointed to by res, != 0 otherwise.
*/
static int
ebiptablesCreateRuleInstance(virConnectPtr conn ATTRIBUTE_UNUSED,
enum virDomainNetType nettype ATTRIBUTE_UNUSED,
ebiptablesCreateRuleInstance(enum virDomainNetType nettype ATTRIBUTE_UNUSED,
virNWFilterDefPtr nwfilter,
virNWFilterRuleDefPtr rule,
const char *ifname,
@ -2610,7 +2605,6 @@ ebiptablesCreateRuleInstance(virConnectPtr conn ATTRIBUTE_UNUSED,
static int
ebiptablesCreateRuleInstanceIterate(
virConnectPtr conn ATTRIBUTE_UNUSED,
enum virDomainNetType nettype ATTRIBUTE_UNUSED,
virNWFilterDefPtr nwfilter,
virNWFilterRuleDefPtr rule,
@ -2630,8 +2624,7 @@ ebiptablesCreateRuleInstanceIterate(
return 1;
do {
rc = ebiptablesCreateRuleInstance(conn,
nettype,
rc = ebiptablesCreateRuleInstance(nettype,
nwfilter,
rule,
ifname,
@ -2656,8 +2649,7 @@ ebiptablesFreeRuleInstance(void *_inst)
static int
ebiptablesDisplayRuleInstance(virConnectPtr conn ATTRIBUTE_UNUSED,
void *_inst)
ebiptablesDisplayRuleInstance(void *_inst)
{
ebiptablesRuleInstPtr inst = (ebiptablesRuleInstPtr)_inst;
VIR_INFO("Command Template: '%s', Needed protocol: '%s'",
@ -3096,7 +3088,6 @@ ebiptablesCanApplyBasicRules(void) {
/**
* ebtablesApplyBasicRules
*
* @conn: virConnect object
* @ifname: name of the backend-interface to which to apply the rules
* @macaddr: MAC address the VM is using in packets sent through the
* interface
@ -3552,8 +3543,7 @@ ebtablesCreateTmpRootAndSubChains(virBufferPtr buf,
}
static int
ebiptablesApplyNewRules(virConnectPtr conn ATTRIBUTE_UNUSED,
const char *ifname,
ebiptablesApplyNewRules(const char *ifname,
int nruleInstances,
void **_inst)
{
@ -3824,8 +3814,7 @@ exit_free_sets:
static int
ebiptablesTearNewRules(virConnectPtr conn ATTRIBUTE_UNUSED,
const char *ifname)
ebiptablesTearNewRules(const char *ifname)
{
int cli_status;
virBuffer buf = VIR_BUFFER_INITIALIZER;
@ -3862,8 +3851,7 @@ ebiptablesTearNewRules(virConnectPtr conn ATTRIBUTE_UNUSED,
static int
ebiptablesTearOldRules(virConnectPtr conn ATTRIBUTE_UNUSED,
const char *ifname)
ebiptablesTearOldRules(const char *ifname)
{
int cli_status;
virBuffer buf = VIR_BUFFER_INITIALIZER;
@ -3911,7 +3899,6 @@ ebiptablesTearOldRules(virConnectPtr conn ATTRIBUTE_UNUSED,
/**
* ebiptablesRemoveRules:
* @conn : pointer to virConnect object
* @ifname : the name of the interface to which the rules apply
* @nRuleInstance : the number of given rules
* @_inst : array of rule instantiation data
@ -3922,8 +3909,7 @@ ebiptablesTearOldRules(virConnectPtr conn ATTRIBUTE_UNUSED,
* commands failed.
*/
static int
ebiptablesRemoveRules(virConnectPtr conn ATTRIBUTE_UNUSED,
const char *ifname ATTRIBUTE_UNUSED,
ebiptablesRemoveRules(const char *ifname ATTRIBUTE_UNUSED,
int nruleInstances,
void **_inst)
{

View File

@ -98,8 +98,7 @@ virNWFilterTechDriverForName(const char *name) {
* for bidirectional traffic and data needs to be added to the incoming
* and outgoing chains.
*
* Returns 0 in case of success, 1 in case of an error with the error
* message attached to the virConnect object.
* Returns 0 in case of success, 1 in case of an error.
*/
int
virNWFilterRuleInstAddData(virNWFilterRuleInstPtr res,
@ -190,8 +189,7 @@ virNWFilterVarHashmapAddStdValues(virNWFilterHashTablePtr table,
* Create a hashmap used for evaluating the firewall rules. Initializes
* it with the standard variable 'MAC' and 'IP' if provided.
*
* Returns pointer to hashmap, NULL if an error occcurred and error message
* is attached to the virConnect object.
* Returns pointer to hashmap, NULL if an error occcurred.
*/
virNWFilterHashTablePtr
virNWFilterCreateVarHashmap(char *macaddr,
@ -274,7 +272,6 @@ virNWFilterPrintVars(virHashTablePtr vars,
/**
* virNWFilterRuleInstantiate:
* @conn: pointer to virConnect object
* @techdriver: the driver to use for instantiation
* @filter: The filter the rule is part of
* @rule : The rule that is to be instantiated
@ -289,8 +286,7 @@ virNWFilterPrintVars(virHashTablePtr vars,
* from the instantiation. Returns NULL on error with error reported.
*/
static virNWFilterRuleInstPtr
virNWFilterRuleInstantiate(virConnectPtr conn,
virNWFilterTechDriverPtr techdriver,
virNWFilterRuleInstantiate(virNWFilterTechDriverPtr techdriver,
enum virDomainNetType nettype,
virNWFilterDefPtr filter,
virNWFilterRuleDefPtr rule,
@ -308,7 +304,7 @@ virNWFilterRuleInstantiate(virConnectPtr conn,
ret->techdriver = techdriver;
rc = techdriver->createRuleInstance(conn, nettype, filter,
rc = techdriver->createRuleInstance(nettype, filter,
rule, ifname, vars, ret);
if (rc) {
@ -359,7 +355,6 @@ err_exit:
/**
* _virNWFilterInstantiateRec:
* @conn: pointer to virConnect object
* @techdriver: The driver to use for instantiation
* @filter: The filter to instantiate
* @ifname: The name of the interface to apply the rules to
@ -382,8 +377,7 @@ err_exit:
* resolved -- among other reasons.
*/
static int
_virNWFilterInstantiateRec(virConnectPtr conn,
virNWFilterTechDriverPtr techdriver,
_virNWFilterInstantiateRec(virNWFilterTechDriverPtr techdriver,
enum virDomainNetType nettype,
virNWFilterDefPtr filter,
const char *ifname,
@ -403,8 +397,7 @@ _virNWFilterInstantiateRec(virConnectPtr conn,
virNWFilterRuleDefPtr rule = filter->filterEntries[i]->rule;
virNWFilterIncludeDefPtr inc = filter->filterEntries[i]->include;
if (rule) {
inst = virNWFilterRuleInstantiate(conn,
techdriver,
inst = virNWFilterRuleInstantiate(techdriver,
nettype,
filter,
rule,
@ -461,8 +454,7 @@ _virNWFilterInstantiateRec(virConnectPtr conn,
break;
}
rc = _virNWFilterInstantiateRec(conn,
techdriver,
rc = _virNWFilterInstantiateRec(techdriver,
nettype,
next_filter,
ifname,
@ -491,8 +483,7 @@ _virNWFilterInstantiateRec(virConnectPtr conn,
static int
virNWFilterDetermineMissingVarsRec(virConnectPtr conn,
virNWFilterDefPtr filter,
virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter,
virNWFilterHashTablePtr vars,
virNWFilterHashTablePtr missing_vars,
int useNewFilter,
@ -559,8 +550,7 @@ virNWFilterDetermineMissingVarsRec(virConnectPtr conn,
break;
}
rc = virNWFilterDetermineMissingVarsRec(conn,
next_filter,
rc = virNWFilterDetermineMissingVarsRec(next_filter,
tmpvars,
missing_vars,
useNewFilter,
@ -617,7 +607,6 @@ virNWFilterRuleInstancesToArray(int nEntries,
/**
* virNWFilterInstantiate:
* @conn: pointer to virConnect object
* @techdriver: The driver to use for instantiation
* @filter: The filter to instantiate
* @ifname: The name of the interface to apply the rules to
@ -636,8 +625,7 @@ virNWFilterRuleInstancesToArray(int nEntries,
* Call this function while holding the NWFilter filter update lock
*/
static int
virNWFilterInstantiate(virConnectPtr conn,
virNWFilterTechDriverPtr techdriver,
virNWFilterInstantiate(virNWFilterTechDriverPtr techdriver,
enum virDomainNetType nettype,
virNWFilterDefPtr filter,
const char *ifname,
@ -665,8 +653,7 @@ virNWFilterInstantiate(virConnectPtr conn,
goto err_exit;
}
rc = virNWFilterDetermineMissingVarsRec(conn,
filter,
rc = virNWFilterDetermineMissingVarsRec(filter,
vars,
missing_vars,
useNewFilter,
@ -697,8 +684,7 @@ virNWFilterInstantiate(virConnectPtr conn,
goto err_exit;
}
rc = _virNWFilterInstantiateRec(conn,
techdriver,
rc = _virNWFilterInstantiateRec(techdriver,
nettype,
filter,
ifname,
@ -729,10 +715,10 @@ virNWFilterInstantiate(virConnectPtr conn,
if (virNWFilterLockIface(ifname))
goto err_exit;
rc = techdriver->applyNewRules(conn, ifname, nptrs, ptrs);
rc = techdriver->applyNewRules(ifname, nptrs, ptrs);
if (teardownOld && rc == 0)
techdriver->tearOldRules(conn, ifname);
techdriver->tearOldRules(ifname);
if (rc == 0 && (virNetDevValidateConfig(ifname, NULL, ifindex) <= 0)) {
virResetLastError();
@ -775,8 +761,7 @@ err_unresolvable_vars:
* Call this function while holding the NWFilter filter update lock
*/
static int
__virNWFilterInstantiateFilter(virConnectPtr conn,
bool teardownOld,
__virNWFilterInstantiateFilter(bool teardownOld,
const char *ifname,
int ifindex,
const char *linkdev,
@ -868,8 +853,7 @@ __virNWFilterInstantiateFilter(virConnectPtr conn,
break;
}
rc = virNWFilterInstantiate(conn,
techdriver,
rc = virNWFilterInstantiate(techdriver,
nettype,
filter,
ifname,
@ -924,8 +908,7 @@ _virNWFilterInstantiateFilter(virConnectPtr conn,
goto cleanup;
}
rc = __virNWFilterInstantiateFilter(conn,
teardownOld,
rc = __virNWFilterInstantiateFilter(teardownOld,
net->ifname,
ifindex,
linkdev,
@ -946,8 +929,7 @@ cleanup:
int
virNWFilterInstantiateFilterLate(virConnectPtr conn,
const char *ifname,
virNWFilterInstantiateFilterLate(const char *ifname,
int ifindex,
const char *linkdev,
enum virDomainNetType nettype,
@ -961,8 +943,7 @@ virNWFilterInstantiateFilterLate(virConnectPtr conn,
virNWFilterLockFilterUpdates();
rc = __virNWFilterInstantiateFilter(conn,
1,
rc = __virNWFilterInstantiateFilter(true,
ifname,
ifindex,
linkdev,
@ -1019,8 +1000,7 @@ virNWFilterUpdateInstantiateFilter(virConnectPtr conn,
return rc;
}
int virNWFilterRollbackUpdateFilter(virConnectPtr conn,
const virDomainNetDefPtr net)
int virNWFilterRollbackUpdateFilter(const virDomainNetDefPtr net)
{
const char *drvname = EBIPTABLES_DRIVER_ID;
int ifindex;
@ -1041,13 +1021,12 @@ int virNWFilterRollbackUpdateFilter(virConnectPtr conn,
else if (virNWFilterLookupLearnReq(ifindex) != NULL)
return 0;
return techdriver->tearNewRules(conn, net->ifname);
return techdriver->tearNewRules(net->ifname);
}
int
virNWFilterTearOldFilter(virConnectPtr conn,
virDomainNetDefPtr net)
virNWFilterTearOldFilter(virDomainNetDefPtr net)
{
const char *drvname = EBIPTABLES_DRIVER_ID;
int ifindex;
@ -1068,7 +1047,7 @@ virNWFilterTearOldFilter(virConnectPtr conn,
else if (virNWFilterLookupLearnReq(ifindex) != NULL)
return 0;
return techdriver->tearOldRules(conn, net->ifname);
return techdriver->tearOldRules(net->ifname);
}
@ -1141,14 +1120,13 @@ virNWFilterDomainFWUpdateCB(void *payload,
case STEP_TEAR_NEW:
if ( !virHashLookup(cb->skipInterfaces, net->ifname)) {
cb->err = virNWFilterRollbackUpdateFilter(cb->conn,
net);
cb->err = virNWFilterRollbackUpdateFilter(net);
}
break;
case STEP_TEAR_OLD:
if ( !virHashLookup(cb->skipInterfaces, net->ifname)) {
cb->err = virNWFilterTearOldFilter(cb->conn, net);
cb->err = virNWFilterTearOldFilter(net);
}
break;
}

View File

@ -42,14 +42,11 @@ int virNWFilterInstantiateFilter(virConnectPtr conn,
int virNWFilterUpdateInstantiateFilter(virConnectPtr conn,
const virDomainNetDefPtr net,
bool *skipIface);
int virNWFilterRollbackUpdateFilter(virConnectPtr conn,
const virDomainNetDefPtr net);
int virNWFilterRollbackUpdateFilter(const virDomainNetDefPtr net);
int virNWFilterTearOldFilter(virConnectPtr conn,
const virDomainNetDefPtr net);
int virNWFilterTearOldFilter(const virDomainNetDefPtr net);
int virNWFilterInstantiateFilterLate(virConnectPtr conn,
const char *ifname,
int virNWFilterInstantiateFilterLate(const char *ifname,
int ifindex,
const char *linkdev,
enum virDomainNetType nettype,

View File

@ -707,8 +707,7 @@ learnIPAddressThread(void *arg)
"cache for interface %s"), inetaddr, req->ifname);
}
ret = virNWFilterInstantiateFilterLate(NULL,
req->ifname,
ret = virNWFilterInstantiateFilterLate(req->ifname,
req->ifindex,
req->linkdev,
req->nettype,