]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
nwfilter: remove methods that are trivial wrappers for virHash APIs
authorDaniel P. Berrangé <berrange@redhat.com>
Thu, 26 Apr 2018 11:09:18 +0000 (12:09 +0100)
committerDaniel P. Berrangé <berrange@redhat.com>
Thu, 3 May 2018 16:00:57 +0000 (17:00 +0100)
This removes the virNWFilterHashTableFree, virNWFilterHashTablePut
and virNWFilterHashTableRemove methods, in favour of just calling
the virHash APIs directly.

The virNWFilterHashTablePut method was unreasonably complex because
the virHashUpdateEntry already knows how to create the entry if it
does not currently exist.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
src/conf/domain_conf.c
src/conf/nwfilter_conf.c
src/conf/nwfilter_ipaddrmap.c
src/conf/nwfilter_params.c
src/conf/nwfilter_params.h
src/libvirt_private.syms
src/nwfilter/nwfilter_dhcpsnoop.c
src/nwfilter/nwfilter_gentech_driver.c
src/nwfilter/nwfilter_learnipaddr.c
tests/nwfilterxml2firewalltest.c

index 6a2e28a1e7d92850392ea9c3ec9fde370b8d1643..fe97a45f0cbef716da7db2bfea04166e48b2b604 100644 (file)
@@ -2094,7 +2094,7 @@ virDomainNetDefClear(virDomainNetDefPtr def)
     virDomainDeviceInfoClear(&def->info);
 
     VIR_FREE(def->filter);
-    virNWFilterHashTableFree(def->filterparams);
+    virHashFree(def->filterparams);
     def->filterparams = NULL;
 
     virNetDevBandwidthFree(def->bandwidth);
@@ -11047,7 +11047,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
                     goto error;
                 }
                 filter = virXMLPropString(cur, "filter");
-                virNWFilterHashTableFree(filterparams);
+                virHashFree(filterparams);
                 filterparams = virNWFilterParseParamAttributes(cur);
             } else if ((flags & VIR_DOMAIN_DEF_PARSE_STATUS) &&
                        virXMLNodeNameEqual(cur, "state")) {
@@ -11680,7 +11680,7 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
     VIR_FREE(vhost_path);
     VIR_FREE(localaddr);
     VIR_FREE(localport);
-    virNWFilterHashTableFree(filterparams);
+    virHashFree(filterparams);
 
     return def;
 
index fd42d58c2cd8bc01a56bbe38866b8bb28d33ced7..5d04f2a93cc5f7377f61b67a90bc103b40bfd080 100644 (file)
@@ -312,7 +312,7 @@ virNWFilterIncludeDefFree(virNWFilterIncludeDefPtr inc)
 {
     if (!inc)
         return;
-    virNWFilterHashTableFree(inc->params);
+    virHashFree(inc->params);
     VIR_FREE(inc->filterref);
     VIR_FREE(inc);
 }
index 680667bac904d54a22425b425cde70833d3898a9..a921d7cfd69ed1c94bd96cf22d8aefea68685005 100644 (file)
@@ -67,7 +67,7 @@ virNWFilterIPAddrMapAddIPAddr(const char *ifname, char *addr)
         if (!val)
             goto cleanup;
         addrCopy = NULL;
-        ret = virNWFilterHashTablePut(ipAddressMap, ifname, val);
+        ret = virHashUpdateEntry(ipAddressMap, ifname, val);
         if (ret < 0)
             virNWFilterVarValueFree(val);
         goto cleanup;
@@ -121,8 +121,7 @@ virNWFilterIPAddrMapDelIPAddr(const char *ifname, const char *ipaddr)
     } else {
  remove_entry:
         /* remove whole entry */
-        val = virNWFilterHashTableRemoveEntry(ipAddressMap, ifname);
-        virNWFilterVarValueFree(val);
+        virHashRemoveEntry(ipAddressMap, ifname);
         ret = 0;
     }
 
