From: "Michael S. Tsirkin" <mst@redhat.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Arnd Bergmann <arnd@arndb.de>, Sridhar Samudrala <sri@us.ibm.com>,
avi@redhat.com, markmc@redhat.com, ogerlitz@voltaire.com,
kvm@vger.kernel.org, qemu-devel@vger.kernel.org,
Chris Wright <chrisw@redhat.com>
Subject: Re: [PATCH qemu-kvm] Add raw(af_packet) network backend to qemu
Date: Thu, 28 Jan 2010 18:37:21 +0200 [thread overview]
Message-ID: <20100128163720.GB3288@redhat.com> (raw)
In-Reply-To: <4B61A7C9.7040808@codemonkey.ws>
On Thu, Jan 28, 2010 at 09:05:45AM -0600, Anthony Liguori wrote:
> On 01/28/2010 08:52 AM, Michael S. Tsirkin wrote:
>> On Thu, Jan 28, 2010 at 08:13:53AM -0600, Anthony Liguori wrote:
>>
>>> On 01/28/2010 07:56 AM, Michael S. Tsirkin wrote:
>>>
>>>>> Now, the most important use case I see for the raw socket interface
>>>>> in qemu is to get vhost-net and the qemu user implementation to
>>>>> support the same feature set. If you ask for a network setup involving
>>>>> a raw socket and vhost-net and the kernel can support raw sockets
>>>>> but for some reason fails to set up vhost-net, you should have a
>>>>> fallback that has the exact same semantics at a possibly significant
>>>>> performance loss.
>>>>>
>>>>> Arnd
>>>>>
>>>>>
>>>> Makes sense. A simple reason you can't do vhost-net would be
>>>> that you are using tcg.
>>>>
>>>>
>>> Some good arguments have been raised in this thread. I really don't
>>> like making our security depend on something external to qemu that is
>>> not widely used or understood.
>>>
>>> That said, I'm not seeing a lot of great alternatives. I definitely
>>> like -net socket better than -net raw. In the absence of an
>>> extraordinarily clever solution, I think we may be stuck with doing this.
>>>
>> Agreed on all points.
>>
>
> The scenario I'm concerned about is:
>
> normal user uses libvirt to launch custom qemu instance. libvirt passes
> an fd of a raw socket to qemu and puts the qemu process in a restricted
> network namespace. user has another program running listening on a unix
> domain socket and does something to the qemu process that causes it to
> open the domain socket and send the fd it received from libvirt via
> SCM_RIGHTS.
>
> user now has a raw socket that is not confined to a network namespace.
>
> I'm trying to digest the disablenetwork thread right now. Basically
> though, what would be ideal is a /dev/net/ethN that we could open, and
> use read/write to send packets to and use ioctls to issue commands to do
> things like enable/disable offloads.
>
> I understand that raw socket is the interface we have today but I think
> we aren't going to be able to get around the need for a restricted file
> descriptor vs. using process restrictions to achieve isolation.
So actually, this is an interesting argument in favor of
turning disablenetwork from per-process as it is now
to per-file.
> Regards,
>
> Anthony Liguori
>
>>> Regards,
>>>
>>> Anthony Liguori
>>>
next prev parent reply other threads:[~2010-01-28 16:50 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-26 20:40 [PATCH qemu-kvm] Add raw(af_packet) network backend to qemu Sridhar Samudrala
2010-01-26 20:47 ` Anthony Liguori
2010-01-26 20:50 ` Anthony Liguori
2010-01-26 23:19 ` Sridhar Samudrala
2010-01-27 9:24 ` Michael S. Tsirkin
2010-01-27 9:34 ` Arnd Bergmann
2010-01-27 9:44 ` Michael S. Tsirkin
2010-01-27 14:03 ` Anthony Liguori
2010-01-27 21:39 ` Arnd Bergmann
2010-01-27 22:56 ` Sridhar Samudrala
2010-01-28 6:06 ` Arnd Bergmann
2010-01-28 16:53 ` Jens Osterkamp
2010-01-28 11:22 ` Or Gerlitz
2010-01-29 20:52 ` Sridhar Samudrala
2010-01-29 20:52 ` [Qemu-devel] " Sridhar Samudrala
2010-01-27 14:07 ` Anthony Liguori
2010-01-27 16:59 ` Michael S. Tsirkin
2010-01-27 17:07 ` Anthony Liguori
2010-01-27 17:25 ` Michael S. Tsirkin
2010-01-27 17:36 ` Anthony Liguori
2010-01-27 17:54 ` Sridhar Samudrala
2010-01-27 18:02 ` Anthony Liguori
2010-01-27 18:03 ` Michael S. Tsirkin
2010-01-27 19:54 ` Anthony Liguori
2010-01-28 8:12 ` Arnd Bergmann
2010-01-28 13:56 ` Michael S. Tsirkin
2010-01-28 14:13 ` Anthony Liguori
2010-01-28 14:39 ` Anthony Liguori
2010-01-28 14:52 ` Michael S. Tsirkin
2010-01-28 15:05 ` Anthony Liguori
2010-01-28 16:37 ` Michael S. Tsirkin [this message]
2010-01-28 17:58 ` Anthony Liguori
2010-01-28 18:04 ` Michael S. Tsirkin
2010-01-28 19:57 ` Anthony Liguori
2010-01-29 11:26 ` Michael S. Tsirkin
2010-01-28 20:29 ` Arnd Bergmann
2010-02-01 15:47 ` Or Gerlitz
2010-01-27 18:12 ` Michael S. Tsirkin
2010-01-26 23:15 ` Sridhar Samudrala
2010-01-26 23:15 ` [Qemu-devel] " Sridhar Samudrala
2010-01-27 0:06 ` Anthony Liguori
2010-01-27 6:52 ` Arnd Bergmann
2010-01-27 6:52 ` Arnd Bergmann
2010-01-27 14:14 ` Anthony Liguori
2010-01-27 14:14 ` Anthony Liguori
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=20100128163720.GB3288@redhat.com \
--to=mst@redhat.com \
--cc=anthony@codemonkey.ws \
--cc=arnd@arndb.de \
--cc=avi@redhat.com \
--cc=chrisw@redhat.com \
--cc=kvm@vger.kernel.org \
--cc=markmc@redhat.com \
--cc=ogerlitz@voltaire.com \
--cc=qemu-devel@vger.kernel.org \
--cc=sri@us.ibm.com \
/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.