Re: [libvirt] [PATCHv2 00/17] Support for interface type='hostdev'

2012-03-06 Thread Laine Stump
On 02/28/2012 03:14 PM, Laine Stump wrote:
 This series of patches enhances the interface device to support a
 sort of intelligent hostdev, i.e. PCI passthrough where device-type
 specific initialization is done prior to assigning the device to the
 guest, in particular to allow setting the MAC address and do 802.1QbX
 setup for network devices.

I've pushed the entire series, as listed below:




 + [PATCH 01/17] conf: add missing device types to
   [PATCH 02/17] conf: relocate virDomainDeviceDef and
 X [PATCH 03/17] conf: reorder static functions in domain_conf.c
 + [PATCH 04/17] qemu: rename virDomainDeviceInfoPtr variables to avoid
 + [PATCH 05/17] conf: add device pointer to args of
   [PATCH 06/17] conf: make hostdev info a separate object
 X [PATCH 07/17] conf: HostdevDef parse/format helper functions

 + [PATCH 09/17] conf: put subsys part of virDomainHostdevDef into its
 + [PATCH 10/17] conf: hostdev utility functions
 + [PATCH 11/17] qemu: re-order functions in qemu_hotplug.c
 + [PATCH 12/17] qemu: refactor hotplug detach of hostdevs

 + [PATCH 15/17] conf: change virDomainNetRemove from static to global
 + [PATCH 16/17] qemu: use virDomainNetRemove instead of inline code

 Patch 8 is just a couple lines:

  [PATCH 08/17] conf: give each hostdevdef a parent pointer


   [PATCH 13/17] conf: parse/format type='hostdev' network interfaces
 + [PATCH 14/17] qemu: support type='hostdev' network devices at domain start
 + [PATCH 17/17] qemu: support type=hostdev network device live hotplug

 --
 libvir-list mailing list
 libvir-list@redhat.com
 https://www.redhat.com/mailman/listinfo/libvir-list


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCHv2 00/17] Support for interface type='hostdev'

2012-02-28 Thread Laine Stump
This series of patches enhances the interface device to support a
sort of intelligent hostdev, i.e. PCI passthrough where device-type
specific initialization is done prior to assigning the device to the
guest, in particular to allow setting the MAC address and do 802.1QbX
setup for network devices.

The first posting of this patch only supported parsing and formatting
of these devices. This version also supports them in persistent
config, as well as hotplug (both persistent and live-only).

The only piece that isn't in this patchset (because it is coming from
another author) is the code that actually 

Rather than adding all of the device-type specific config to
hostdev, this is accomplished through adding a new type of
interface element, type='hostdev'. When an interface is
type='hostdev' the following is changed:

  * in the toplevel device, the managed attribute can be specified
(with identical results as when it's specified in a hostdev

  * The source element can specify a pci address or usb address,
just as can be done in hostdev. One notable difference is that
the type of the address is specified directly in the source
address element, rather than as an attribute of the toplevel
device (that's how it's done for hostdev, but for interface,
the toplevel element's type attribute is already used).

NB: a type=hostdev interface will reside in both the interface list
(for configuration and memory management) and hostdev list (for PCI
attach/detach, and tracking of which devices are assigned)).

This entire series is available on gitorious:

  git://gitorious.org/~laine/libvirt/laine-staging.git

in the passthrough8 branch.

Patches 1-7, 9-12, and 15-16 are just setup for the new
functionality - they reorder and refactor existing code to allow
greater re-use of existing code and easier plugin of the new
code. Those marked with X are unchanged from V1 (as far as my
git logs tell me). Those marked + are new patches that weren't
in V1.

+ [PATCH 01/17] conf: add missing device types to
  [PATCH 02/17] conf: relocate virDomainDeviceDef and
X [PATCH 03/17] conf: reorder static functions in domain_conf.c
+ [PATCH 04/17] qemu: rename virDomainDeviceInfoPtr variables to avoid
+ [PATCH 05/17] conf: add device pointer to args of
  [PATCH 06/17] conf: make hostdev info a separate object
X [PATCH 07/17] conf: HostdevDef parse/format helper functions

+ [PATCH 09/17] conf: put subsys part of virDomainHostdevDef into its
+ [PATCH 10/17] conf: hostdev utility functions
+ [PATCH 11/17] qemu: re-order functions in qemu_hotplug.c
+ [PATCH 12/17] qemu: refactor hotplug detach of hostdevs

+ [PATCH 15/17] conf: change virDomainNetRemove from static to global
+ [PATCH 16/17] qemu: use virDomainNetRemove instead of inline code

Patch 8 is just a couple lines:

 [PATCH 08/17] conf: give each hostdevdef a parent pointer


  [PATCH 13/17] conf: parse/format type='hostdev' network interfaces
+ [PATCH 14/17] qemu: support type='hostdev' network devices at domain start
+ [PATCH 17/17] qemu: support type=hostdev network device live hotplug

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] [PATCHv2 00/17] Support for interface type='hostdev'

