All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dor Laor <dlaor@redhat.com>
To: Evgeniy Polyakov <zbr@ioremap.net>
Cc: Anthony Liguori <anthony@codemonkey.ws>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	netdev@vger.kernel.org, David Miller <davem@davemloft.net>,
	kvm@vger.kernel.org, virtualization@lists.linux-foundation.org
Subject: Re: [PATCH] AF_VMCHANNEL address family for	guest<->host	communication.
Date: Tue, 16 Dec 2008 02:01:27 +0200	[thread overview]
Message-ID: <4946EFD7.7080606@redhat.com> (raw)
In-Reply-To: <20081215235253.GB24579@ioremap.net>

Evgeniy Polyakov wrote:
> On Mon, Dec 15, 2008 at 05:08:29PM -0600, Anthony Liguori (anthony@codemonkey.ws) wrote:
>   
>> The KVM model is that a guest is a process.  Any IO operations original 
>> from the process (QEMU).  The advantage to this is that you get very 
>> good security because you can use things like SELinux and simply treat 
>> the QEMU process as you would the guest.  In fact, in general, I think 
>> we want to assume that QEMU is guest code from a security perspective.
>>
>> By passing up the network traffic to the host kernel, we now face a 
>> problem when we try to get the data back.  We could setup a tun device 
>> to send traffic to the kernel but then the rest of the system can see 
>> that traffic too.  If that traffic is sensitive, it's potentially unsafe.
>>     
>
> You can even use unix sockets in this case, and each socket will be
> named as virtio channels names. IIRC tun/tap devices can be virtualizen
> with recent kernels, which also solves all problems of shared access.
>
> There are plenty of ways to implement this kind of functionality instead
> of developing some new protocol, which is effectively a duplication of
> what already exists in the kernel.
>
>   

Well, it is kinda pv-unix-domain-socket.
I did not understand how a standard unix domain in the guest can reach 
the host according
to your solution.

The initial implementation was some sort of pv-serial. Serial itself is 
low performing and
there is no naming services what so every. Gleb did offer the netlink 
option as a beginning
but we though a new address family would be more robust (you say too 
robust).
So by suggestion new address family what can think of it as a 
pv-unix-domain-socket.
Networking IS used since we think it is a good 'wheel'.
Indeed, David is right that instead of adding a new chunk of code we can 
re-use the
existing one. But we do have some 'new' (afraid to tell virtualization) 
problems that
might prevent us of using a standard virtual nic:
    - Even if we can teach iptables to ignore this interface, other
      3rd firewall might not obey: What if the VM is a Checkpoint firewall?
      What if the VM is windows? + using a non MS firewall?
    - Who will assign IPs for the vnic? How can I assure there is no ip 
clash?
       The standard dhcp for the other standard vnics might not be in 
our control.

So I do understand the idea of using a standard network interface. It's 
just not that simple.
So ideas to handle the above are welcomed.
Otherwise we might need to go back to serial/pv-serial approach.

btw: here are the usages/next usages of vmchannel:
VMchannel is a host-guest interface and in the future guest-guest interface.
Currently/soon it is used for
    - guest statistics
    - guest info
    - guest single sign own
    - guest log-in log-out
    - mouse channel for multiple monitors
    - cut&paste (guest-host, sometimes client-host-guest, company 
firewall blocks client-guest).
    - fencing (potentially)

tw2: without virtualization we wouldn't have new passionate issues to 
discuss about!
Cheers,
Dor

  reply	other threads:[~2008-12-16  0:01 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-14 11:50 [PATCH] AF_VMCHANNEL address family for guest<->host communication Gleb Natapov
2008-12-14 12:23 ` Evgeniy Polyakov
2008-12-14 12:23 ` Evgeniy Polyakov
2008-12-14 12:46   ` Gleb Natapov
2008-12-14 12:46   ` Gleb Natapov
2008-12-15  6:44 ` David Miller
2008-12-15  7:48   ` Gleb Natapov
2008-12-15  8:27     ` David Miller
2008-12-15  8:27     ` David Miller
2008-12-15  7:48   ` Gleb Natapov
2008-12-15 15:02   ` Anthony Liguori
2008-12-15 17:45     ` Jeremy Fitzhardinge
2008-12-15 18:26       ` Itamar Heim
2008-12-15 18:26       ` Itamar Heim
2008-12-15 18:45       ` Anthony Liguori
2008-12-15 18:45       ` Anthony Liguori
2008-12-15 22:52         ` Jeremy Fitzhardinge
2008-12-15 22:52         ` Jeremy Fitzhardinge
2008-12-15 23:08           ` Anthony Liguori
2008-12-15 23:44             ` Jeremy Fitzhardinge
2008-12-15 23:44             ` Jeremy Fitzhardinge
2008-12-15 23:52             ` Evgeniy Polyakov
2008-12-16  0:01               ` Dor Laor [this message]
2008-12-16  0:01               ` Dor Laor
2008-12-15 23:52             ` Evgeniy Polyakov
2008-12-15 23:08           ` Anthony Liguori
2008-12-15 17:45     ` Jeremy Fitzhardinge
2008-12-15 19:43     ` David Miller
2008-12-15 19:43     ` David Miller
2008-12-15 20:44       ` Anthony Liguori
2008-12-15 22:29         ` David Miller
2008-12-15 22:29         ` David Miller
2008-12-15 23:01           ` Anthony Liguori
2008-12-15 23:10             ` David Miller
2008-12-15 23:10             ` David Miller
2008-12-15 23:17               ` Anthony Liguori
2008-12-16  2:55                 ` Herbert Xu
2008-12-16  2:55                 ` Herbert Xu
2008-12-15 23:17               ` Anthony Liguori
2008-12-15 23:13             ` Stephen Hemminger
2008-12-15 23:13             ` Stephen Hemminger
2008-12-15 23:45             ` Evgeniy Polyakov
2008-12-15 23:45             ` Evgeniy Polyakov
2008-12-16  6:57               ` Gleb Natapov
2008-12-16 21:25                 ` Evgeniy Polyakov
2008-12-16 21:25                 ` Evgeniy Polyakov
2008-12-16 23:20                   ` Dor Laor
2008-12-16 23:20                   ` Dor Laor
2008-12-17 14:31                   ` Gleb Natapov
2008-12-17 14:31                   ` Gleb Natapov
2008-12-18 12:30                     ` Evgeniy Polyakov
2008-12-18 12:30                     ` Evgeniy Polyakov
2008-12-16  6:57               ` Gleb Natapov
2008-12-15 23:01           ` Anthony Liguori
2008-12-15 20:44       ` Anthony Liguori
2008-12-15 15:02   ` Anthony Liguori
2008-12-15  6:44 ` David Miller
  -- strict thread matches above, loose matches on Subject: below --
2008-12-14 11:50 Gleb Natapov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4946EFD7.7080606@redhat.com \
    --to=dlaor@redhat.com \
    --cc=anthony@codemonkey.ws \
    --cc=davem@davemloft.net \
    --cc=jeremy@goop.org \
    --cc=kvm@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=virtualization@lists.linux-foundation.org \
    --cc=zbr@ioremap.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.