diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 6e4c3e83b9eeb5f34400716869c2e75dafd2d24a..d1b0ce5da2f532be34783098695b82e0b7ef15b7 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -2070,6 +2070,7 @@ virMacAddrSetRaw; # util/virmacmap.h virMacMapAdd; virMacMapDumpStr; +virMacMapFileName; virMacMapLookup; virMacMapNew; virMacMapRemove; diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c index fd0e6ca29f8b4cca2522a74cdb7f0d2a9aece170..de2e83c9f891e1c2f0643e64bdc001c4f6d3f15f 100644 --- a/src/network/bridge_driver.c +++ b/src/network/bridge_driver.c @@ -322,18 +322,6 @@ networkRadvdConfigFileName(virNetworkDriverStatePtr driver, } -static char * -networkMacMgrFileName(virNetworkDriverStatePtr driver, - const char *bridge) -{ - char *filename; - - ignore_value(virAsprintf(&filename, "%s/%s.macs", - driver->dnsmasqStateDir, bridge)); - return filename; -} - - /* do needed cleanup steps and remove the network from the list */ static int networkRemoveInactive(virNetworkDriverStatePtr driver, @@ -375,7 +363,7 @@ networkRemoveInactive(virNetworkDriverStatePtr driver, if (!(statusfile = virNetworkConfigFile(driver->stateDir, def->name))) goto cleanup; - if (!(macMapFile = networkMacMgrFileName(driver, def->bridge))) + if (!(macMapFile = virMacMapFileName(driver->dnsmasqStateDir, def->bridge))) goto cleanup; /* dnsmasq */ @@ -427,7 +415,7 @@ networkMacMgrAdd(virNetworkDriverStatePtr driver, virMacAddrFormat(mac, macStr); - if (!(file = networkMacMgrFileName(driver, obj->def->bridge))) + if (!(file = virMacMapFileName(driver->dnsmasqStateDir, obj->def->bridge))) goto cleanup; if (virMacMapAdd(obj->macmap, domain, macStr) < 0) @@ -458,7 +446,7 @@ networkMacMgrDel(virNetworkDriverStatePtr driver, virMacAddrFormat(mac, macStr); - if (!(file = networkMacMgrFileName(driver, obj->def->bridge))) + if (!(file = virMacMapFileName(driver->dnsmasqStateDir, obj->def->bridge))) goto cleanup; if (virMacMapRemove(obj->macmap, domain, macStr) < 0) @@ -523,7 +511,8 @@ networkUpdateState(virNetworkObjPtr obj, if (!(obj->def->bridge && virNetDevExists(obj->def->bridge) == 1)) obj->active = 0; - if (!(macMapFile = networkMacMgrFileName(driver, obj->def->bridge))) + if (!(macMapFile = virMacMapFileName(driver->dnsmasqStateDir, + obj->def->bridge))) goto cleanup; if (!(obj->macmap = virMacMapNew(macMapFile))) @@ -2380,7 +2369,8 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr driver, } } - if (!(macMapFile = networkMacMgrFileName(driver, obj->def->bridge)) || + if (!(macMapFile = virMacMapFileName(driver->dnsmasqStateDir, + obj->def->bridge)) || !(obj->macmap = virMacMapNew(macMapFile))) goto err1; diff --git a/src/util/virmacmap.c b/src/util/virmacmap.c index a9697e3d93d7c030074eb56395a8c21986ed2686..42890ba2ff6e044556f140a6a930ca02a08802f6 100644 --- a/src/util/virmacmap.c +++ b/src/util/virmacmap.c @@ -294,6 +294,18 @@ virMacMapWriteFileLocked(virMacMapPtr mgr, } +char * +virMacMapFileName(const char *dnsmasqStateDir, + const char *bridge) +{ + char *filename; + + ignore_value(virAsprintf(&filename, "%s/%s.macs", dnsmasqStateDir, bridge)); + + return filename; +} + + #define VIR_MAC_HASH_TABLE_SIZE 10 virMacMapPtr diff --git a/src/util/virmacmap.h b/src/util/virmacmap.h index 82da833004f712ffa989c0ad0614ddbd4c023e7a..e6f754e247f7fa7932823feae91d3237f664edd6 100644 --- a/src/util/virmacmap.h +++ b/src/util/virmacmap.h @@ -27,6 +27,10 @@ typedef struct virMacMap virMacMap; typedef virMacMap *virMacMapPtr; +char * +virMacMapFileName(const char *dnsmasqStateDir, + const char *bridge); + virMacMapPtr virMacMapNew(const char *file); int virMacMapAdd(virMacMapPtr mgr,