@@ -164,6 +163,6 @@ virNWFilterIPAddrMapInit(void)
 void
 virNWFilterIPAddrMapShutdown(void)
 {
-    virNWFilterHashTableFree(ipAddressMap);
+    virHashFree(ipAddressMap);
     ipAddressMap = NULL;
 }
index e833c8cb5d3ffc4b969818bf06181fc2f9dd4736..ee9c063941f242b945a35d7093bf479ad083e504 100644 (file)
@@ -631,65 +631,12 @@ hashDataFree(void *payload, const void *name ATTRIBUTE_UNUSED)
 }
 
 
-/**
- * virNWFilterHashTablePut:
- * @table: Pointer to a virNWFilterHashTable
- * @name: name of the key to enter
- * @val: The value associated with the key
- * @freeName: Whether the name must be freed on table destruction
- *
- * Returns 0 on success, -1 on failure.
- *
- * Put an entry into the hashmap replacing and freeing an existing entry
- * if one existed.
- */
-int
-virNWFilterHashTablePut(virNWFilterHashTablePtr table,
-                        const char *name,
-                        virNWFilterVarValuePtr val)
-{
-    if (!virHashLookup(table, name)) {
-        if (virHashAddEntry(table, name, val) < 0)
-            return -1;
-    } else {
-        if (virHashUpdateEntry(table, name, val) < 0)
-            return -1;
-    }
-    return 0;
-}
-
-
-/**
- * virNWFilterHashTableFree:
- * @table: Pointer to virNWFilterHashTable
- *
- * Free a hashtable de-allocating memory for all its entries.
- *
- * All hash tables within the NWFilter driver must use this
- * function to deallocate and free their content.
- */
-void
-virNWFilterHashTableFree(virNWFilterHashTablePtr table)
-{
-    virHashFree(table);
-}
-
-
 virNWFilterHashTablePtr
 virNWFilterHashTableCreate(int n)
 {
     return virHashCreate(n, hashDataFree);
 }
 
-
-void *
-virNWFilterHashTableRemoveEntry(virNWFilterHashTablePtr ht,
-                                const char *entry)
-{
-    return virHashSteal(ht, entry);
-}
-
-
 struct addToTableStruct {
     virNWFilterHashTablePtr target;
     int errOccurred;
@@ -711,10 +658,7 @@ addToTable(void *payload, const void *name, void *data)
         return 0;
     }
 
-    if (virNWFilterHashTablePut(atts->target, (const char *)name, val) < 0) {
-        virReportError(VIR_ERR_INTERNAL_ERROR,
-                       _("Could not put variable '%s' into hashmap"),
-                       (const char *)name);
+    if (virHashUpdateEntry(atts->target, (const char *)name, val) < 0) {
         atts->errOccurred = 1;
         virNWFilterVarValueFree(val);
     }
@@ -814,7 +758,7 @@ virNWFilterParseParamAttributes(xmlNodePtr cur)
                         value = virNWFilterParseVarValue(val);
                         if (!value)
                             goto skip_entry;
-                        if (virNWFilterHashTablePut(table, nam, value) < 0)
+                        if (virHashUpdateEntry(table, nam, value) < 0)
                             goto err_exit;
                     }
                     value = NULL;
@@ -833,7 +777,7 @@ virNWFilterParseParamAttributes(xmlNodePtr cur)
     VIR_FREE(nam);
     VIR_FREE(val);
     virNWFilterVarValueFree(value);
-    virNWFilterHashTableFree(table);
+    virHashFree(table);
     return NULL;
 }
 
index b3ed3e64180e023c0cbd163d51f5630cde5b9453..b24f02363331f40bf8ef7a1d22cd3f403de5748f 100644 (file)
@@ -72,12 +72,6 @@ int virNWFilterFormatParamAttributes(virBufferPtr buf,
                                      const char *filterref);
 
 virNWFilterHashTablePtr virNWFilterHashTableCreate(int n);
