[libvirt] (no subject)

Osier Yang jyang at redhat.com
Fri Dec 9 12:45:30 UTC 2011


On 2011年12月07日 17:16, Daniel P. Berrange wrote:
> On Wed, Dec 07, 2011 at 08:21:06AM +0200, Sasha Levin wrote:
>> On Tue, 2011-12-06 at 14:38 +0000, Daniel P. Berrange wrote:
>>> On Fri, Nov 11, 2011 at 07:56:58PM +0800, Osier Yang wrote:
>>>>    * KVM tool manages the network completely itself (with DHCP support?),
>>>>      no way to configure, except specify the modes (user|tap|none). I
>>>>      have not test it yet, but it should need explicit script to setup
>>>>      the network rules(e.g. NAT) for the guest access outside world.
>>>>      Anyway, there is no way for libvirt to control the guest network.
>>>
>>> If KVM tool support TAP devices, can't be do whatever we like with
>>> that just by passing in a configured TAP device from libvir ?
>>
>> KVM tool currently creates and configures the TAP devices it uses, it
>> shouldn't be an issue to have it use a TAP fd passed to it either.
>>
>> How does libvirt do it? Create a /dev/tapX on it's own and pass the fd
>> to the hypervisor?
>
> Yes, libvirt opens a /dev/tap device (or a macvtap device for VEPA
> mode), adds it to the neccessary bridge, and/or configures VEPA, etc
> and then passes the FD to the hypervisor, with a ARGV parameter to
> tell the HV which FD is being passed.
>
>>>>    * console connection is implemented by setup ptys in libvirt, stdout/stderr
>>>>      of kvm tool process is redirected to the master pty, and libvirt connects
>>>>      to the slave pty. This works fine now, but it might be better if kvm
>>>>      tool could provide more advanced console mechanisms. Just like QEMU
>>>>      does?
>>>
>>> This sounds good enough for now.
>>
>> KVM tools does a redirection to a PTY, which at that point could be
>> redirected to anywhere the user wants.
>>
>> What features might be interesting to do on top of that?
>
> I presume that Osier is just comparing with the features QEMU has available
> for chardevs config, which include
>
>   - PTYs
>   - UNIX sockets
>   - TCP sockets
>   - UDP sockets
>   - FIFO pipe
>   - Plain file (output only obviously, but useful for logging)

Yes, that's what I meant. :-)

>
> libvirt doesn't specifically need any of them, but it can support those
> options if they exist.

Yes, these won't prevent us, I just meant it will be great if they are
supported.

>
>>>>    * Not much ways existed yet for external apps or user to query the guest
>>>>      informations. But this might be changed soon per KVM tool grows up
>>>>      quickly.
>>>
>>> What sort of guest info are you thinking about ? The most immediate
>>> pieces of info I can imagine we need are
>>>
>>>   - Mapping between PIDs and  vCPU threads
>>>   - Current balloon driver value
>>
>> Those are pretty easily added using the IPC interface I've mentioned
>> above. For example, 'kvm balloon' and 'kvm stat' will return a lot of
>> info out of the balloon driver (including the memory stats VQ - which
>> afaik we're probably the only ones who actually do that (but I might be
>> wrong) :)
>
> Ok, that sounds sufficient for the balloon info.
>
> Regards,
> Daniel




More information about the libvir-list mailing list