This function for some weird reason returns integer instead of
virDomainNetType type. It is important to return the correct type
so that we know what values we can expect.
Signed-off-by: Michal Privoznik <mprivozn(a)redhat.com>
---
src/bhyve/bhyve_command.c | 2 +-
src/bhyve/bhyve_process.c | 2 +-
src/conf/domain_conf.c | 8 ++++----
src/conf/domain_conf.h | 2 +-
src/libxl/libxl_domain.c | 2 +-
src/libxl/libxl_driver.c | 2 +-
src/lxc/lxc_driver.c | 9 +++++++--
src/qemu/qemu_command.c | 2 +-
src/qemu/qemu_hotplug.c | 4 ++--
src/qemu/qemu_process.c | 13 ++++++++++++-
10 files changed, 31 insertions(+), 15 deletions(-)
diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c
index 9ad3f9b..55ad950 100644
--- a/src/bhyve/bhyve_command.c
+++ b/src/bhyve/bhyve_command.c
@@ -52,7 +52,7 @@ bhyveBuildNetArgStr(const virDomainDef *def,
char macaddr[VIR_MAC_STRING_BUFLEN];
char *realifname = NULL;
char *brname = NULL;
- int actualType = virDomainNetGetActualType(net);
+ virDomainNetType actualType = virDomainNetGetActualType(net);
if (actualType == VIR_DOMAIN_NET_TYPE_BRIDGE) {
if (VIR_STRDUP(brname, virDomainNetGetActualBridgeName(net)) < 0)
diff --git a/src/bhyve/bhyve_process.c b/src/bhyve/bhyve_process.c
index 6db070f..9d80976 100644
--- a/src/bhyve/bhyve_process.c
+++ b/src/bhyve/bhyve_process.c
@@ -77,7 +77,7 @@ bhyveNetCleanup(virDomainObjPtr vm)
for (i = 0; i < vm->def->nnets; i++) {
virDomainNetDefPtr net = vm->def->nets[i];
- int actualType = virDomainNetGetActualType(net);
+ virDomainNetType actualType = virDomainNetGetActualType(net);
if (actualType == VIR_DOMAIN_NET_TYPE_BRIDGE) {
if (net->ifname) {
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 8f04e6f..9343770 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -20804,7 +20804,7 @@ virDomainActualNetDefContentsFormat(virBufferPtr buf,
bool inSubelement,
unsigned int flags)
{
- int actualType = virDomainNetGetActualType(def);
+ virDomainNetType actualType = virDomainNetGetActualType(def);
if (actualType == VIR_DOMAIN_NET_TYPE_HOSTDEV) {
if (virDomainHostdevDefFormatSubsys(buf, virDomainNetGetActualHostdev(def),
@@ -20884,7 +20884,7 @@ virDomainActualNetDefFormat(virBufferPtr buf,
virDomainNetDefPtr def,
unsigned int flags)
{
- unsigned int type;
+ virDomainNetType type;
const char *typeStr;
if (!def)
@@ -21039,7 +21039,7 @@ virDomainNetDefFormat(virBufferPtr buf,
char *prefix,
unsigned int flags)
{
- unsigned int actualType = virDomainNetGetActualType(def);
+ virDomainNetType actualType = virDomainNetGetActualType(def);
bool publicActual = false;
int sourceLines = 0;
const char *typeStr;
@@ -24781,7 +24781,7 @@ virDomainStateReasonFromString(virDomainState state, const char
*reason)
* otherwise return the value from the NetDef.
*/
-int
+virDomainNetType
virDomainNetGetActualType(virDomainNetDefPtr iface)
{
if (iface->type != VIR_DOMAIN_NET_TYPE_NETWORK)
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index a70bc21..95bcf4f 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -2814,7 +2814,7 @@ int virDomainGraphicsListenAppendSocket(virDomainGraphicsDefPtr
def,
const char *socket)
ATTRIBUTE_NONNULL(1);
-int virDomainNetGetActualType(virDomainNetDefPtr iface);
+virDomainNetType virDomainNetGetActualType(virDomainNetDefPtr iface);
const char *virDomainNetGetActualBridgeName(virDomainNetDefPtr iface);
int virDomainNetGetActualBridgeMACTableManager(virDomainNetDefPtr iface);
const char *virDomainNetGetActualDirectDev(virDomainNetDefPtr iface);
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index db2c1dc..3df04cf 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -937,7 +937,7 @@ libxlNetworkPrepareDevices(virDomainDefPtr def)
for (i = 0; i < def->nnets; i++) {
virDomainNetDefPtr net = def->nets[i];
- int actualType;
+ virDomainNetType actualType;
/* If appropriate, grab a physical device from the configured
* network's pool of devices, or resolve bridge device name
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index b66cb1f..f87f549 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -3328,7 +3328,7 @@ libxlDomainAttachNetDevice(libxlDriverPrivatePtr driver,
virDomainNetDefPtr net)
{
libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
- int actualType;
+ virDomainNetType actualType;
libxl_device_nic nic;
int ret = -1;
char mac[VIR_MAC_STRING_BUFLEN];
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
index a9e664c..91f67f2 100644
--- a/src/lxc/lxc_driver.c
+++ b/src/lxc/lxc_driver.c
@@ -3943,7 +3943,7 @@ lxcDomainAttachDeviceNetLive(virConnectPtr conn,
{
virLXCDomainObjPrivatePtr priv = vm->privateData;
int ret = -1;
- int actualType;
+ virDomainNetType actualType;
virNetDevBandwidthPtr actualBandwidth;
char *veth = NULL;
@@ -4030,6 +4030,10 @@ lxcDomainAttachDeviceNetLive(virConnectPtr conn,
case VIR_DOMAIN_NET_TYPE_DIRECT:
ignore_value(virNetDevMacVLanDelete(veth));
break;
+
+ default:
+ /* no-op */
+ break;
}
}
@@ -4430,7 +4434,8 @@ static int
lxcDomainDetachDeviceNetLive(virDomainObjPtr vm,
virDomainDeviceDefPtr dev)
{
- int detachidx, actualType, ret = -1;
+ int detachidx, ret = -1;
+ virDomainNetType actualType;
virDomainNetDefPtr detach = NULL;
virNetDevVPortProfilePtr vport = NULL;
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 578ff8b..2aebf8a 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -7910,7 +7910,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
size_t vhostfdSize = 0;
char **tapfdName = NULL;
char **vhostfdName = NULL;
- int actualType = virDomainNetGetActualType(net);
+ virDomainNetType actualType = virDomainNetGetActualType(net);
virQEMUDriverConfigPtr cfg = NULL;
virNetDevBandwidthPtr actualBandwidth;
size_t i;
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 72dd93b..bb8ea0d 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -927,7 +927,7 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver,
int vlan;
bool releaseaddr = false;
bool iface_connected = false;
- int actualType;
+ virDomainNetType actualType;
virNetDevBandwidthPtr actualBandwidth;
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
virDomainCCWAddressSetPtr ccwaddrs = NULL;
@@ -2373,7 +2373,7 @@ qemuDomainChangeNet(virQEMUDriverPtr driver,
virDomainNetDefPtr newdev =
dev->data.net;
virDomainNetDefPtr *devslot = NULL;
virDomainNetDefPtr olddev;
- int oldType, newType;
+ virDomainNetType oldType, newType;
bool needReconnect = false;
bool needBridgeChange = false;
bool needFilterChange = false;
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index a4bc082..aa6c36f 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -4628,7 +4628,7 @@ qemuProcessNetworkPrepareDevices(virDomainDefPtr def)
for (i = 0; i < def->nnets; i++) {
virDomainNetDefPtr net = def->nets[i];
- int actualType;
+ virDomainNetType actualType;
/* If appropriate, grab a physical device from the configured
* network's pool of devices, or resolve bridge device name
@@ -6038,6 +6038,17 @@ void qemuProcessStop(virQEMUDriverPtr driver,
ignore_value(virNetDevTapDelete(net->ifname, net->backend.tap));
#endif
break;
+ case VIR_DOMAIN_NET_TYPE_USER:
+ case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
+ case VIR_DOMAIN_NET_TYPE_SERVER:
+ case VIR_DOMAIN_NET_TYPE_CLIENT:
+ case VIR_DOMAIN_NET_TYPE_MCAST:
+ case VIR_DOMAIN_NET_TYPE_INTERNAL:
+ case VIR_DOMAIN_NET_TYPE_HOSTDEV:
+ case VIR_DOMAIN_NET_TYPE_UDP:
+ case VIR_DOMAIN_NET_TYPE_LAST:
+ /* No special cleanup procedure for these types. */
+ break;
}
/* release the physical device (or any other resources used by
* this interface in the network driver
--
2.8.4