[libvirt] [PATCH] docs: add "more PCIe less legacy PCI" to list of new features
by Laine Stump
---
If this entry looks okay and I'm not around on IRC, feel free to push
it so it will be in RC2.
docs/news.html.in | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/docs/news.html.in b/docs/news.html.in
index 8a86dd4..df245ea 100644
--- a/docs/news.html.in
+++ b/docs/news.html.in
@@ -39,6 +39,14 @@
can be specified without providing a base address, which simplifies
user configuration
</li>
+ <li>qemu: for machinetypes that use a PCI Express root bus
+ (e.g. x86_64/Q35 and aarch64/virt), any unaddressed PCI
+ device that is an Express device (all virtio-1.0 devices,
+ e1000e, nec-xhci, vfio assigned devices) will be placed on
+ an Express controller (i.e. a pcie-root-port) instead of a
+ legacy PCI controller (i.e. pci-bridge). pcie-root-ports are
+ automatically added as needed.
+ </li>
</ul>
</li>
<li><strong>Improvements</strong>
--
2.7.4
7 years, 11 months
[libvirt] Entering freeze for 2.5.0
by Daniel Veillard
With exception of the patch set of Laine which we will likely push
in today or tomorrow. I have made the signed tarball and rpms available
at the usual place:
ftp://libvirt.org/libvirt/
and also tagged the RC1 in git.
This seems to work fine with my minimal testing, but obviously others
should give it a try and try it in more diverse environments.
If all goes well, I will push an rc2 on Thursday and plan the final
release over the w.e.
thanks for givit it a try,
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
7 years, 11 months
[libvirt] Plan for next release(s)
by Daniel Veillard
I'm late <grin/> so I think that if we don't want to slip too much
the best would be to enter freeze tomorrow (Tuesday) then have RC2
around Thursday and a release over the week-end.
That said they are supposed to mess with my internet tomorrow morning
and I'm travelling till the end of the week, but the above plan should
be doable. Hope that's okay with everybody.
Then usually December is a low productivity month, and Feb is short,
so it is tempting to do like for previous years i.e. release mid-january
and end of Feb, except the Jan release will be 3.0.0.
Works for everybody ?
Daniel
--
Daniel Veillard | Open Source and Standards, Red Hat
veillard(a)redhat.com | libxml Gnome XML XSLT toolkit http://xmlsoft.org/
http://veillard.com/ | virtualization library http://libvirt.org/
7 years, 11 months
[libvirt] [PATCH 0/8] Make NSS module lookup by libvirt domain names too
by Michal Privoznik
So far, the NSS module relies on guests providing hostnames
during DHCP transaction, because if they do it's recorded in a
json file that NSS module consults when doing the hostname
translation. But there are few cases where this is not enough:
some system (e.g. old RHEL6) don't provide hostname at all.
If that's the case we can maintain a separate file $bridge.macs
where we would keep a list of pairs <domain, mac address list>.
Thus next time when doing hostname translation we can look up MAC
address list for given domain, and then lookup the MAC <-> IP
mapping in $bridge.status. It's a bit clunky, but it's our best
shot.
Michal Privoznik (8):
network: Don't unlock non-locked network driver
nssmock: Prefer free() over VIR_FREE()
virstring: Introduce virStringListAdd
virstring: Introduce virStringListRemove
util: Introduce virFileRewriteStr
util: Introduce virMACMap module
network: Track MAC address map
nss: Lookup by libvirt domain names too
cfg.mk | 2 +-
docs/nss.html.in | 13 +-
po/POTFILES.in | 1 +
src/Makefile.am | 9 +
src/conf/network_conf.h | 4 +
src/conf/virsecretobj.c | 20 +-
src/libvirt_private.syms | 12 ++
src/network/bridge_driver.c | 95 ++++++++-
src/network/leaseshelper.c | 14 +-
src/util/virfile.c | 24 ++-
src/util/virfile.h | 7 +-
src/util/virmacmap.c | 399 +++++++++++++++++++++++++++++++++++
src/util/virmacmap.h | 48 +++++
src/util/virstring.c | 87 ++++++++
src/util/virstring.h | 6 +
src/util/virxml.c | 4 +-
tests/Makefile.am | 14 ++
tests/nssdata/virbr0.macs | 23 ++
tests/nssdata/virbr0.status | 5 +
tests/nssdata/virbr1.macs | 21 ++
tests/nssdata/virbr1.status | 5 +
tests/nssmock.c | 25 ++-
tests/nsstest.c | 2 +
tests/virmacmapmock.c | 29 +++
tests/virmacmaptest.c | 232 ++++++++++++++++++++
tests/virmacmaptestdata/complex.json | 45 ++++
tests/virmacmaptestdata/empty.json | 3 +
tests/virmacmaptestdata/simple.json | 8 +
tests/virmacmaptestdata/simple2.json | 16 ++
tests/virstringtest.c | 80 +++++++
tools/nss/libvirt_nss.c | 173 +++++++++++----
31 files changed, 1340 insertions(+), 86 deletions(-)
create mode 100644 src/util/virmacmap.c
create mode 100644 src/util/virmacmap.h
create mode 100644 tests/nssdata/virbr0.macs
create mode 100644 tests/nssdata/virbr1.macs
create mode 100644 tests/virmacmapmock.c
create mode 100644 tests/virmacmaptest.c
create mode 100644 tests/virmacmaptestdata/complex.json
create mode 100644 tests/virmacmaptestdata/empty.json
create mode 100644 tests/virmacmaptestdata/simple.json
create mode 100644 tests/virmacmaptestdata/simple2.json
--
2.8.4
7 years, 11 months
[libvirt] [PATCH] xen: Fix build when with xen disabled and libxl enabled
by Peter Krempa
xen_common.c does not get compiled in such case which breaks the build
due to xenDomainDefAddImplicitInputDevice not being available.
Move the function to a different place to resolve the issue. Caused by
commit 36785c7e
---
src/Makefile.am | 4 ++--
src/conf/domain_conf.c | 22 ++++++++++++++++++++++
src/conf/domain_conf.h | 3 +++
src/libxl/libxl_domain.c | 3 +--
src/xen/xen_driver.c | 2 +-
src/xenapi/xenapi_driver.c | 3 +--
src/xenconfig/xen_common.c | 22 ----------------------
src/xenconfig/xen_common.h | 3 ---
8 files changed, 30 insertions(+), 32 deletions(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index d440548..eaf7b59 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1250,7 +1250,7 @@ libvirt_driver_xen_impl_la_CFLAGS = \
-I$(srcdir)/xenconfig \
$(AM_CFLAGS)
libvirt_driver_xen_impl_la_LDFLAGS = $(AM_LDFLAGS)
-libvirt_driver_xen_impl_la_LIBADD = $(XEN_LIBS) libvirt_xenconfig.la
+libvirt_driver_xen_impl_la_LIBADD = $(XEN_LIBS)
libvirt_driver_xen_impl_la_SOURCES = $(XEN_DRIVER_SOURCES)
endif WITH_XEN
@@ -1311,7 +1311,7 @@ if WITH_XENAPI
noinst_LTLIBRARIES += libvirt_driver_xenapi.la
libvirt_la_BUILT_LIBADD += libvirt_driver_xenapi.la
libvirt_driver_xenapi_la_CFLAGS = $(LIBXENSERVER_CFLAGS) $(CURL_CFLAGS) \
- -I$(srcdir)/conf -I$(srcdir)/xenconfig $(AM_CFLAGS)
+ -I$(srcdir)/conf $(AM_CFLAGS)
libvirt_driver_xenapi_la_LDFLAGS = $(AM_LDFLAGS)
libvirt_driver_xenapi_la_LIBADD = $(LIBXENSERVER_LIBS) $(CURL_LIBS)
libvirt_driver_xenapi_la_SOURCES = $(XENAPI_DRIVER_SOURCES)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index b001efc..64665fa 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -25786,3 +25786,25 @@ virDomainDefVcpuOrderClear(virDomainDefPtr def)
for (i = 0; i < def->maxvcpus; i++)
def->vcpus[i]->order = 0;
}
+
+
+int
+virDomainDefXenAddImplicitInputDevice(virDomainDefPtr def)
+{
+ virDomainInputBus implicitInputBus = VIR_DOMAIN_INPUT_BUS_XEN;
+
+ if (def->os.type == VIR_DOMAIN_OSTYPE_HVM)
+ implicitInputBus = VIR_DOMAIN_INPUT_BUS_PS2;
+
+ if (virDomainDefMaybeAddInput(def,
+ VIR_DOMAIN_INPUT_TYPE_MOUSE,
+ implicitInputBus) < 0)
+ return -1;
+
+ if (virDomainDefMaybeAddInput(def,
+ VIR_DOMAIN_INPUT_TYPE_KBD,
+ implicitInputBus) < 0)
+ return -1;
+
+ return 0;
+}
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 4447b03..00e833d 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -3211,4 +3211,7 @@ virDomainGetBlkioParametersAssignFromDef(virDomainDefPtr def,
virTypedParameterPtr params,
int *nparams,
int maxparams);
+
+int virDomainDefXenAddImplicitInputDevice(virDomainDefPtr def);
+
#endif /* __DOMAIN_CONF_H */
diff --git a/src/libxl/libxl_domain.c b/src/libxl/libxl_domain.c
index 5cde576..557a408 100644
--- a/src/libxl/libxl_domain.c
+++ b/src/libxl/libxl_domain.c
@@ -37,7 +37,6 @@
#include "virstring.h"
#include "virtime.h"
#include "locking/domain_lock.h"
-#include "xen_common.h"
#include "network/bridge_driver.h"
#define VIR_FROM_THIS VIR_FROM_LIBXL
@@ -407,7 +406,7 @@ libxlDomainDefPostParse(virDomainDefPtr def,
}
/* add implicit input devices */
- if (xenDomainDefAddImplicitInputDevice(def) < 0)
+ if (virDomainDefXenAddImplicitInputDevice(def) < 0)
return -1;
return 0;
diff --git a/src/xen/xen_driver.c b/src/xen/xen_driver.c
index 3f9bfa7..55c3eb4 100644
--- a/src/xen/xen_driver.c
+++ b/src/xen/xen_driver.c
@@ -384,7 +384,7 @@ xenDomainDefPostParse(virDomainDefPtr def,
}
/* add implicit input device */
- if (xenDomainDefAddImplicitInputDevice(def) <0)
+ if (virDomainDefXenAddImplicitInputDevice(def) <0)
return -1;
return 0;
diff --git a/src/xenapi/xenapi_driver.c b/src/xenapi/xenapi_driver.c
index a9ed407..0949192 100644
--- a/src/xenapi/xenapi_driver.c
+++ b/src/xenapi/xenapi_driver.c
@@ -39,7 +39,6 @@
#include "xenapi_driver_private.h"
#include "xenapi_utils.h"
#include "virstring.h"
-#include "xen_common.h"
#define VIR_FROM_THIS VIR_FROM_XENAPI
@@ -80,7 +79,7 @@ xenapiDomainDefPostParse(virDomainDefPtr def,
void *parseOpaque ATTRIBUTE_UNUSED)
{
/* add implicit input device */
- if (xenDomainDefAddImplicitInputDevice(def) < 0)
+ if (virDomainDefXenAddImplicitInputDevice(def) < 0)
return -1;
return 0;
diff --git a/src/xenconfig/xen_common.c b/src/xenconfig/xen_common.c
index 7968d40..b129f5e 100644
--- a/src/xenconfig/xen_common.c
+++ b/src/xenconfig/xen_common.c
@@ -1870,25 +1870,3 @@ xenFormatConfigCommon(virConfPtr conf,
return 0;
}
-
-
-int
-xenDomainDefAddImplicitInputDevice(virDomainDefPtr def)
-{
- virDomainInputBus implicitInputBus = VIR_DOMAIN_INPUT_BUS_XEN;
-
- if (def->os.type == VIR_DOMAIN_OSTYPE_HVM)
- implicitInputBus = VIR_DOMAIN_INPUT_BUS_PS2;
-
- if (virDomainDefMaybeAddInput(def,
- VIR_DOMAIN_INPUT_TYPE_MOUSE,
- implicitInputBus) < 0)
- return -1;
-
- if (virDomainDefMaybeAddInput(def,
- VIR_DOMAIN_INPUT_TYPE_KBD,
- implicitInputBus) < 0)
- return -1;
-
- return 0;
-}
diff --git a/src/xenconfig/xen_common.h b/src/xenconfig/xen_common.h
index 9055692..de981ba 100644
--- a/src/xenconfig/xen_common.h
+++ b/src/xenconfig/xen_common.h
@@ -67,7 +67,4 @@ int xenFormatConfigCommon(virConfPtr conf,
virConnectPtr conn,
const char *nativeFormat);
-
-int xenDomainDefAddImplicitInputDevice(virDomainDefPtr def);
-
#endif /* __VIR_XEN_COMMON_H__ */
--
2.10.1
7 years, 11 months
[libvirt] [Question] vhost-user hotplug: multiqueue hotplug seems doesn't pass mq and vectors
by Gaohaifeng (A)
Hi ALL:
Recently I review the vhost-user hotplug codes, when attach a vhost-user nic with multiqueue, it seems that it doesn't pass mq=on and vectors num to qemu.
Is there any special consideration or just a small mistake? Parts of codes:
qemuDomainAttachNetDevice(vhostfdSize is 0 when type is vhost-user)
qemuBuildNicDevStr:
if (usingVirtio && vhostfdSize > 1) {
if (net->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) {
/* ccw provides a one to one relation of fds to queues and
* does not support the vectors option
*/
virBufferAddLit(&buf, ",mq=on");
} else {
/* As advised at http://www.linux-kvm.org/page/Multiqueue
* we should add vectors=2*N+2 where N is the vhostfdSize
*/
virBufferAsprintf(&buf, ",mq=on,vectors=%zu", 2 * vhostfdSize + 2);
}
}
Thanks.
Haifeng Gao
7 years, 11 months