public inbox for kvm@vger.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Asias He <asias.hejun@gmail.com>
Cc: Pekka Enberg <penberg@cs.helsinki.fi>,
	Cyrill Gorcunov <gorcunov@gmail.com>,
	kvm@vger.kernel.org
Subject: [transparent networking] Re: [PATCH] kvm tools: Implement virtio network device
Date: Wed, 13 Apr 2011 15:02:42 +0200	[thread overview]
Message-ID: <20110413130242.GB24287@elte.hu> (raw)
In-Reply-To: <4DA59068.9060707@gmail.com>


* Asias He <asias.hejun@gmail.com> wrote:

> >> Here are some scp performance test for differenct implementations:
> >> None of rx and tx as thread:
> >> guest to host 3.2MB/s
> >> host  to guest 3.1MB/s
> >>
> >> Only rx as thread:
> >> guest to host  14.7MB/s
> >> host  to guest 33.4MB/s
> >>
> >> Both rx and tx as thread(This patch works this way):
> >> guest to host  19.8MB/s
> >> host  to guest 32.5MB/s
> >>
> >> Signed-off-by: Asias He<asias.hejun@gmail.com>
> > 
> > This is already in master. Thanks!
> > 
> 
> Ingo suggested to CC the updated version of this patch to kvm list. So I
> am posting this patch again.

Thanks Asias, cool stuff.

Maybe other KVM developers want to chime in about how to best implement 
transparent (non-TAP-using) guest-side networking.

The best approach would be to not go down as low as the IP/Ethernet packeting 
level (it's unnecessary protocol overhead), but to implement some sort of 
streaming, virtio based TCP connection proxying support.

Strictly talking the guest does not need ICMP packets to have working Internet 
connectivity - only passing/tunneling through TCP sockets would be enough. The 
following highlevel ops are needed:

 - connect/shutdown/close
 - send/receive
 - poll

And would be passed through to the host side and mirrored there into real 
connect/shutdown TCP socket ops and into send/receive ops.

The guest OS does not need to be 'aware' of this in any way, as long as the 
bzImage has this magic guest tunneling support included.

Obviously, such a highlevel approach would be much faster as well than any 
packet level virtual networking approach.

Does something like this exist upstream, or do we have to implement it?

Thanks,

	Ingo

  reply	other threads:[~2011-04-13 13:02 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-04-13 11:48 [PATCH] kvm tools: Implement virtio network device Asias He
2011-04-13 11:51 ` Pekka Enberg
2011-04-13 12:00   ` Asias He
2011-04-13 13:02     ` Ingo Molnar [this message]
2011-04-13 13:33       ` [transparent networking] " Avi Kivity
2011-04-13 13:38         ` Avi Kivity
2011-04-13 13:39         ` Asias He
2011-04-13 16:21       ` Stefan Hajnoczi

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=20110413130242.GB24287@elte.hu \
    --to=mingo@elte.hu \
    --cc=asias.hejun@gmail.com \
    --cc=gorcunov@gmail.com \
    --cc=kvm@vger.kernel.org \
    --cc=penberg@cs.helsinki.fi \
    /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