- 07 10月, 2014 2 次提交
-
-
由 Laine Stump 提交于
This function can be called at any time to get the current status of a guest's network device rx-filter. In particular it is useful to call after libvirt recieves a NIC_RX_FILTER_CHANGED event - this event only tells you that something has changed in the rx-filter, the details are retrieved with the query-rx-filter monitor command (only available in the json monitor). The command sent to the qemu monitor looks like this: {"execute":"query-rx-filter", "arguments": {"name":"net2"} }' and the results will look something like this: { "return": [ { "promiscuous": false, "name": "net2", "main-mac": "52:54:00:98:2d:e3", "unicast": "normal", "vlan": "normal", "vlan-table": [ 42, 0 ], "unicast-table": [ ], "multicast": "normal", "multicast-overflow": false, "unicast-overflow": false, "multicast-table": [ "33:33:ff:98:2d:e3", "01:80:c2:00:00:21", "01:00:5e:00:00:fb", "33:33:ff:98:2d:e2", "01:00:5e:00:00:01", "33:33:00:00:00:01" ], "broadcast-allowed": false } ], "id": "libvirt-14" } This is all parsed from JSON into a virNetDevRxFilter object for easier consumption. (unicast-table is usually empty, but is also an array of mac addresses similar to multicast-table). (NB: LIBNL_CFLAGS was added to tests/Makefile.am because virnetdev.h now includes util/virnetlink.h, which includes netlink/msg.h when appropriate. Without LIBNL_CFLAGS, gcc can't find that file (if libnl/netlink isn't available, LIBNL_CFLAGS will be empty and virnetlink.h won't try to include netlink/msg.h anyway).)
-
由 Laine Stump 提交于
This same structure will be used to retrieve RX filter info for interfaces on the host via netlink messages, and RX filter info for interfaces on the guest via the qemu "query-rx-filter" command.
-
- 06 10月, 2014 8 次提交
-
-
由 Laine Stump 提交于
As is done with other items such as vlan, virtualport, and bandwidth, set the actual trustGuestRxFilters value to be used by a domain interface according to a merge of the same attribute in the interface, portgroup, and network in use. the interface setting always takes precedence (if specified), followed by portgroup, and finally the setting in the network is used if it's not specified in the interface or portgroup.
-
由 Laine Stump 提交于
This new attribute will control whether or not libvirt will pay attention to guest notifications about changes to network device mac addresses and receive filters. The default for this is 'no' (for security reasons). If it is set to 'yes' *and* the specified device model and connection support it (currently only macvtap+virtio) then libvirt will watch for NIC_RX_FILTER_CHANGED events, and when it receives one, it will issue a query-rx-filter command, retrieve the result, and modify the host-side macvtap interface's mac address and unicast/multicast filters accordingly. The functionality behind this attribute will be in a later patch. This patch merely adds the attribute to the top-level of a domain's <interface> as well as to <network> and <portgroup>, and adds documentation and schema/xml2xml tests. Rather than adding even more test files, I've just added the net attribute in various applicable places of existing test files.
-
由 John Ferlan 提交于
Check for !dev->info.alias was done after a VIR_DEBUG() statement that already tried to print - just flip sequence
-
由 John Ferlan 提交于
Prior patch removed the need for the virConnectPtr in the unplug detach host path which caused ripple effect to remove in multiple callers. The previous patch just left things as ATTRIBUTE_UNUSED - this patch will remove the variable.
-
由 John Ferlan 提交于
https://bugzilla.redhat.com/show_bug.cgi?id=1141732 Introduced by commit id '8f76ad99' the logic to detach a scsi_host device (SCSI or iSCSI) fails when attempting to remove the 'drive' because as I found in my investigation - the DelDevice takes care of that for us. The investigation turned up commits to adjust the logic for the qemuMonitorDelDevice and qemuMonitorDriveDel processing for interfaces (commit id '81f76598'), disk bus=VIRTIO,SCSI,USB (commit id '0635785b'), and chr devices (commit id '55b21f9b'), but nothing with the host devices. This commit uses the model for the previous set of changes and applies it to the hostdev path. The call to qemuDomainDetachHostSCSIDevice will return to qemuDomainDetachThisHostDevice handling either the audit of the failure or the wait for the removal and then call into qemuDomainRemoveHostDevice for the event, removal from the domain hostdev list, and audit of the removal similar to other paths. NOTE: For now the 'conn' param to +qemuDomainDetachHostSCSIDevice is left as ATTRIBUTE_UNUSED. Removing requires a cascade of other changes to be left for a future patch.
-
由 Eric Blake 提交于
Consolidate several commits made by James: https://www.redhat.com/archives/libvir-list/2014-September/msg01156.htmlSigned-off-by: NEric Blake <eblake@redhat.com>
-
由 Ján Tomko 提交于
This lets me build against an uninstalled source tree without libtool.
-
由 Chen Hanxiao 提交于
s/the/The Signed-off-by: NChen Hanxiao <chenhanxiao@cn.fujitsu.com>
-
- 04 10月, 2014 7 次提交
-
-
由 Martin Kletzander 提交于
Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
Since commit 8eb55d782a2b9afacc7938694891cc6fad7b42a5 libxml2 removes two slashes from the URI when there is no server part. This is fixed with beb7281055dbf0ed4d041022a67c6c5cfd126f25, but only if the calling application calls xmlSaveUri() on URI that xmlURIParse() parsed. And that is not the case in virURIFormat(). virURIFormat() accepts virURIPtr that can be created without parsing it and we do that when we format network storage paths for gluster for example. Even though virStorageSourceParseBackingURI() uses virURIParse(), it throws that data structure right away. Since we want to format URIs as URIs and not absolute URIs or opaque URIs (see RFC 3986), we can specify that with a special hack thanks to commit beb7281055dbf0ed4d041022a67c6c5cfd126f25, by setting port to -1. This fixes qemuxml2argvtest test where the disk-drive-network-gluster case was failing. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
Since 87dea4fc vboxGetDrivers() is not used for getting the vbox network driver. The only call the code does is using NULL as the @networkDriver_ret param , but the code still used vbox[0-9][0-9]NetworkDriver that didn't exist anymore. Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
This patch implements support for the ivshmem device in QEMU. Signed-off-by: NMaxime Leroy <maxime.leroy@6wind.com> Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Maxime Leroy 提交于
Ivshmem is supported by QEMU since 0.13 release. Signed-off-by: NMaxime Leroy <maxime.leroy@6wind.com> Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Martin Kletzander 提交于
This patch adds parsing/formatting code as well as documentation for shared memory devices. This will currently be only accessible in QEMU using it's ivshmem device, but is designed as generic as possible to allow future expansion for other hypervisors. In the devices section in the domain XML users may specify: - For shmem device using a server: <shmem name='shmem0'> <server path='/tmp/socket-ivshmem0'/> <size unit='M'>32</size> <msi vectors='32' ioeventfd='on'/> </shmem> - For ivshmem device not using an ivshmem server: <shmem name='shmem1'> <size unit='M'>32</size> </shmem> Most of the configuration is made optional so it also allows specifications like: <shmem name='shmem1/> <shmem name='shmem2'> <server/> </shmem> Signed-off-by: NMaxime Leroy <maxime.leroy@6wind.com> Signed-off-by: NMartin Kletzander <mkletzan@redhat.com>
-
由 Eric Blake 提交于
Aeons ago (commit 34dcbbb4, v0.8.2), we added a new libvirt event (VIR_DOMAIN_EVENT_ID_IO_ERROR_REASON) in order to tell the user WHY the guest halted. This is because at least VDSM wants to react differently to ENOSPC events (resize the lvm partition to be larger, and resume the guest as if nothing had happened) from all other events (I/O is hosed, throw up our hands and flag things as broken). At the time this was done, downstream RHEL qemu added a vendor extension '__com.redhat_reason', which would be exactly one of these strings: "enospc", "eperm", "eio", and "eother". In our stupidity, we exposed those exact strings to clients, rather than an enum, and we also return "" if we did not have access to a reason (which was the case for upstream qemu). Fast forward to now: upstream qemu commit c7c2ff0c (will be qemu 2.2) FINALLY adds a 'nospace' boolean, after discussion with multiple projects determined that VDSM really doesn't care about distinction between any other error types. So this patch converts 'nospace' into the string "enospc" for compatibility with RHEL clients that were already used to the downstream extension, while leaving the reason blank for all other cases (no change from the status quo). See also https://bugzilla.redhat.com/show_bug.cgi?id=1119784 * src/qemu/qemu_monitor_json.c (qewmuMonitorJSONHandleIOError): Parse reason field from modern qemu. * include/libvirt/libvirt.h.in (virConnectDomainEventIOErrorReasonCallback): Document it. Signed-off-by: NEric Blake <eblake@redhat.com>
-
- 03 10月, 2014 21 次提交
-
-
由 Cole Robinson 提交于
Right now when building the qemu command line, we try to do various unconditional validations of the guest CPU against the host CPU. However this checks are overly applied. The only time we should use the checks are: - The user requests host-model/host-passthrough, or - When KVM is requsted. CPU features requested in TCG mode are always emulated by qemu and are independent of the host CPU, so no host CPU checks should be performed. Right now if trying to specify a CPU for arm on an x86 host, it attempts to do non-sensical validation and falls over. Switch all the test cases that were intending to test CPU validation to use KVM, so they continue to test the intended code. Amend some aarch64 XML tests with a CPU model, to ensure things work correctly.
-
由 Cole Robinson 提交于
Move the CPU mode/model handling to its own function. This is just code movement and re-indentation.
-
由 Shanzhi Yu 提交于
When building libvirt from source with netcf-devel installed, the configure script reports error "libnl-devel >=3.0 is required for macvtap support", while actually libnl3-devel is required. Signed-off-by: NShanzhi Yu <shyu@redhat.com>
-
由 Shanzhi Yu 提交于
check domain's status before call virQEMUCapsGet to report a accurate error when domain is shut off Resolve: https://bugzilla.redhat.com/show_bug.cgi?id=1147847Signed-off-by: NShanzhi Yu <shyu@redhat.com>
-
由 Michal Privoznik 提交于
After 87dea4fc one can observe a build failure: ./autogen.sh --system --without-driver-modules && make CCLD libvirtd ../src/.libs/libvirt_driver_vbox.a(libvirt_driver_vbox_impl_la-vbox_driver.o): In function `vboxNetworkRegister': /home/jtomko/work/libvirt/libvirt.git/src/vbox/vbox_driver.c:168: undefined reference to `vboxGetNetworkDriver' collect2: error: ld returned 1 exit status make[3]: *** [libvirtd] Error 1 The problem is that when building without driver modules the VBOX network driver is not linked into the the VBOX driver. Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
-
由 Taowei 提交于
This patch seperate the domain driver and the network driver. libvirt_driver_vbox_impl.la has been linked in the network driver. So that the version specified codes in vbox_V*.c would only be compiled once. The vboxGetNetworkDriver provides a simple interface to get vbox network driver.
-
由 Taowei 提交于
-
由 Taowei 提交于
-
由 Taowei 提交于
This patch rewrites two public APIs. They are vboxNetworkUndefine and vboxNetworkDestroy. They use the same core function vboxNetworkUndefineDestroy. I merged it in one patch.
-
由 Taowei 提交于
This patch actually contains two public API, virNetworkDefineXML and virNetworkCreateXML. They use the same core function vboxNetworkDefineCreateXML. So I merged it together.
-
由 Taowei 提交于
-
由 Taowei 提交于
-
由 Taowei 提交于
-
由 Taowei 提交于
-
由 Taowei 提交于
-
由 Taowei 提交于
-
由 Taowei 提交于
-
由 Taowei 提交于
-
由 Taowei 提交于
The patch dbb4cbf5 by Michal has splited the vbox driver into three parties. This modification brings a more suitable interface to the previous patch. The new function vboxGetDriver is introduced to get the corresponding vbox domain driver directly thought the vbox version. Functions like vboxGetNetworkDriver and vboxGetStorageDriver will be introduced after rewriting it's drivers. This patch, by the way, fixed the align problem for vbox in Makefile.am
-
由 Erik Skultety 提交于
Up until now, we set memballoon period in monitor successfully, however we did not update domain definition structure, thus dumpxml was omitting period attribute in memballoon element Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1140960
-
由 Erik Skultety 提交于
When trying to update bandwidth limits on a running domain, limits get updated in our internal structures, however XML parser reads bandwidth limits from network 'actual' definition. Committing this patch it is now available to update bandwidth 'actual' definition as well, thus updating domain runtime XML.
-
- 02 10月, 2014 2 次提交
-
-
由 Ján Tomko 提交于
Fix the build on FreeBSD, broken by commit 4882618e. Signed-off-by: NJán Tomko <jtomko@redhat.com>
-
由 Eric Blake 提交于
A cygwin build of 1.2.9 fails with: util/virprocess.c:87:27: fatal error: sys/syscall.h: No such file or directory # include <sys/syscall.h> But in reality, the ONLY user of setns() is lxc, which is Linux-only. It's easiest to just limit the setns workarounds to Linux. * src/util/virprocess.c (setns): Limit definition to Linux. Signed-off-by: NEric Blake <eblake@redhat.com>
-