[libvirt] [PATCHv2 8/9] qemu: use virDomainNetGetActual*() in qemuDomainXMLToNative
Eric Blake
eblake at redhat.com
Wed Jul 20 23:34:37 UTC 2011
On 07/20/2011 12:21 AM, Laine Stump wrote:
> This is the one function outside of domain_conf.c that plays around
> with (even modifying) the internals of the virDomainNetDef, and thus
> can't be fixed up simply by replacing direct accesses to the fields of
> the struct with the GetActual*() access functions.
>
> In this case, we need to check if the defined type is "network", and
> if it is *then* check the actual type; if the actual type is "bridge",
> then we can at least put the bridgename in a place where it can be
> used; otherwise (if type isn't "bridge"), we behave exactly as we used
> to - just null out *everything*.
> ---
> src/qemu/qemu_driver.c | 39 +++++++++++++++++++++++++++++++++++++--
> 1 files changed, 37 insertions(+), 2 deletions(-)
>
ACK. It helps when I read the context of that change:
/* Since we're just exporting args, we can't do bridge/network/direct
* setups, since libvirt will normally create TAP/macvtap devices
* directly. We convert those configs into generic 'ethernet'
* config and assume the user has suitable 'ifup-qemu' scripts
*/
and realized that xml-to-native is not modifying an existing persistent
or running domain, but operating directly on candidate xml.
At the same time, it feels a bit awkward that we can't convert xml
directly to native cases where the command line that we use internally
depends on an fd number for a file that libvirt opens, rather than a
filename counterpart. Is that something where we could add a new API
flag, or add a new qemu-specific format string (right now we only take
"qemu-kvm", so a new one could be "shell-script"), where we could output
the command line with fd numbers as-is as well as outputting preliminary
shell code snippets that would explain what files were opened to those
fd numbers (something like "exec 17>/dev/tun; qemu -network fd:17")?
Just thinking aloud here; I don't know that anyone will have much use
for this, so not a high priority.
--
Eric Blake eblake at redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
More information about the libvir-list
mailing list