Added bridge driver implementation

Signed-off-by: K Shiva Kiran <shiva_kr@riseup.net>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
K Shiva Kiran 2023-08-17 00:17:15 +05:30 committed by Michal Privoznik
parent 9fb5234981
commit 275d1520a4

View File

@ -5119,6 +5119,68 @@ networkListAllPorts(virNetworkPtr net,
}
static int
networkSetMetadata(virNetworkPtr net,
int type,
const char *metadata,
const char *key,
const char *uri,
unsigned int flags)
{
virNetworkDriverState *driver = networkGetDriver();
virNetworkObj *obj = NULL;
virNetworkDef *def = NULL;
g_autoptr(virNetworkDriverConfig) cfg = NULL;
int ret = -1;
virCheckFlags(VIR_NETWORK_UPDATE_AFFECT_LIVE |
VIR_NETWORK_UPDATE_AFFECT_CONFIG, -1);
if (!(obj = networkObjFromNetwork(net)))
return -1;
cfg = virNetworkDriverGetConfig(driver);
def = virNetworkObjGetDef(obj);
if (virNetworkSetMetadataEnsureACL(net->conn, def, flags) < 0)
goto cleanup;
ret = virNetworkObjSetMetadata(obj, type, metadata, key, uri,
driver->xmlopt, cfg->stateDir,
cfg->networkConfigDir, flags);
cleanup:
virNetworkObjEndAPI(&obj);
return ret;
}
static char *
networkGetMetadata(virNetworkPtr net,
int type,
const char *uri,
unsigned int flags)
{
virNetworkObj *obj = NULL;
virNetworkDef *def = NULL;
char *ret = NULL;
if (!(obj = networkObjFromNetwork(net)))
return NULL;
def = virNetworkObjGetDef(obj);
if (virNetworkGetMetadataEnsureACL(net->conn, def) < 0)
goto cleanup;
ret = virNetworkObjGetMetadata(obj, type, uri, flags);
cleanup:
virNetworkObjEndAPI(&obj);
return ret;
}
static virNetworkDriver networkDriver = {
.name = "bridge",
.connectNumOfNetworks = networkConnectNumOfNetworks, /* 0.2.0 */
@ -5152,6 +5214,8 @@ static virNetworkDriver networkDriver = {
.networkListAllPorts = networkListAllPorts, /* 5.5.0 */
.networkPortGetParameters = networkPortGetParameters, /* 5.5.0 */
.networkPortSetParameters = networkPortSetParameters, /* 5.5.0 */
.networkGetMetadata = networkGetMetadata, /* 9.7.0 */
.networkSetMetadata = networkSetMetadata, /* 9.7.0 */
};