Remove the virConnectPtr from the nwfilter's internal API calls as
far as possible.
---
src/conf/nwfilter_conf.h | 18 ++-----
src/nwfilter/nwfilter_ebiptables_driver.c | 34 ++++----------
src/nwfilter/nwfilter_gentech_driver.c | 72 ++++++++++--------------------
src/nwfilter/nwfilter_gentech_driver.h | 9 +--
src/nwfilter/nwfilter_learnipaddr.c | 3 -
5 files changed, 45 insertions(+), 91 deletions(-)
Index: libvirt-acl/src/conf/nwfilter_conf.h
===================================================================
--- libvirt-acl.orig/src/conf/nwfilter_conf.h
+++ libvirt-acl/src/conf/nwfilter_conf.h
@@ -592,27 +592,22 @@ typedef void (*virNWFilterTechDrvShutdow
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
typedef int (*virNWFilterRuleFreeInstanceData)(void * _inst);
-typedef int (*virNWFilterRuleDisplayInstanceData)(virConnectPtr conn,
- void *_inst);
+typedef int (*virNWFilterRuleDisplayInstanceData)(void *_inst);
typedef int (*virNWFilterCanApplyBasicRules)(void);
Index: libvirt-acl/src/nwfilter/nwfilter_ebiptables_driver.c
===================================================================
--- libvirt-acl.orig/src/nwfilter/nwfilter_ebiptables_driver.c
+++ libvirt-acl/src/nwfilter/nwfilter_ebiptables_driver.c
@@ -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(virNWFilterDe
* 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(virConnectP
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(virBuf
}
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 con
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 con
/**
* 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 con
* commands failed.
*/
static int
-ebiptablesRemoveRules(virConnectPtr conn ATTRIBUTE_UNUSED,
- const char *ifname ATTRIBUTE_UNUSED,
+ebiptablesRemoveRules(const char *ifname ATTRIBUTE_UNUSED,
int nruleInstances,
void **_inst)
{
Index: libvirt-acl/src/nwfilter/nwfilter_gentech_driver.c
===================================================================
--- libvirt-acl.orig/src/nwfilter/nwfilter_gentech_driver.c
+++ libvirt-acl/src/nwfilter/nwfilter_gentech_driver.c
@@ -98,8 +98,7 @@ virNWFilterTechDriverForName(const char
* 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(virNWF
* 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 var
/**
* 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 var
* 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
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
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
break;
}
- rc = _virNWFilterInstantiateRec(conn,
- techdriver,
+ rc = _virNWFilterInstantiateRec(techdriver,
nettype,
next_filter,
ifname,
@@ -491,8 +483,7 @@ _virNWFilterInstantiateRec(virConnectPtr
static int
-virNWFilterDetermineMissingVarsRec(virConnectPtr conn,
- virNWFilterDefPtr filter,
+virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter,
virNWFilterHashTablePtr vars,
virNWFilterHashTablePtr missing_vars,
int useNewFilter,
@@ -559,8 +550,7 @@ virNWFilterDetermineMissingVarsRec(virCo
break;
}
- rc = virNWFilterDetermineMissingVarsRec(conn,
- next_filter,
+ rc = virNWFilterDetermineMissingVarsRec(next_filter,
tmpvars,
missing_vars,
useNewFilter,
@@ -617,7 +607,6 @@ virNWFilterRuleInstancesToArray(int nEnt
/**
* 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 nEnt
* 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 con
goto err_exit;
}
- rc = virNWFilterDetermineMissingVarsRec(conn,
- filter,
+ rc = virNWFilterDetermineMissingVarsRec(filter,
vars,
missing_vars,
useNewFilter,
@@ -697,8 +684,7 @@ virNWFilterInstantiate(virConnectPtr con
goto err_exit;
}
- rc = _virNWFilterInstantiateRec(conn,
- techdriver,
+ rc = _virNWFilterInstantiateRec(techdriver,
nettype,
filter,
ifname,
@@ -729,10 +715,10 @@ virNWFilterInstantiate(virConnectPtr con
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(virConnec
break;
}
- rc = virNWFilterInstantiate(conn,
- techdriver,
+ rc = virNWFilterInstantiate(techdriver,
nettype,
filter,
ifname,
@@ -924,8 +908,7 @@ _virNWFilterInstantiateFilter(virConnect
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(virConn
virNWFilterLockFilterUpdates();
- rc = __virNWFilterInstantiateFilter(conn,
- 1,
+ rc = __virNWFilterInstantiateFilter(true,
ifname,
ifindex,
linkdev,
@@ -1019,8 +1000,7 @@ virNWFilterUpdateInstantiateFilter(virCo
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(virC
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 c
else if (virNWFilterLookupLearnReq(ifindex) != NULL)
return 0;
- return techdriver->tearOldRules(conn, net->ifname);
+ return techdriver->tearOldRules(net->ifname);
}
@@ -1141,14 +1120,13 @@ virNWFilterDomainFWUpdateCB(void *payloa
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;
}
Index: libvirt-acl/src/nwfilter/nwfilter_gentech_driver.h
===================================================================
--- libvirt-acl.orig/src/nwfilter/nwfilter_gentech_driver.h
+++ libvirt-acl/src/nwfilter/nwfilter_gentech_driver.h
@@ -42,14 +42,11 @@ int virNWFilterInstantiateFilter(virConn
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,
Index: libvirt-acl/src/nwfilter/nwfilter_learnipaddr.c
===================================================================
--- libvirt-acl.orig/src/nwfilter/nwfilter_learnipaddr.c
+++ libvirt-acl/src/nwfilter/nwfilter_learnipaddr.c
@@ -702,8 +702,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,