2012-02-28 Thread Laine Stump
On 02/28/2012 03:14 PM, Laine Stump wrote:
 This series of patches enhances the interface device to support a
 sort of intelligent hostdev, i.e. PCI passthrough where device-type
 specific initialization is done prior to assigning the device to the
 guest, in particular to allow setting the MAC address and do 802.1QbX
 setup for network devices.

 The first posting of this patch only supported parsing and formatting
 of these devices. This version also supports them in persistent
 config, as well as hotplug (both persistent and live-only).

 The only piece that isn't in this patchset (because it is coming from
 another author) is the code that actually 

to finish this sentence:

...is the code that actually does the network device-specific
setup/teardown, i.e. setting and restoring the MAC address, and doing
virtualport associate/de-associate. That code is being tested now, so
should be along soon.


 Rather than adding all of the device-type specific config to
 hostdev, this is accomplished through adding a new type of
 interface element, type='hostdev'. When an interface is
 type='hostdev' the following is changed:

   * in the toplevel device, the managed attribute can be specified
 (with identical results as when it's specified in a hostdev

   * The source element can specify a pci address or usb address,
 just as can be done in hostdev. One notable difference is that
 the type of the address is specified directly in the source
 address element, rather than as an attribute of the toplevel
 device (that's how it's done for hostdev, but for interface,
 the toplevel element's type attribute is already used).

 NB: a type=hostdev interface will reside in both the interface list
 (for configuration and memory management) and hostdev list (for PCI
 attach/detach, and tracking of which devices are assigned)).

 This entire series is available on gitorious:

   git://gitorious.org/~laine/libvirt/laine-staging.git

 in the passthrough8 branch.

 Patches 1-7, 9-12, and 15-16 are just setup for the new
 functionality - they reorder and refactor existing code to allow
 greater re-use of existing code and easier plugin of the new
 code. Those marked with X are unchanged from V1 (as far as my
 git logs tell me). Those marked + are new patches that weren't
 in V1.

 + [PATCH 01/17] conf: add missing device types to
   [PATCH 02/17] conf: relocate virDomainDeviceDef and
 X [PATCH 03/17] conf: reorder static functions in domain_conf.c
 + [PATCH 04/17] qemu: rename virDomainDeviceInfoPtr variables to avoid
 + [PATCH 05/17] conf: add device pointer to args of
   [PATCH 06/17] conf: make hostdev info a separate object
 X [PATCH 07/17] conf: HostdevDef parse/format helper functions

 + [PATCH 09/17] conf: put subsys part of virDomainHostdevDef into its
 + [PATCH 10/17] conf: hostdev utility functions
 + [PATCH 11/17] qemu: re-order functions in qemu_hotplug.c
 + [PATCH 12/17] qemu: refactor hotplug detach of hostdevs

 + [PATCH 15/17] conf: change virDomainNetRemove from static to global
 + [PATCH 16/17] qemu: use virDomainNetRemove instead of inline code

 Patch 8 is just a couple lines:

  [PATCH 08/17] conf: give each hostdevdef a parent pointer


   [PATCH 13/17] conf: parse/format type='hostdev' network interfaces
 + [PATCH 14/17] qemu: support type='hostdev' network devices at domain start
 + [PATCH 17/17] qemu: support type=hostdev network device live hotplug

 --
 libvir-list mailing list
 libvir-list@redhat.com
 https://www.redhat.com/mailman/listinfo/libvir-list


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list