From: Anthony Liguori <anthony@codemonkey.ws>
To: Arnd Bergmann <arnd@arndb.de>
Cc: qemu-devel@nongnu.org, virtualization@lists.linux-foundation.org
Subject: Re: [Qemu-devel] Guest bridge setup variations
Date: Thu, 10 Dec 2009 17:53:52 -0600 [thread overview]
Message-ID: <4B218A10.6000904@codemonkey.ws> (raw)
In-Reply-To: <200912101019.58555.arnd@arndb.de>
Arnd Bergmann wrote:
>> 3) given an fd, treat a vhost-style interface
>>
>
> This could mean two things, not sure which one you mean. Either the
> file descriptor could be the vhost file descriptor, or the socket or tap file
> descriptor from above, with qemu operating on the vhost interface itself.
>
> Either option has its advantages, but I guess we should only implement
> one of the two to keep it simple.
>
I was thinking the socket/tap descriptor.
>> I believe we should continue supporting the mechanisms we support
>> today. However, for people that invoke qemu directly from the command
>> line, I believe we should provide a mechanism like the tap helper that
>> can be used to call out to a separate program to create these initial
>> file descriptors. We'll have to think about how we can make this
>> integrate well so that the syntax isn't clumsy.
>>
>
> Right. I wonder if this helper should integrate with netcf as an abstraction,
> or if we should rather do something generic. It may also be a good idea
> to let the helper decide which of the three options you listed to use
> and pass that back to qemu unless the user overrides it. The decision
> probably needs to be host specific, depending e.g. on the availability
> and version of tools (brctl, iproute, maybe tunctl, ...), the respective
> kernel modules (vhost, macvlan, bridge, tun, ...) and policy (VEPA, vlan,
> ebtables). Ideally the approach should be generic enough to work on
> other platforms (BSD, Solaris, Windows, ...).
>
For helpers, I think I'd like to stick with what we currently support,
and then allow for a robust way for there to be independent projects
that implement their own helpers. For instance, I would love it if
netcf had a qemu network "plugin" helper.
There's just too much in the networking space all wrapped up in layers
of policy decisions. I think it's time to move it out of qemu.
> One thing I realized the last time we discussed the helper approach is
> that qemu should not need to know or care about the arguments passed
> to the helper, otherwise you get all the complexity back in qemu that
> you're trying to avoid. Maybe for 0.13 we can convert -net socket and
> -net tap to just pass all their options to the helper and move that code
> out of qemu, along with introducting the new syntax.
>
Yes, I was thinking the same thing. New syntax may need exploring.
> Another unrelated issue that I think needs to be addressed in a
> network code cleanup is adding better support for multi-queue
> transmit and receive. I've prepared macvtap for that by letting you
> open the chardev multiple times to get one queue per guest CPU,
> but that needs to be supported by qemu and virtio-net as well
> to actually parallelize network operation. Ideally, two guest CPUs
> should be able to transmit and receive on separate queues of the
> adapter without ever having to access any shared resources.
>
Multiqueue adds another dimension but I think your approach is pretty
much right on the money. Have multiple fds for each queue and we would
support a mechanism with helpers to receive multiple fds as appropriate.
Regards,
Anthony Liguori
next prev parent reply other threads:[~2009-12-10 23:53 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-08 16:07 Guest bridge setup variations Arnd Bergmann
2009-12-09 19:36 ` [Qemu-devel] " Anthony Liguori
2009-12-10 9:19 ` Arnd Bergmann
2009-12-10 23:53 ` Anthony Liguori [this message]
2009-12-14 12:09 ` Arnd Bergmann
2009-12-10 12:26 ` Fischer, Anna
2009-12-10 14:18 ` Arnd Bergmann
2009-12-10 19:14 ` Alexander Graf
2009-12-10 20:20 ` [Qemu-devel] " Arnd Bergmann
2009-12-10 20:37 ` Alexander Graf
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=4B218A10.6000904@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=arnd@arndb.de \
--cc=qemu-devel@nongnu.org \
--cc=virtualization@lists.linux-foundation.org \
/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;
as well as URLs for NNTP newsgroup(s).