From: Anthony Liguori <anthony@codemonkey.ws>
To: Sridhar Samudrala <sri@us.ibm.com>
Cc: kvm-devel <kvm@vger.kernel.org>,
"Michael S. Tsirkin" <mst@redhat.com>,
qemu-devel@nongnu.org, Paul Brook <paul@codesourcery.com>,
Jens Osterkamp <jens@linux.vnet.ibm.com>
Subject: Raw vs. tap (was: Re: Re: Release plan for 0.12.0)
Date: Wed, 14 Oct 2009 17:53:56 -0500 [thread overview]
Message-ID: <4AD65684.3010403@codemonkey.ws> (raw)
In-Reply-To: <1255554600.20366.9.camel@w-sridhar.beaverton.ibm.com>
Sridhar Samudrala wrote:
> Can't we bind the raw socket to the tap interface instead of the
> physical interface and allow the bridge config to work.
>
But why use the raw interface instead of tap directly.
Let me summarize the discussion so far:
Raw sockets
Pros:
o User specifies a network interface to bind to
o External traffic Just Works, guest-to-guest traffic Just Works
Cons:
o Requires root (cannot chmod)
o Guest<->host traffic does not work
o No support for GSO/checksum offload
Some things that I'm not sure will work or not:
o guest with a bridge (sending traffic with multiple mac addresses)
o guest trying to enter promiscuous mode
Tap
Pros:
o All types of networking works when configured
o Supports non-root users via tunctl
o Supports GSO/checksum offload
Cons:
o Requires configuring a bridge which can be difficult for some users
Since I don't see any clear features in raw sockets that aren't present
in tap, the argument really boils down to two things. First, we should
take any feature in qemu and let the user decide whether or not they
want to use it. I strongly feel this is a bad philosophy that will lead
to increased user confusion and a poor user experience.
Second, even though raw looses performance and requires root, since it
requires no external configuration it is easier to use and therefore
should be an option for users. I dislike this argument because it
tricks a user into thinking that raw is a viable replacement for tap.
It certainly isn't performance wise but most importantly, it isn't from
a functional perspective. I would be much more inclined to consider
taking raw and improving the performance long term if guest<->host
networking worked. This appears to be a fundamental limitation though
and I think it's something that will forever plague users if we include
this feature.
So at this point, I think it's a mistake to include raw socket support.
If the goal is to improve networking usability such that it just works
as a root user, let's incorporate a default network script that creates
a bridge or something like that. There are better ways to achieve that
goal.
Regards,
Anthony Liguori
next prev parent reply other threads:[~2009-10-14 22:53 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-09-29 23:54 Release plan for 0.12.0 Anthony Liguori
2009-09-30 0:20 ` Dustin Kirkland
2009-09-30 2:18 ` Anthony Liguori
2009-09-30 2:28 ` [Qemu-devel] " Isaku Yamahata
2009-09-30 13:03 ` Anthony Liguori
2009-09-30 13:43 ` Michael S. Tsirkin
2009-09-30 5:17 ` Amit Shah
2009-09-30 13:04 ` Anthony Liguori
2009-09-30 13:37 ` Amit Shah
2009-09-30 14:47 ` Anthony Liguori
2009-09-30 14:50 ` Amit Shah
2009-09-30 6:41 ` [Qemu-devel] " Avi Kivity
2009-09-30 13:05 ` Anthony Liguori
2009-10-01 21:13 ` Luiz Capitulino
2009-10-03 10:04 ` Avi Kivity
2009-10-05 12:43 ` Luiz Capitulino
2009-10-05 13:52 ` Avi Kivity
2009-09-30 13:31 ` Luiz Capitulino
2009-09-30 8:53 ` Michael Tokarev
2009-09-30 9:01 ` Avi Kivity
2009-09-30 9:31 ` Carl-Daniel Hailfinger
2009-09-30 13:07 ` Anthony Liguori
2009-09-30 15:59 ` Carl-Daniel Hailfinger
2009-09-30 19:25 ` Blue Swirl
2009-09-30 13:30 ` Luiz Capitulino
2009-09-30 14:45 ` Anthony Liguori
2009-09-30 15:03 ` Fred Leeflang
2009-09-30 15:26 ` [Qemu-devel] " Luiz Capitulino
2009-09-30 17:03 ` Juan Quintela
2009-09-30 19:28 ` [Qemu-devel] " Gerd Hoffmann
2009-10-03 4:28 ` TAKEDA, toshiya
2009-10-08 13:55 ` [Qemu-devel] " Jens Osterkamp
2009-10-08 14:21 ` Anthony Liguori
2009-10-14 13:09 ` [Qemu-devel] " Arnd Bergmann
2009-10-14 13:53 ` Anthony Liguori
2009-10-14 14:01 ` Michael S. Tsirkin
2009-10-14 14:04 ` Michael S. Tsirkin
2009-10-14 13:21 ` Michael S. Tsirkin
2009-10-14 14:17 ` Anthony Liguori
2009-10-14 14:24 ` Michael S. Tsirkin
2009-10-14 15:19 ` [Qemu-devel] " Jamie Lokier
2009-10-14 15:50 ` Michael S. Tsirkin
2009-10-14 21:10 ` [Qemu-devel] " Sridhar Samudrala
2009-10-14 22:53 ` Anthony Liguori [this message]
2009-10-15 6:36 ` Raw vs. tap (was: Re: [Qemu-devel] Re: Release plan for 0.12.0) Mark McLoughlin
2009-10-15 7:56 ` Raw vs. tap (was: " Michael S. Tsirkin
2009-10-15 13:32 ` Raw vs. tap Anthony Liguori
2009-10-15 15:04 ` Michael S. Tsirkin
2009-10-15 15:18 ` Anthony Liguori
2009-10-15 15:48 ` Michael S. Tsirkin
2009-10-15 18:37 ` Anthony Liguori
2009-10-15 22:08 ` Michael S. Tsirkin
2009-10-18 10:05 ` Michael S. Tsirkin
2009-10-15 7:51 ` [Qemu-devel] Re: Release plan for 0.12.0 Michael S. Tsirkin
2009-10-20 6:33 ` Takahiro Hirofuchi
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=4AD65684.3010403@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=jens@linux.vnet.ibm.com \
--cc=kvm@vger.kernel.org \
--cc=mst@redhat.com \
--cc=paul@codesourcery.com \
--cc=qemu-devel@nongnu.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;
as well as URLs for NNTP newsgroup(s).