-void virNWFilterHashTableFree(virNWFilterHashTablePtr table);
-int virNWFilterHashTablePut(virNWFilterHashTablePtr table,
-                            const char *name,
-                            virNWFilterVarValuePtr val);
-void *virNWFilterHashTableRemoveEntry(virNWFilterHashTablePtr table,
-                                      const char *name);
 int virNWFilterHashTablePutAll(virNWFilterHashTablePtr src,
                                virNWFilterHashTablePtr dest);
 bool virNWFilterHashTableEqual(virNWFilterHashTablePtr a,
index 1051a105b87164edf750dbc2f89beb3c6339b91c..7c7b19472b0d3b341ce7271ce4c58171540b85ce 100644 (file)
@@ -820,10 +820,7 @@ virNWFilterIPAddrMapShutdown;
 # conf/nwfilter_params.h
 virNWFilterHashTableCreate;
 virNWFilterHashTableEqual;
-virNWFilterHashTableFree;
-virNWFilterHashTablePut;
 virNWFilterHashTablePutAll;
-virNWFilterHashTableRemoveEntry;
 virNWFilterVarAccessGetVarName;
 virNWFilterVarAccessIsAvailable;
 virNWFilterVarAccessPrint;
index 4ba833c66cda6d5da666fb0cd6c110a870b08c82..526ac0716f0303b0a774926c7a78b521a9d59f02 100644 (file)
@@ -647,7 +647,7 @@ virNWFilterSnoopReqFree(virNWFilterSnoopReqPtr req)
     VIR_FREE(req->ifname);
     VIR_FREE(req->linkdev);
     VIR_FREE(req->filtername);
-    virNWFilterHashTableFree(req->vars);
+    virHashFree(req->vars);
 
     virMutexDestroy(&req->lock);
     virCondDestroy(&req->threadStatusCond);
@@ -1633,7 +1633,7 @@ virNWFilterDHCPSnoopReq(virNWFilterTechDriverPtr techdriver,
         }
         /* a recycled req may still have filtername and vars */
         VIR_FREE(req->filtername);
-        virNWFilterHashTableFree(req->vars);
+        virHashFree(req->vars);
     } else {
         req = virNWFilterSnoopReqNew(ifkey);
         if (!req)
index 4706f1f1dab04834cffba8a7ef0b551110af5d7c..130a366d672ecc3d55d506076e674d58b86d64f8 100644 (file)
@@ -123,7 +123,7 @@ virNWFilterRuleInstFree(virNWFilterRuleInstPtr inst)
     if (!inst)
         return;
 
-    virNWFilterHashTableFree(inst->vars);
+    virHashFree(inst->vars);
     VIR_FREE(inst);
 }
 
