]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
network: Introduce virNetworkObjGetClassIdMap
authorJohn Ferlan <jferlan@redhat.com>
Tue, 9 May 2017 21:41:23 +0000 (17:41 -0400)
committerJohn Ferlan <jferlan@redhat.com>
Wed, 16 Aug 2017 18:17:57 +0000 (14:17 -0400)
In preparation for privatizing virNetworkObj, create accessor function to
fetch the @classIdMap.

Signed-off-by: John Ferlan <jferlan@redhat.com>
src/conf/virnetworkobj.c
src/conf/virnetworkobj.h
src/libvirt_private.syms
src/network/bridge_driver.c

index 56dc6200f8ef1d52016224adcaf430fda0d65e7b..7b5e6a298319aa16cfd3abb069405da0a121f396 100644 (file)
@@ -137,6 +137,13 @@ virNetworkObjSetRadvdPid(virNetworkObjPtr obj,
 }
 
 
+virBitmapPtr
+virNetworkObjGetClassIdMap(virNetworkObjPtr obj)
+{
+    return obj->classIdMap;
+}
+
+
 virMacMapPtr
 virNetworkObjGetMacMap(virNetworkObjPtr obj)
 {
index b5b5546b79271e317ff544591272dc80950ac740..79a9d099440f86d5389b73ede95522f560f1155c 100644 (file)
@@ -67,6 +67,9 @@ void
 virNetworkObjSetRadvdPid(virNetworkObjPtr obj,
                          pid_t radvdPid);
 
+virBitmapPtr
+virNetworkObjGetClassIdMap(virNetworkObjPtr obj);
+
 void
 virNetworkObjSetMacMap(virNetworkObjPtr obj,
                        virMacMapPtr macmap);
index 052a0ab0598b2c08726f65acf6e8d1b1f87edfce..b9964111f448596a8462a2a2bc79c534d2c818db 100644 (file)
@@ -942,6 +942,7 @@ virNetworkObjDeleteConfig;
 virNetworkObjEndAPI;
 virNetworkObjFindByName;
 virNetworkObjFindByUUID;
+virNetworkObjGetClassIdMap;
 virNetworkObjGetDnsmasqPid;
 virNetworkObjGetMacMap;
 virNetworkObjGetPersistentDef;
index ff0ad9c92629d855a702ce9fc88ecc0b68fca831..4a1c258194a29b14a36c0bc656ae7a981027787b 100644 (file)
@@ -5346,10 +5346,11 @@ static ssize_t
 networkNextClassID(virNetworkObjPtr obj)
 {
     ssize_t ret = 0;
+    virBitmapPtr classIdMap = virNetworkObjGetClassIdMap(obj);
 
-    ret = virBitmapNextClearBit(obj->classIdMap, -1);
+    ret = virBitmapNextClearBit(classIdMap, -1);
 
-    if (ret < 0 || virBitmapSetBit(obj->classIdMap, ret) < 0)
+    if (ret < 0 || virBitmapSetBit(classIdMap, ret) < 0)
         return -1;
 
     return ret;
@@ -5363,6 +5364,7 @@ networkPlugBandwidthImpl(virNetworkObjPtr obj,
                          unsigned long long new_rate)
 {
     virNetworkDriverStatePtr driver = networkGetDriver();
+    virBitmapPtr classIdMap = virNetworkObjGetClassIdMap(obj);
     ssize_t class_id = 0;
     int plug_ret;
     int ret = -1;
@@ -5387,7 +5389,7 @@ networkPlugBandwidthImpl(virNetworkObjPtr obj,
     obj->floor_sum += ifaceBand->in->floor;
     /* update status file */
     if (virNetworkObjSaveStatus(driver->stateDir, obj) < 0) {
-        ignore_value(virBitmapClearBit(obj->classIdMap, class_id));
+        ignore_value(virBitmapClearBit(classIdMap, class_id));
         obj->floor_sum -= ifaceBand->in->floor;
         iface->data.network.actual->class_id = 0;
         ignore_value(virNetDevBandwidthUnplug(obj->def->bridge, class_id));
@@ -5451,6 +5453,7 @@ static int
 networkUnplugBandwidth(virNetworkObjPtr obj,
                        virDomainNetDefPtr iface)
 {
+    virBitmapPtr classIdMap = virNetworkObjGetClassIdMap(obj);
     virNetworkDriverStatePtr driver = networkGetDriver();
     int ret = 0;
     unsigned long long new_rate;
@@ -5476,12 +5479,12 @@ networkUnplugBandwidth(virNetworkObjPtr obj,
         /* update sum of 'floor'-s of attached NICs */
         obj->floor_sum -= ifaceBand->in->floor;
         /* return class ID */
-        ignore_value(virBitmapClearBit(obj->classIdMap,
+        ignore_value(virBitmapClearBit(classIdMap,
                                        iface->data.network.actual->class_id));
         /* update status file */
         if (virNetworkObjSaveStatus(driver->stateDir, obj) < 0) {
             obj->floor_sum += ifaceBand->in->floor;
-            ignore_value(virBitmapSetBit(obj->classIdMap,
+            ignore_value(virBitmapSetBit(classIdMap,
                                          iface->data.network.actual->class_id));
             goto cleanup;
         }