bridge_driver: Introduce networkObjFromNetwork
Similarly to qemu_driver.c, we can join often repeating code of looking up network into one function: networkObjFromNetwork. Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
14da45c8e4
commit
0f396366fe
@ -112,6 +112,27 @@ static int networkUnplugBandwidth(virNetworkObjPtr net,
|
|||||||
|
|
||||||
static virNetworkDriverStatePtr driverState = NULL;
|
static virNetworkDriverStatePtr driverState = NULL;
|
||||||
|
|
||||||
|
static virNetworkObjPtr
|
||||||
|
networkObjFromNetwork(virNetworkPtr net)
|
||||||
|
{
|
||||||
|
virNetworkDriverStatePtr driver = net->conn->networkPrivateData;
|
||||||
|
virNetworkObjPtr network;
|
||||||
|
char uuidstr[VIR_UUID_STRING_BUFLEN];
|
||||||
|
|
||||||
|
networkDriverLock(driver);
|
||||||
|
network = virNetworkFindByUUID(&driver->networks, net->uuid);
|
||||||
|
networkDriverUnlock(driver);
|
||||||
|
|
||||||
|
if (!network) {
|
||||||
|
virUUIDFormat(net->uuid, uuidstr);
|
||||||
|
virReportError(VIR_ERR_NO_NETWORK,
|
||||||
|
_("no network with matching uuid '%s' (%s)"),
|
||||||
|
uuidstr, net->name);
|
||||||
|
}
|
||||||
|
|
||||||
|
return network;
|
||||||
|
}
|
||||||
|
|
||||||
static char *
|
static char *
|
||||||
networkDnsmasqLeaseFileNameDefault(const char *netname)
|
networkDnsmasqLeaseFileNameDefault(const char *netname)
|
||||||
{
|
{
|
||||||
@ -2260,17 +2281,11 @@ cleanup:
|
|||||||
|
|
||||||
static int networkIsActive(virNetworkPtr net)
|
static int networkIsActive(virNetworkPtr net)
|
||||||
{
|
{
|
||||||
virNetworkDriverStatePtr driver = net->conn->networkPrivateData;
|
|
||||||
virNetworkObjPtr obj;
|
virNetworkObjPtr obj;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
networkDriverLock(driver);
|
if (!(obj = networkObjFromNetwork(net)))
|
||||||
obj = virNetworkFindByUUID(&driver->networks, net->uuid);
|
return ret;
|
||||||
networkDriverUnlock(driver);
|
|
||||||
if (!obj) {
|
|
||||||
virReportError(VIR_ERR_NO_NETWORK, NULL);
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (virNetworkIsActiveEnsureACL(net->conn, obj->def) < 0)
|
if (virNetworkIsActiveEnsureACL(net->conn, obj->def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -2285,17 +2300,11 @@ cleanup:
|
|||||||
|
|
||||||
static int networkIsPersistent(virNetworkPtr net)
|
static int networkIsPersistent(virNetworkPtr net)
|
||||||
{
|
{
|
||||||
virNetworkDriverStatePtr driver = net->conn->networkPrivateData;
|
|
||||||
virNetworkObjPtr obj;
|
virNetworkObjPtr obj;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
networkDriverLock(driver);
|
if (!(obj = networkObjFromNetwork(net)))
|
||||||
obj = virNetworkFindByUUID(&driver->networks, net->uuid);
|
return ret;
|
||||||
networkDriverUnlock(driver);
|
|
||||||
if (!obj) {
|
|
||||||
virReportError(VIR_ERR_NO_NETWORK, NULL);
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (virNetworkIsPersistentEnsureACL(net->conn, obj->def) < 0)
|
if (virNetworkIsPersistentEnsureACL(net->conn, obj->def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -2832,22 +2841,14 @@ cleanup:
|
|||||||
static char *networkGetXMLDesc(virNetworkPtr net,
|
static char *networkGetXMLDesc(virNetworkPtr net,
|
||||||
unsigned int flags)
|
unsigned int flags)
|
||||||
{
|
{
|
||||||
virNetworkDriverStatePtr driver = net->conn->networkPrivateData;
|
|
||||||
virNetworkObjPtr network;
|
virNetworkObjPtr network;
|
||||||
virNetworkDefPtr def;
|
virNetworkDefPtr def;
|
||||||
char *ret = NULL;
|
char *ret = NULL;
|
||||||
|
|
||||||
virCheckFlags(VIR_NETWORK_XML_INACTIVE, NULL);
|
virCheckFlags(VIR_NETWORK_XML_INACTIVE, NULL);
|
||||||
|
|
||||||
networkDriverLock(driver);
|
if (!(network = networkObjFromNetwork(net)))
|
||||||
network = virNetworkFindByUUID(&driver->networks, net->uuid);
|
return ret;
|
||||||
networkDriverUnlock(driver);
|
|
||||||
|
|
||||||
if (!network) {
|
|
||||||
virReportError(VIR_ERR_NO_NETWORK,
|
|
||||||
"%s", _("no network with matching uuid"));
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (virNetworkGetXMLDescEnsureACL(net->conn, network->def) < 0)
|
if (virNetworkGetXMLDescEnsureACL(net->conn, network->def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -2866,19 +2867,11 @@ cleanup:
|
|||||||
}
|
}
|
||||||
|
|
||||||
static char *networkGetBridgeName(virNetworkPtr net) {
|
static char *networkGetBridgeName(virNetworkPtr net) {
|
||||||
virNetworkDriverStatePtr driver = net->conn->networkPrivateData;
|
|
||||||
virNetworkObjPtr network;
|
virNetworkObjPtr network;
|
||||||
char *bridge = NULL;
|
char *bridge = NULL;
|
||||||
|
|
||||||
networkDriverLock(driver);
|
if (!(network = networkObjFromNetwork(net)))
|
||||||
network = virNetworkFindByUUID(&driver->networks, net->uuid);
|
return bridge;
|
||||||
networkDriverUnlock(driver);
|
|
||||||
|
|
||||||
if (!network) {
|
|
||||||
virReportError(VIR_ERR_NO_NETWORK,
|
|
||||||
"%s", _("no network with matching id"));
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (virNetworkGetBridgeNameEnsureACL(net->conn, network->def) < 0)
|
if (virNetworkGetBridgeNameEnsureACL(net->conn, network->def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
@ -2900,18 +2893,11 @@ cleanup:
|
|||||||
|
|
||||||
static int networkGetAutostart(virNetworkPtr net,
|
static int networkGetAutostart(virNetworkPtr net,
|
||||||
int *autostart) {
|
int *autostart) {
|
||||||
virNetworkDriverStatePtr driver = net->conn->networkPrivateData;
|
|
||||||
virNetworkObjPtr network;
|
virNetworkObjPtr network;
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
networkDriverLock(driver);
|
if (!(network = networkObjFromNetwork(net)))
|
||||||
network = virNetworkFindByUUID(&driver->networks, net->uuid);
|
return ret;
|
||||||
networkDriverUnlock(driver);
|
|
||||||
if (!network) {
|
|
||||||
virReportError(VIR_ERR_NO_NETWORK,
|
|
||||||
"%s", _("no network with matching uuid"));
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (virNetworkGetAutostartEnsureACL(net->conn, network->def) < 0)
|
if (virNetworkGetAutostartEnsureACL(net->conn, network->def) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user