@@ -200,7 +200,7 @@ virNWFilterCreateVarHashmap(char *macaddr,
         return NULL;
 
     if (virNWFilterVarHashmapAddStdValues(table, macaddr, ipaddr) < 0) {
-        virNWFilterHashTableFree(table);
+        virHashFree(table);
         return NULL;
     }
     return table;
@@ -295,7 +295,7 @@ virNWFilterCreateVarsFrom(virNWFilterHashTablePtr vars1,
     return res;
 
  err_exit:
-    virNWFilterHashTableFree(res);
+    virHashFree(res);
     return NULL;
 }
 
@@ -424,7 +424,7 @@ virNWFilterIncludeDefToRuleInst(virNWFilterDriverStatePtr driver,
  cleanup:
     if (ret < 0)
         virNWFilterInstReset(inst);
-    virNWFilterHashTableFree(tmpvars);
+    virHashFree(tmpvars);
     if (obj)
         virNWFilterObjUnlock(obj);
     return ret;
@@ -524,7 +524,7 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter,
                     }
 
                     varAccess = virBufferContentAndReset(&buf);
-                    rc = virNWFilterHashTablePut(missing_vars, varAccess, val);
+                    rc = virHashUpdateEntry(missing_vars, varAccess, val);
                     VIR_FREE(varAccess);
                     if (rc < 0) {
                         virNWFilterVarValueFree(val);
@@ -562,7 +562,7 @@ virNWFilterDetermineMissingVarsRec(virNWFilterDefPtr filter,
                                                     useNewFilter,
                                                     driver);
 
-            virNWFilterHashTableFree(tmpvars);
+            virHashFree(tmpvars);
 
             virNWFilterObjUnlock(obj);
             if (rc < 0)
@@ -723,7 +723,7 @@ virNWFilterDoInstantiate(const unsigned char *vmuuid,
 
  err_exit:
     virNWFilterInstReset(&inst);
-    virNWFilterHashTableFree(missing_vars);
+    virHashFree(missing_vars);
 
     return rc;
 
@@ -832,10 +832,10 @@ virNWFilterInstantiateFilterUpdate(virNWFilterDriverStatePtr driver,
                                   teardownOld, macaddr, driver,
                                   forceWithPendingReq);
 
-    virNWFilterHashTableFree(vars);
+    virHashFree(vars);
 
  err_exit_vars1:
-    virNWFilterHashTableFree(vars1);
+    virHashFree(vars1);
 
  err_exit:
     virNWFilterObjUnlock(obj);
index 9ca0639576513231c2843cf924db4e99688f9f47..f5b94cf27d39c0b9f8374653bf09f2ec2ed27b9a 100644 (file)
@@ -216,7 +216,7 @@ virNWFilterIPAddrLearnReqFree(virNWFilterIPAddrLearnReqPtr req)
         return;
 
     VIR_FREE(req->filtername);
-    virNWFilterHashTableFree(req->filterparams);
+    virHashFree(req->filterparams);
 
     VIR_FREE(req);
 }
@@ -765,7 +765,7 @@ virNWFilterLearnIPAddress(virNWFilterTechDriverPtr techdriver,
  err_dereg_req:
     virNWFilterDeregisterLearnReq(ifindex);
  err_free_ht:
-    virNWFilterHashTableFree(ht);
+    virHashFree(ht);
  err_free_req:
     virNWFilterIPAddrLearnReqFree(req);
  err_no_req:
index bf1400d2d0ff0dcec282984029ce52c8b61da1f2..a51ad9412aecc7ecaa44cc53de451bc61aff7138 100644 (file)
@@ -164,7 +164,7 @@ virNWFilterCreateVarsFrom(virNWFilterHashTablePtr vars1,
     return res;
 
  err_exit:
-    virNWFilterHashTableFree(res);
+    virHashFree(res);
     return NULL;
 }
 
@@ -175,7 +175,7 @@ virNWFilterRuleInstFree(virNWFilterRuleInstPtr inst)
     if (!inst)
         return;
 
-    virNWFilterHashTableFree(inst->vars);
+    virHashFree(inst->vars);
     VIR_FREE(inst);
 }
 
@@ -263,7 +263,7 @@ virNWFilterIncludeDefToRuleInst(virNWFilterIncludeDefPtr inc,
  cleanup:
     if (ret < 0)
         virNWFilterInstReset(inst);
-    virNWFilterHashTableFree(tmpvars);
+    virHashFree(tmpvars);
     VIR_FREE(xml);
     return ret;
 }
@@ -337,7 +337,7 @@ static int testSetOneParameter(virNWFilterHashTablePtr vars,
         val = virNWFilterVarValueCreateSimpleCopyValue(value);
         if (!val)
             goto cleanup;
-        if (virNWFilterHashTablePut(vars, name, val) < 0) {
+        if (virHashUpdateEntry(vars, name, val) < 0) {
             virNWFilterVarValueFree(val);
             goto cleanup;
         }
@@ -414,7 +414,7 @@ static int testCompareXMLToArgvFiles(const char *xml,
     virBufferFreeAndReset(&buf);
     VIR_FREE(actualargv);
     virNWFilterInstReset(&inst);
-    virNWFilterHashTableFree(vars);
+    virHashFree(vars);
     return ret;
 }