|
|
c8c376 |
From a9eea9b50f56334046fd21e0bc11fb878d4e6d07 Mon Sep 17 00:00:00 2001
|
|
|
c8c376 |
Message-Id: <a9eea9b50f56334046fd21e0bc11fb878d4e6d07@dist-git>
|
|
|
c8c376 |
From: Michal Privoznik <mprivozn@redhat.com>
|
|
|
c8c376 |
Date: Tue, 8 Nov 2016 13:42:02 +0100
|
|
|
c8c376 |
Subject: [PATCH] virDomainNetGetActualType: Return type is virDomainNetType
|
|
|
c8c376 |
|
|
|
c8c376 |
RHEL-7.3: https://bugzilla.redhat.com/show_bug.cgi?id=1366108
|
|
|
c8c376 |
RHEL-7.3.z: https://bugzilla.redhat.com/show_bug.cgi?id=1392032
|
|
|
c8c376 |
|
|
|
c8c376 |
This function for some weird reason returns integer instead of
|
|
|
c8c376 |
virDomainNetType type. It is important to return the correct type
|
|
|
c8c376 |
so that we know what values we can expect.
|
|
|
c8c376 |
|
|
|
c8c376 |
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
|
|
c8c376 |
(cherry picked from commit 507032d98d390245047f69474d0671d6b0b12651)
|
|
|
c8c376 |
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
|
|
|
c8c376 |
---
|
|
|
c8c376 |
src/bhyve/bhyve_command.c | 2 +-
|
|
|
c8c376 |
src/bhyve/bhyve_process.c | 2 +-
|
|
|
c8c376 |
src/conf/domain_conf.c | 8 ++++----
|
|
|
c8c376 |
src/conf/domain_conf.h | 2 +-
|
|
|
c8c376 |
src/libxl/libxl_domain.c | 2 +-
|
|
|
c8c376 |
src/libxl/libxl_driver.c | 2 +-
|
|
|
c8c376 |
src/lxc/lxc_driver.c | 9 +++++++--
|
|
|
c8c376 |
src/qemu/qemu_command.c | 2 +-
|
|
|
c8c376 |
src/qemu/qemu_hotplug.c | 4 ++--
|
|
|
c8c376 |
src/qemu/qemu_process.c | 13 ++++++++++++-
|
|
|
c8c376 |
10 files changed, 31 insertions(+), 15 deletions(-)
|
|
|
c8c376 |
|
|
|
c8c376 |
diff --git a/src/bhyve/bhyve_command.c b/src/bhyve/bhyve_command.c
|
|
|
c8c376 |
index 9ad3f9b52..55ad95076 100644
|
|
|
c8c376 |
--- a/src/bhyve/bhyve_command.c
|
|
|
c8c376 |
+++ b/src/bhyve/bhyve_command.c
|
|
|
c8c376 |
@@ -52,7 +52,7 @@ bhyveBuildNetArgStr(const virDomainDef *def,
|
|
|
c8c376 |
char macaddr[VIR_MAC_STRING_BUFLEN];
|
|
|
c8c376 |
char *realifname = NULL;
|
|
|
c8c376 |
char *brname = NULL;
|
|
|
c8c376 |
- int actualType = virDomainNetGetActualType(net);
|
|
|
c8c376 |
+ virDomainNetType actualType = virDomainNetGetActualType(net);
|
|
|
c8c376 |
|
|
|
c8c376 |
if (actualType == VIR_DOMAIN_NET_TYPE_BRIDGE) {
|
|
|
c8c376 |
if (VIR_STRDUP(brname, virDomainNetGetActualBridgeName(net)) < 0)
|
|
|
c8c376 |
diff --git a/src/bhyve/bhyve_process.c b/src/bhyve/bhyve_process.c
|
|
|
c8c376 |
index 6db070f6b..9d8097676 100644
|
|
|
c8c376 |
--- a/src/bhyve/bhyve_process.c
|
|
|
c8c376 |
+++ b/src/bhyve/bhyve_process.c
|
|
|
c8c376 |
@@ -77,7 +77,7 @@ bhyveNetCleanup(virDomainObjPtr vm)
|
|
|
c8c376 |
|
|
|
c8c376 |
for (i = 0; i < vm->def->nnets; i++) {
|
|
|
c8c376 |
virDomainNetDefPtr net = vm->def->nets[i];
|
|
|
c8c376 |
- int actualType = virDomainNetGetActualType(net);
|
|
|
c8c376 |
+ virDomainNetType actualType = virDomainNetGetActualType(net);
|
|
|
c8c376 |
|
|
|
c8c376 |
if (actualType == VIR_DOMAIN_NET_TYPE_BRIDGE) {
|
|
|
c8c376 |
if (net->ifname) {
|
|
|
c8c376 |
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
|
|
|
c8c376 |
index 23e447a4e..da3de8299 100644
|
|
|
c8c376 |
--- a/src/conf/domain_conf.c
|
|
|
c8c376 |
+++ b/src/conf/domain_conf.c
|
|
|
c8c376 |
@@ -20865,7 +20865,7 @@ virDomainActualNetDefContentsFormat(virBufferPtr buf,
|
|
|
c8c376 |
bool inSubelement,
|
|
|
c8c376 |
unsigned int flags)
|
|
|
c8c376 |
{
|
|
|
c8c376 |
- int actualType = virDomainNetGetActualType(def);
|
|
|
c8c376 |
+ virDomainNetType actualType = virDomainNetGetActualType(def);
|
|
|
c8c376 |
|
|
|
c8c376 |
if (actualType == VIR_DOMAIN_NET_TYPE_HOSTDEV) {
|
|
|
c8c376 |
if (virDomainHostdevDefFormatSubsys(buf, virDomainNetGetActualHostdev(def),
|
|
|
c8c376 |
@@ -20945,7 +20945,7 @@ virDomainActualNetDefFormat(virBufferPtr buf,
|
|
|
c8c376 |
virDomainNetDefPtr def,
|
|
|
c8c376 |
unsigned int flags)
|
|
|
c8c376 |
{
|
|
|
c8c376 |
- unsigned int type;
|
|
|
c8c376 |
+ virDomainNetType type;
|
|
|
c8c376 |
const char *typeStr;
|
|
|
c8c376 |
|
|
|
c8c376 |
if (!def)
|
|
|
c8c376 |
@@ -21100,7 +21100,7 @@ virDomainNetDefFormat(virBufferPtr buf,
|
|
|
c8c376 |
char *prefix,
|
|
|
c8c376 |
unsigned int flags)
|
|
|
c8c376 |
{
|
|
|
c8c376 |
- unsigned int actualType = virDomainNetGetActualType(def);
|
|
|
c8c376 |
+ virDomainNetType actualType = virDomainNetGetActualType(def);
|
|
|
c8c376 |
bool publicActual = false;
|
|
|
c8c376 |
const char *typeStr;
|
|
|
c8c376 |
virDomainHostdevDefPtr hostdef = NULL;
|
|
|
c8c376 |
@@ -24804,7 +24804,7 @@ virDomainStateReasonFromString(virDomainState state, const char *reason)
|
|
|
c8c376 |
* otherwise return the value from the NetDef.
|
|
|
c8c376 |
*/
|
|
|
c8c376 |
|
|
|
c8c376 |
-int
|
|
|
c8c376 |
+virDomainNetType
|
|
|
c8c376 |
virDomainNetGetActualType(virDomainNetDefPtr iface)
|
|
|
c8c376 |
{
|
|
|
c8c376 |
if (iface->type != VIR_DOMAIN_NET_TYPE_NETWORK)
|
|
|
c8c376 |
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
|
|
|
c8c376 |
index b8944cb79..84cda68b6 100644
|
|
|
c8c376 |
--- a/src/conf/domain_conf.h
|
|
|
c8c376 |
+++ b/src/conf/domain_conf.h
|
|
|
c8c376 |
@@ -2791,7 +2791,7 @@ int virDomainGraphicsListenAppendSocket(virDomainGraphicsDefPtr def,
|
|
|
c8c376 |
const char *socket)
|
|
|
c8c376 |
ATTRIBUTE_NONNULL(1);
|
|
|
c8c376 |
|
|
|
c8c376 |
-int virDomainNetGetActualType(virDomainNetDefPtr iface);
|
|
|
c8c376 |
+virDomainNetType virDomainNetGetActualType(virDomainNetDefPtr iface);
|
|
|
c8c376 |
const char *virDomainNetGetActualBridgeName(virDomainNetDefPtr iface);
|
|
|
c8c376 |
int virDomainNetGetActualBridgeMACTableManager(virDomainNetDefPtr iface);
|
|
|
c8c376 |
const char *virDomainNetGetActualDirectDev(virDomainNetDefPtr iface);
|
|
|
c8c376 |
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
|
|
|
c8c376 |
index ca37a3375..3cd34bee2 100644
|
|
|
c8c376 |
--- a/src/libxl/libxl_domain.c
|
|
|
c8c376 |
+++ b/src/libxl/libxl_domain.c
|
|
|
c8c376 |
@@ -916,7 +916,7 @@ libxlNetworkPrepareDevices(virDomainDefPtr def)
|
|
|
c8c376 |
|
|
|
c8c376 |
for (i = 0; i < def->nnets; i++) {
|
|
|
c8c376 |
virDomainNetDefPtr net = def->nets[i];
|
|
|
c8c376 |
- int actualType;
|
|
|
c8c376 |
+ virDomainNetType actualType;
|
|
|
c8c376 |
|
|
|
c8c376 |
/* If appropriate, grab a physical device from the configured
|
|
|
c8c376 |
* network's pool of devices, or resolve bridge device name
|
|
|
c8c376 |
diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
|
|
|
c8c376 |
index 711e8013b..0224e68f4 100644
|
|
|
c8c376 |
--- a/src/libxl/libxl_driver.c
|
|
|
c8c376 |
+++ b/src/libxl/libxl_driver.c
|
|
|
c8c376 |
@@ -3155,7 +3155,7 @@ libxlDomainAttachNetDevice(libxlDriverPrivatePtr driver,
|
|
|
c8c376 |
virDomainNetDefPtr net)
|
|
|
c8c376 |
{
|
|
|
c8c376 |
libxlDriverConfigPtr cfg = libxlDriverConfigGet(driver);
|
|
|
c8c376 |
- int actualType;
|
|
|
c8c376 |
+ virDomainNetType actualType;
|
|
|
c8c376 |
libxl_device_nic nic;
|
|
|
c8c376 |
int ret = -1;
|
|
|
c8c376 |
char mac[VIR_MAC_STRING_BUFLEN];
|
|
|
c8c376 |
diff --git a/src/lxc/lxc_driver.c b/src/lxc/lxc_driver.c
|
|
|
c8c376 |
index d47f21589..30e3314cd 100644
|
|
|
c8c376 |
--- a/src/lxc/lxc_driver.c
|
|
|
c8c376 |
+++ b/src/lxc/lxc_driver.c
|
|
|
c8c376 |
@@ -3945,7 +3945,7 @@ lxcDomainAttachDeviceNetLive(virConnectPtr conn,
|
|
|
c8c376 |
{
|
|
|
c8c376 |
virLXCDomainObjPrivatePtr priv = vm->privateData;
|
|
|
c8c376 |
int ret = -1;
|
|
|
c8c376 |
- int actualType;
|
|
|
c8c376 |
+ virDomainNetType actualType;
|
|
|
c8c376 |
virNetDevBandwidthPtr actualBandwidth;
|
|
|
c8c376 |
char *veth = NULL;
|
|
|
c8c376 |
|
|
|
c8c376 |
@@ -4032,6 +4032,10 @@ lxcDomainAttachDeviceNetLive(virConnectPtr conn,
|
|
|
c8c376 |
case VIR_DOMAIN_NET_TYPE_DIRECT:
|
|
|
c8c376 |
ignore_value(virNetDevMacVLanDelete(veth));
|
|
|
c8c376 |
break;
|
|
|
c8c376 |
+
|
|
|
c8c376 |
+ default:
|
|
|
c8c376 |
+ /* no-op */
|
|
|
c8c376 |
+ break;
|
|
|
c8c376 |
}
|
|
|
c8c376 |
}
|
|
|
c8c376 |
|
|
|
c8c376 |
@@ -4432,7 +4436,8 @@ static int
|
|
|
c8c376 |
lxcDomainDetachDeviceNetLive(virDomainObjPtr vm,
|
|
|
c8c376 |
virDomainDeviceDefPtr dev)
|
|
|
c8c376 |
{
|
|
|
c8c376 |
- int detachidx, actualType, ret = -1;
|
|
|
c8c376 |
+ int detachidx, ret = -1;
|
|
|
c8c376 |
+ virDomainNetType actualType;
|
|
|
c8c376 |
virDomainNetDefPtr detach = NULL;
|
|
|
c8c376 |
virNetDevVPortProfilePtr vport = NULL;
|
|
|
c8c376 |
|
|
|
c8c376 |
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
|
|
|
c8c376 |
index 43e1a9350..8d002ffb2 100644
|
|
|
c8c376 |
--- a/src/qemu/qemu_command.c
|
|
|
c8c376 |
+++ b/src/qemu/qemu_command.c
|
|
|
c8c376 |
@@ -7995,7 +7995,7 @@ qemuBuildInterfaceCommandLine(virCommandPtr cmd,
|
|
|
c8c376 |
size_t vhostfdSize = 0;
|
|
|
c8c376 |
char **tapfdName = NULL;
|
|
|
c8c376 |
char **vhostfdName = NULL;
|
|
|
c8c376 |
- int actualType = virDomainNetGetActualType(net);
|
|
|
c8c376 |
+ virDomainNetType actualType = virDomainNetGetActualType(net);
|
|
|
c8c376 |
virQEMUDriverConfigPtr cfg = NULL;
|
|
|
c8c376 |
virNetDevBandwidthPtr actualBandwidth;
|
|
|
c8c376 |
size_t i;
|
|
|
c8c376 |
diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
|
|
|
c8c376 |
index df3764ffe..4a3e97b58 100644
|
|
|
c8c376 |
--- a/src/qemu/qemu_hotplug.c
|
|
|
c8c376 |
+++ b/src/qemu/qemu_hotplug.c
|
|
|
c8c376 |
@@ -898,7 +898,7 @@ qemuDomainAttachNetDevice(virQEMUDriverPtr driver,
|
|
|
c8c376 |
int vlan;
|
|
|
c8c376 |
bool releaseaddr = false;
|
|
|
c8c376 |
bool iface_connected = false;
|
|
|
c8c376 |
- int actualType;
|
|
|
c8c376 |
+ virDomainNetType actualType;
|
|
|
c8c376 |
virNetDevBandwidthPtr actualBandwidth;
|
|
|
c8c376 |
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
|
|
|
c8c376 |
size_t i;
|
|
|
c8c376 |
@@ -2405,7 +2405,7 @@ qemuDomainChangeNet(virQEMUDriverPtr driver,
|
|
|
c8c376 |
virDomainNetDefPtr newdev = dev->data.net;
|
|
|
c8c376 |
virDomainNetDefPtr *devslot = NULL;
|
|
|
c8c376 |
virDomainNetDefPtr olddev;
|
|
|
c8c376 |
- int oldType, newType;
|
|
|
c8c376 |
+ virDomainNetType oldType, newType;
|
|
|
c8c376 |
bool needReconnect = false;
|
|
|
c8c376 |
bool needBridgeChange = false;
|
|
|
c8c376 |
bool needFilterChange = false;
|
|
|
c8c376 |
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
|
|
|
c8c376 |
index e13db3877..3a21b0b90 100644
|
|
|
c8c376 |
--- a/src/qemu/qemu_process.c
|
|
|
c8c376 |
+++ b/src/qemu/qemu_process.c
|
|
|
c8c376 |
@@ -4571,7 +4571,7 @@ qemuProcessNetworkPrepareDevices(virDomainDefPtr def)
|
|
|
c8c376 |
|
|
|
c8c376 |
for (i = 0; i < def->nnets; i++) {
|
|
|
c8c376 |
virDomainNetDefPtr net = def->nets[i];
|
|
|
c8c376 |
- int actualType;
|
|
|
c8c376 |
+ virDomainNetType actualType;
|
|
|
c8c376 |
|
|
|
c8c376 |
/* If appropriate, grab a physical device from the configured
|
|
|
c8c376 |
* network's pool of devices, or resolve bridge device name
|
|
|
c8c376 |
@@ -5902,6 +5902,17 @@ void qemuProcessStop(virQEMUDriverPtr driver,
|
|
|
c8c376 |
ignore_value(virNetDevTapDelete(net->ifname, net->backend.tap));
|
|
|
c8c376 |
#endif
|
|
|
c8c376 |
break;
|
|
|
c8c376 |
+ case VIR_DOMAIN_NET_TYPE_USER:
|
|
|
c8c376 |
+ case VIR_DOMAIN_NET_TYPE_VHOSTUSER:
|
|
|
c8c376 |
+ case VIR_DOMAIN_NET_TYPE_SERVER:
|
|
|
c8c376 |
+ case VIR_DOMAIN_NET_TYPE_CLIENT:
|
|
|
c8c376 |
+ case VIR_DOMAIN_NET_TYPE_MCAST:
|
|
|
c8c376 |
+ case VIR_DOMAIN_NET_TYPE_INTERNAL:
|
|
|
c8c376 |
+ case VIR_DOMAIN_NET_TYPE_HOSTDEV:
|
|
|
c8c376 |
+ case VIR_DOMAIN_NET_TYPE_UDP:
|
|
|
c8c376 |
+ case VIR_DOMAIN_NET_TYPE_LAST:
|
|
|
c8c376 |
+ /* No special cleanup procedure for these types. */
|
|
|
c8c376 |
+ break;
|
|
|
c8c376 |
}
|
|
|
c8c376 |
/* release the physical device (or any other resources used by
|
|
|
c8c376 |
* this interface in the network driver
|
|
|
c8c376 |
--
|
|
|
c8c376 |
2.11.0
|
|
|
c8c376 |
|