From: Anthony Liguori <anthony@codemonkey.ws>
To: "Michael S. Tsirkin" <mst@redhat.com>
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 09:05:45 -0600 [thread overview]
Message-ID: <4B61A7C9.7040808@codemonkey.ws> (raw)
In-Reply-To: <20100128145226.GA10497@redhat.com>
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.
Regards,
Anthony Liguori
>> Regards,
>>
>> Anthony Liguori
>>
next prev parent reply other threads:[~2010-01-28 15:05 UTC|newest]
Thread overview: 41+ 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-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 [this message]
2010-01-28 16:37 ` Michael S. Tsirkin
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-27 0:06 ` [Qemu-devel] " Anthony Liguori
2010-01-27 6:52 ` Arnd Bergmann
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=4B61A7C9.7040808@codemonkey.ws \
--to=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=mst@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox