[libvirt PATCH] build: remove old macvtap and virtualport leftovers
by Pino Toscano
Followup of commit a79e7639daffac04b088378e6c79854fcac292f3 and
commit 7556ab139fd2e503ac26ee232ab273f1ec027c21.
Signed-off-by: Pino Toscano <ptoscano(a)redhat.com>
---
meson.build | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/meson.build b/meson.build
index 257e4452a1..a5ce8e17a8 100644
--- a/meson.build
+++ b/meson.build
@@ -1503,10 +1503,6 @@ elif get_option('firewalld_zone').enabled()
error('You must have firewalld support enabled to enable firewalld_zone')
endif
-if conf.has('WITH_MACVTAP') and not conf.has('WITH_LIBNL')
- error('libnl3-devel is required for macvtap support')
-endif
-
if (pkcheck_prog.found() or get_option('polkit').enabled())
conf.set('WITH_POLKIT', 1)
endif
@@ -1515,10 +1511,6 @@ if udev_dep.found() and not pciaccess_dep.found()
error('You must install the pciaccess module to build with udev')
endif
-if conf.has('WITH_VIRTUALPORT') and not conf.has('WITH_MACVTAP')
- error('macvtap is required for virtualport support')
-endif
-
# build driver options
@@ -2388,7 +2380,6 @@ libs_summary = {
'libssh': libssh_dep.found(),
'libssh2': libssh2_dep.found(),
'libxml': libxml_dep.found(),
- 'macvtap': conf.has('WITH_MACVTAP'),
'netcf': netcf_dep.found(),
'NLS': have_gnu_gettext_tools,
'nss': conf.has('WITH_NSS'),
@@ -2403,7 +2394,6 @@ libs_summary = {
'sasl': sasl_dep.found(),
'selinux': selinux_dep.found(),
'udev': udev_dep.found(),
- 'virtualport': conf.has('WITH_VIRTUALPORT'),
'xdr': xdr_dep.found(),
'yajl': yajl_dep.found(),
}
--
2.26.2
4 years, 1 month
[PATCH 0/1] Add support for QEMU's 'fmode' and 'dmode'
by Brian Turek
This patch exposes QEMU's 9pfs's 'fmode' and 'dmode flags options. I
followed Ján Tomko's advice from his reply to my email to the mailing
list yesterday and heavily based this on the patches that added
'multidev' support.
The only part I am unsure of is whether modifying all of the 'caps'
files was necessary or if only a certain few needed changing.
Brian Turek (1):
qemu: add support for 'fmode' and 'dmode'
docs/formatdomain.rst | 12 ++++
docs/schemas/domaincommon.rng | 16 +++++
src/conf/domain_conf.c | 43 +++++++++++++
src/conf/domain_conf.h | 2 +
src/qemu/qemu_capabilities.c | 4 ++
src/qemu/qemu_capabilities.h | 2 +
src/qemu/qemu_command.c | 6 ++
src/qemu/qemu_validate.c | 26 ++++++++
.../caps_2.10.0.aarch64.xml | 2 +
.../caps_2.10.0.ppc64.xml | 2 +
.../caps_2.10.0.s390x.xml | 2 +
.../caps_2.10.0.x86_64.xml | 2 +
.../caps_2.11.0.s390x.xml | 2 +
.../caps_2.11.0.x86_64.xml | 2 +
.../caps_2.12.0.aarch64.xml | 2 +
.../caps_2.12.0.ppc64.xml | 2 +
.../caps_2.12.0.s390x.xml | 2 +
.../caps_2.12.0.x86_64.xml | 2 +
.../qemucapabilitiesdata/caps_3.0.0.ppc64.xml | 2 +
.../caps_3.0.0.riscv32.xml | 2 +
.../caps_3.0.0.riscv64.xml | 2 +
.../qemucapabilitiesdata/caps_3.0.0.s390x.xml | 2 +
.../caps_3.0.0.x86_64.xml | 2 +
.../qemucapabilitiesdata/caps_3.1.0.ppc64.xml | 2 +
.../caps_3.1.0.x86_64.xml | 2 +
.../caps_4.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_4.0.0.ppc64.xml | 2 +
.../caps_4.0.0.riscv32.xml | 2 +
.../caps_4.0.0.riscv64.xml | 2 +
.../qemucapabilitiesdata/caps_4.0.0.s390x.xml | 2 +
.../caps_4.0.0.x86_64.xml | 2 +
.../caps_4.1.0.x86_64.xml | 2 +
.../caps_4.2.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_4.2.0.ppc64.xml | 2 +
.../qemucapabilitiesdata/caps_4.2.0.s390x.xml | 2 +
.../caps_4.2.0.x86_64.xml | 2 +
.../caps_5.0.0.aarch64.xml | 2 +
.../qemucapabilitiesdata/caps_5.0.0.ppc64.xml | 2 +
.../caps_5.0.0.riscv64.xml | 2 +
.../caps_5.0.0.x86_64.xml | 2 +
.../caps_5.1.0.x86_64.xml | 2 +
.../caps_5.2.0.x86_64.xml | 2 +
.../virtio-9p-fmodedmode.x86_64-latest.args | 48 +++++++++++++++
.../qemuxml2argvdata/virtio-9p-fmodedmode.xml | 58 ++++++++++++++++++
.../virtio-9p-fmodedmode.x86_64-latest.xml | 61 +++++++++++++++++++
tests/qemuxml2xmltest.c | 1 +
46 files changed, 347 insertions(+)
create mode 100644 tests/qemuxml2argvdata/virtio-9p-fmodedmode.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/virtio-9p-fmodedmode.xml
create mode 100644 tests/qemuxml2xmloutdata/virtio-9p-fmodedmode.x86_64-latest.xml
--
2.25.1
4 years, 1 month
[libvirt PATCH v4 0/6] Add support for vDPA network devices
by Jonathon Jongsma
vDPA network devices allow high-performance networking in a virtual machine by
providing a wire-speed data path. These devices require a vendor-specific host
driver but the data path follows the virtio specification.
The support for vDPA devices was recently added to qemu. This allows
libvirt to support these devices. This patchset requires that the device is
configured on the host with the appropriate vendor-specific driver. This will
create a chardev on the host at e.g. /dev/vhost-vdpa-0. That chardev path can
then be used to define a new interface with type=3D'vdpa'.
Changes in v4:
- rebased to latest master
- added hotplug support
- report vdpa devices in node device list
Jonathon Jongsma (6):
conf: Add support for vDPA network devices
qemu: add vhost-vdpa capability
qemu: add vdpa support
qemu: add monitor functions for handling file descriptors
qemu: support hotplug of vdpa devices
Include vdpa devices in node device list
docs/formatdomain.rst | 24 +++
docs/schemas/domaincommon.rng | 15 ++
include/libvirt/libvirt-nodedev.h | 1 +
src/conf/domain_conf.c | 31 ++++
src/conf/domain_conf.h | 4 +
src/conf/netdev_bandwidth_conf.c | 1 +
src/conf/node_device_conf.c | 5 +
src/conf/node_device_conf.h | 4 +-
src/conf/virnodedeviceobj.c | 4 +-
src/libxl/libxl_conf.c | 1 +
src/libxl/xen_common.c | 1 +
src/lxc/lxc_controller.c | 1 +
src/lxc/lxc_driver.c | 3 +
src/lxc/lxc_process.c | 1 +
src/node_device/node_device_udev.c | 16 ++
src/qemu/qemu_capabilities.c | 4 +
src/qemu/qemu_capabilities.h | 3 +
src/qemu/qemu_command.c | 36 +++-
src/qemu/qemu_command.h | 3 +-
src/qemu/qemu_domain.c | 6 +-
src/qemu/qemu_hotplug.c | 73 +++++++-
src/qemu/qemu_interface.c | 25 +++
src/qemu/qemu_interface.h | 2 +
src/qemu/qemu_migration.c | 10 +-
src/qemu/qemu_monitor.c | 93 ++++++++++
src/qemu/qemu_monitor.h | 41 +++++
src/qemu/qemu_monitor_json.c | 173 ++++++++++++++++++
src/qemu/qemu_monitor_json.h | 12 ++
src/qemu/qemu_process.c | 2 +
src/qemu/qemu_validate.c | 15 ++
src/vmx/vmx.c | 1 +
.../caps_5.1.0.x86_64.xml | 1 +
.../caps_5.2.0.x86_64.xml | 1 +
tests/qemuhotplugmock.c | 9 +
tests/qemuhotplugtest.c | 16 ++
.../qemuhotplug-interface-vdpa.xml | 4 +
.../qemuhotplug-base-live+interface-vdpa.xml | 57 ++++++
.../net-vdpa.x86_64-latest.args | 37 ++++
tests/qemuxml2argvdata/net-vdpa.xml | 28 +++
tests/qemuxml2argvmock.c | 11 +-
tests/qemuxml2argvtest.c | 1 +
tests/qemuxml2xmloutdata/net-vdpa.xml | 34 ++++
tests/qemuxml2xmltest.c | 1 +
tools/virsh-domain.c | 1 +
tools/virsh-nodedev.c | 3 +
45 files changed, 799 insertions(+), 16 deletions(-)
create mode 100644 tests/qemuhotplugtestdevices/qemuhotplug-interface-vdpa.x=
ml
create mode 100644 tests/qemuhotplugtestdomains/qemuhotplug-base-live+interf=
ace-vdpa.xml
create mode 100644 tests/qemuxml2argvdata/net-vdpa.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/net-vdpa.xml
create mode 100644 tests/qemuxml2xmloutdata/net-vdpa.xml
--=20
2.26.2
4 years, 1 month
[PATCH 0/9] various build flag related fixes
by Laine Stump
These patches eliminate a few build flags that were necessary back 10
years ago when their associated features had been newly added to the
kernel, but are now pointless (because all supported Linuxes have the
feature) (1-6), makes it possible to to a successful (and usable,
albeit limited in some ways) build on a system that doesn't have
libnl3-devel installed (7-8) (macvtap and interface type='hostdev'
don't work, but standard tap devices do), and removes a duplicated
identifier check that I noticed in meson.build (9).
Laine Stump (9):
util: remove useless check for IFLA_VF_MAX
util: remove extraneous defined(__linux__) when checking for
WITH_LIBNL
build: eliminate useless WITH_VIRTUALPORT check
build: remove check for MACVLAN_MODE_PASSTHRU
build: simplify check for WITH_MACVTAP
build: eliminate WITH_MACVTAP flag
util: fix Linux build when libnl-devel isn't available
util: provide non-netlink/libnl alternative for virNetDevGetMaster()
build: remove duplicate check for GET_VLAN_VID_CMD
libvirt.spec.in | 1 -
meson.build | 30 ------------------------
src/util/virnetdev.c | 40 ++++++++++++++++++++++++++------
src/util/virnetdevbridge.c | 6 ++---
src/util/virnetdevip.c | 6 ++---
src/util/virnetdevmacvlan.c | 11 +++------
src/util/virnetdevvportprofile.c | 8 +++----
src/util/virnetlink.c | 4 ++--
src/util/virnetlink.h | 4 ++--
tools/virsh.c | 3 ---
10 files changed, 50 insertions(+), 63 deletions(-)
--
2.26.2
4 years, 1 month
[libvirt PATCH] Revert "Also look for dmi information in /sys/class"
by Ján Tomko
Assume nobody runs current libvirt on kernels such as 2.6.26.
Kernel commit 9f9c9cbb60576a1518d0bf93fb8e499cffccf377 (released
in 3.8) mentions the new path and I believe it was added by:
commit 948af1f0bbc8526448e8cbe3f8d3bf211bdf5181
firmware: Basic dmi-sysfs support
(released in 2.6.39), but I cannot figure out how all that
kernel automagic works.
This reverts commit 4c81b0fdc57b23d80b1b4752cd6143d15c02e9c8
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
---
src/node_device/node_device_udev.c | 13 +++++--------
src/node_device/node_device_udev.h | 1 -
2 files changed, 5 insertions(+), 9 deletions(-)
diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 2d0ca27fc6..29a7eaa07c 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -1731,14 +1731,11 @@ udevGetDMIData(virNodeDevCapSystemPtr syscap)
device = udev_device_new_from_syspath(udev, DMI_DEVPATH);
if (device == NULL) {
- device = udev_device_new_from_syspath(udev, DMI_DEVPATH_FALLBACK);
- if (device == NULL) {
- virReportError(VIR_ERR_INTERNAL_ERROR,
- _("Failed to get udev device for syspath '%s' or '%s'"),
- DMI_DEVPATH, DMI_DEVPATH_FALLBACK);
- virObjectUnlock(priv);
- return;
- }
+ virReportError(VIR_ERR_INTERNAL_ERROR,
+ _("Failed to get udev device for syspath '%s'"),
+ DMI_DEVPATH);
+ virObjectUnlock(priv);
+ return;
}
virObjectUnlock(priv);
diff --git a/src/node_device/node_device_udev.h b/src/node_device/node_device_udev.h
index 996677dfe0..eab22a9182 100644
--- a/src/node_device/node_device_udev.h
+++ b/src/node_device/node_device_udev.h
@@ -24,4 +24,3 @@
#define SYSFS_DATA_SIZE 4096
#define DMI_DEVPATH "/sys/devices/virtual/dmi/id"
-#define DMI_DEVPATH_FALLBACK "/sys/class/dmi/id"
--
2.26.2
4 years, 1 month
[PATCH 0/3] logging: fix a couple of issues
by Nikolay Shirokovskiy
The code fixed in the first actual patch is quite venerable so I made up
a synthetic test to show issue/test it is fixed. Test covers both issues.
Initially I got /tmp/virtlogd-test size of only 2048 and after the first
fix I saw actual endless loop.
Nikolay Shirokovskiy (3):
DO NOT APPLY: code to show logging issues
logging: read all bytes on EOF in event handler
logging: fix endless loop on EOF
src/logging/log_handler.c | 10 ++++++----
src/qemu/qemu_process.c | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 41 insertions(+), 4 deletions(-)
--
1.8.3.1
4 years, 1 month
[libvirt PATCH 0/6] Resurrect glib-adoption.rst
by Ján Tomko
Ján Tomko (6):
Revert "docs: Drop glib-adoption.rst"
docs: build glib-adoption.html
docs: glib-adoption: remove stuff we alredy removed
docs: glib-adoption: split into sections
docs: glib-adoption: add links to GLib documentation
docs: glib-adoption: add string arrays and objects
docs/glib-adoption.rst | 54 ++++++++++++++++++++++++++++++++++++++++++
docs/hacking.rst | 1 +
docs/meson.build | 1 +
3 files changed, 56 insertions(+)
create mode 100644 docs/glib-adoption.rst
--
2.26.2
4 years, 1 month
[libvirt PATCH 0/2] use g_new0 more: libxl, locking (glib chronicles)
by Ján Tomko
Ján Tomko (2):
libxl: prefer g_new0 to VIR_ALLOC
locking: prefer g_new0 to VIR_ALLOC
src/libxl/libxl_capabilities.c | 13 ++--
src/libxl/libxl_conf.c | 48 ++++--------
src/libxl/libxl_domain.c | 19 ++---
src/libxl/libxl_driver.c | 20 ++---
src/libxl/libxl_migration.c | 21 ++---
src/libxl/xen_common.c | 122 +++++++++---------------------
src/libxl/xen_xl.c | 85 +++++++--------------
src/libxl/xen_xm.c | 9 +--
src/locking/lock_daemon.c | 9 +--
src/locking/lock_daemon_config.c | 3 +-
src/locking/lock_driver_lockd.c | 7 +-
src/locking/lock_driver_sanlock.c | 10 +--
src/locking/lock_manager.c | 6 +-
13 files changed, 117 insertions(+), 255 deletions(-)
--
2.26.2
4 years, 1 month
[libvirt PATCH 0/3] Use g_new0 more (glib chronicles)
by Ján Tomko
In this episode, src/logging and src/rpc get converted.
Ján Tomko (3):
logging: use g_new0 instead of VIR_ALLOC
gendispatch: use g_new0 instead of VIR_ALLOC
rpc: use g_new0 instead of VIR_ALLOC
src/logging/log_daemon.c | 9 +++------
src/logging/log_daemon_config.c | 3 +--
src/logging/log_handler.c | 9 +++------
src/logging/log_manager.c | 3 +--
src/rpc/gendispatch.pl | 16 +++++++---------
src/rpc/virnetclient.c | 6 ++----
src/rpc/virnetclientprogram.c | 10 ++++------
src/rpc/virnetdaemon.c | 3 +--
src/rpc/virnetlibsshsession.c | 3 +--
src/rpc/virnetmessage.c | 23 +++++++++++++++--------
src/rpc/virnetserver.c | 3 +--
src/rpc/virnetserverclient.c | 24 ++++++------------------
src/rpc/virnetserverprogram.c | 6 ++----
src/rpc/virnetserverservice.c | 9 +++------
src/rpc/virnetsocket.c | 3 +--
src/rpc/virnetsshsession.c | 8 ++------
src/rpc/virnettlscontext.c | 4 +---
17 files changed, 54 insertions(+), 88 deletions(-)
--
2.26.2
4 years, 1 month
[PATCH] util: remove compile time tests for IFF_VNET_HDR/IFF_MULTI_QUEUE
by Daniel P. Berrangé
The former has been present since
commit f43798c27684ab925adde7d8acc34c78c6e50df8
Author: Rusty Russell <rusty(a)rustcorp.com.au>
Date: Thu Jul 3 03:48:02 2008 -0700
tun: Allow GSO using virtio_net_hdr
and the latter since
commit bbb009941efaece3898910a862f6d23aa55d6ba8
Author: Jason Wang <jasowang(a)redhat.com>
Date: Wed Oct 31 19:45:59 2012 +0000
tuntap: introduce multiqueue flags
these are old enough that they can be assumed present in all Linux
platforms we support. The tap device creation code changed is specific
to Linux, with a separate impl for non-Linux platforms.
Signed-off-by: Daniel P. Berrangé <berrange(a)redhat.com>
---
src/util/virnetdevtap.c | 11 +----------
1 file changed, 1 insertion(+), 10 deletions(-)
diff --git a/src/util/virnetdevtap.c b/src/util/virnetdevtap.c
index 77c4d1c52c..1738f48a5f 100644
--- a/src/util/virnetdevtap.c
+++ b/src/util/virnetdevtap.c
@@ -292,20 +292,11 @@ int virNetDevTapCreate(char **ifname,
ifr.ifr_flags = IFF_TAP | IFF_NO_PI;
/* If tapfdSize is greater than one, request multiqueue */
- if (tapfdSize > 1) {
-# ifdef IFF_MULTI_QUEUE
+ if (tapfdSize > 1)
ifr.ifr_flags |= IFF_MULTI_QUEUE;
-# else
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
- _("Multiqueue devices are not supported on this system"));
- goto cleanup;
-# endif
- }
-# ifdef IFF_VNET_HDR
if (flags & VIR_NETDEV_TAP_CREATE_VNET_HDR)
ifr.ifr_flags |= IFF_VNET_HDR;
-# endif
if (virStrcpyStatic(ifr.ifr_name, *ifname) < 0) {
virReportSystemError(ERANGE,
--
2.26.2
4 years, 1 month