All of lore.kernel.org
 help / color / mirror / Atom feed
* RE: [BUNDLE] Testing a simpler inter-domain transport
@ 2006-02-12 23:39 King, Steven R
  2006-02-12 23:59 ` Ronald G Minnich
                   ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: King, Steven R @ 2006-02-12 23:39 UTC (permalink / raw)
  To: Rusty Russell; +Cc: xen-devel

> Note that like a real LAN, one badly behaved partition
> can block communication for the others they share the lan with... 

Shared page LAN is much less secure than a real LAN.  Any domain
attached to the shared page, i.e. in the LAN, can modify any frame "in
flight" on the page.  Recipients have no confidence that the received
frame is actually what the sender sent.

-steve



-----Original Message-----
From: xen-devel-bounces@lists.xensource.com
[mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Rusty
Russell
Sent: Wednesday, February 08, 2006 3:05 AM
To: veillard@redhat.com
Cc: xen-devel; Tony Breeds
Subject: Re: [Xen-devel] [BUNDLE] Testing a simpler inter-domain
transport

On Wed, 2006-02-08 at 05:12 -0500, Daniel Veillard wrote:
> On Sun, Feb 05, 2006 at 02:38:51PM +1100, Rusty Russell wrote:
> > 	dom0# modprobe ohlan create
> > 	ohlan: created lan eth1 at address 0x1b6000
> > 	domU# modprobe ohlan address=0x1b6000
> > 
> > Feedback welcome!
> 
>   point to point performances looks good, but I'm starting to worry 
> about thing like group communication in a large Xen machine, assuming 
> you can run a few dozens domains consurrently, it may be useful to get

> some efficient muticast based communication mechanism, the shared 
> pages should help in some ways (usuall memory/speed tradeoff though).
Did you look at this ?

Yes, you can add other domains to the same lan:

	domU2# modprobe ohlan address=0x1b6000

Currently limited to 32 partitions for no particularly good reason.
Note that like a real LAN, one badly behaved partition can block
communication for the others they share the lan with...

Sorry for the confusion!
Rusty.
--
 ccontrol: http://ozlabs.org/~rusty/ccontrol


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 26+ messages in thread
* RE: [BUNDLE] Testing a simpler inter-domain transport
@ 2006-02-13  3:24 King, Steven R
  2006-02-13  3:47 ` Rusty Russell
  0 siblings, 1 reply; 26+ messages in thread
From: King, Steven R @ 2006-02-13  3:24 UTC (permalink / raw)
  To: Rusty Russell; +Cc: xen-devel

Sorry, quixotic as charged.  :^)  Your patch is one thing, multi-domain
shared page LAN's are another.

If multi-domain shared page LAN's become more than a proof-of-concept
for your patch, we can worry about it then.  You mention the DOS attack,
but there are other problems that have no wired-LAN analog.  From Mr.
Minnich, it sounds such a thread already ran its course.  I looked
briefly but could not find it in the xen-devel archives.

-steve

-----Original Message-----
From: xen-devel-bounces@lists.xensource.com
[mailto:xen-devel-bounces@lists.xensource.com] On Behalf Of Rusty
Russell
Sent: Sunday, February 12, 2006 6:33 PM
To: King, Steven R
Cc: xen-devel
Subject: RE: [Xen-devel] [BUNDLE] Testing a simpler inter-domain
transport

On Sun, 2006-02-12 at 15:39 -0800, King, Steven R wrote:
> > Note that like a real LAN, one badly behaved partition can block 
> > communication for the others they share the lan with...
> 
> Shared page LAN is much less secure than a real LAN.  Any domain 
> attached to the shared page, i.e. in the LAN, can modify any frame "in

> flight" on the page.  Recipients have no confidence that the received 
> frame is actually what the sender sent.

Hi Steve,

	I don't quite know how to respond to this!  Your statement is
true given some assumptions, but not relevent to my implementation,
hence the presence of your assertion in this thread is quixotic.

	In my implementation, you can't tell which domain on the LAN a
packet came from, nor do I try to prevent malicious domains on the LAN
from effectively stopping all useful traffic.  I believe that
multi-domain access is useful in some scenarious, nonetheless.

Hope that clarifies?
Rusty.
--
 ccontrol: http://ozlabs.org/~rusty/ccontrol


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 26+ messages in thread
* RE: [BUNDLE] Testing a simpler inter-domain transport
@ 2006-02-10 17:54 Magenheimer, Dan (HP Labs Fort Collins)
  0 siblings, 0 replies; 26+ messages in thread
From: Magenheimer, Dan (HP Labs Fort Collins) @ 2006-02-10 17:54 UTC (permalink / raw)
  To: Rusty Russell; +Cc: xen-devel, Hollis Blanchard

> > On ia64 and I believe also on PPC, a guest can translate
> > from virtual to (pseudo)physical but only on x86 can
> > a guest translate from virtual to machine -- at least
> > without an extra hypercall.  On all three,
> > Xen can translate from (pseudo)physical to machine but
> > only on x86 can Xen translate from virtual to
> > (pseudo)physical. 
> 
> I don't think x86 Xen can translate physical to machine, only 
> machine to
> physical.  So I think we're going to need arch-specific wrappers for
> these translations anyway, since everyone wants different things.

Ah, I see you are (mostly) correct.  The phys_to_machine_mapping
table is apparently only used on x86 by HVM and shadow mode.

> This shouldn't be too bad: if you want to take a crack at it I'd be
> happy to apply your patches, or you can wait until I finish the block
> device (probably next week).

Given the above, I think I will wait to see what you come up with.

Thanks,
Dan

^ permalink raw reply	[flat|nested] 26+ messages in thread
* RE: [BUNDLE] Testing a simpler inter-domain transport
@ 2006-02-08  1:31 Magenheimer, Dan (HP Labs Fort Collins)
  2006-02-08  2:55 ` Hollis Blanchard
  2006-02-10  3:15 ` Rusty Russell
  0 siblings, 2 replies; 26+ messages in thread
From: Magenheimer, Dan (HP Labs Fort Collins) @ 2006-02-08  1:31 UTC (permalink / raw)
  To: Rusty Russell; +Cc: xen-devel, Hollis Blanchard

 > > IIRC from the summit, domain0 and driver domains for
> > neither PPC nor ia64 will have a p2m lookup table so
> > a p2m translation will require a hypercall. So
> > while virt_to_machine is cheap for domains on x86,
> > it is not on PPC and ia64.  If HYPERVISOR_share can
> > take physical addresses instead of machine addresses
> > (with Xen doing the phys_to_machine part of the
> > translation), I think the code would work better
> > for PPC and ia64, as well as better hide the
> > virtual->physical->machine memory abstraction.
> 
> First person to implement this on a different arch wins.  I'm 
> currently
> sewing in feedback and cleanups from Hollis for PPC requirements.
> 
> Now, I think that the virt_to_machine is fugly too.  I'd 
> prefer to keep
> all archs the same though.  Ideally, the hypercall would pass virtual
> addresses and the hypervisor would figure out the machine address.  If
> you want to figure out how to do that on x86, I'll gladly use it...

On ia64 and I believe also on PPC, a guest can translate
from virtual to (pseudo)physical but only on x86 can
a guest translate from virtual to machine -- at least
without an extra hypercall.  On all three,
Xen can translate from (pseudo)physical to machine but
only on x86 can Xen translate from virtual to
(pseudo)physical. 

So it seems to me that if you "prefer to keep all archs the
same", the proper way to pass the parameters are as
(pseudo)physical addresses: the guest translates the
virtual address to a (pseudo)physical address and
Xen translates from the (pseudo)physical address to
the machine address and everybody is happy.

Hollis, is this correct for PPC?

Thanks,
Dan

^ permalink raw reply	[flat|nested] 26+ messages in thread
* RE: [BUNDLE] Testing a simpler inter-domain transport
@ 2006-02-06 21:38 Magenheimer, Dan (HP Labs Fort Collins)
  0 siblings, 0 replies; 26+ messages in thread
From: Magenheimer, Dan (HP Labs Fort Collins) @ 2006-02-06 21:38 UTC (permalink / raw)
  To: Yang, Fred, xen-devel; +Cc: Rusty Russell, xen-ia64-devel

Hi Fred --

My recollection is that we agreed (with the IBM PPC guys also)
that dom0 should use virtual-physical (VP), except for DMA
which would be forced to use a software IOMMU.

Note that Rusty's idt code replaces the existing VBD/VNIF
and grant table mechanism, so it would be nice to ensure
it is more portable before it becomes part of the Xen core.

Dan

> -----Original Message-----
> From: Yang, Fred [mailto:fred.yang@intel.com] 
> Sent: Monday, February 06, 2006 1:48 PM
> To: Magenheimer, Dan (HP Labs Fort Collins); 
> xen-devel@lists.xensource.com
> Cc: Rusty Russell; xen-ia64-devel
> Subject: RE: [Xen-devel] [BUNDLE] Testing a simpler 
> inter-domain transport
> 
> Dan,
> 
> From Xen summit, isn't it to be more P2M liked approach due to
> consideration on driver domain and domain0 needs to get P2M for
> VBD/VNIF?   
> 
> Don't remember there is decision on taking Hypercall only approach and
> dropped P2M table lookup.  Any justification here?
> 
> -Fred
> 
> Magenheimer, Dan (HP Labs Fort Collins) wrote:
> > (I'm sure you meant PPC *and* ia64 ;*)
> > 
> > On just a quick skim, one thing to note:
> > 
> > IIRC from the summit, domain0 and driver domains for
> > neither PPC nor ia64 will have a p2m lookup table so
> > a p2m translation will require a hypercall. So
> > while virt_to_machine is cheap for domains on x86,
> > it is not on PPC and ia64.  If HYPERVISOR_share can
> > take physical addresses instead of machine addresses
> > (with Xen doing the phys_to_machine part of the
> > translation), I think the code would work better
> > for PPC and ia64, as well as better hide the
> > virtual->physical->machine memory abstraction.
> > 
> > Dan
> > 
> > 
> > _______________________________________________
> > Xen-devel mailing list
> > Xen-devel@lists.xensource.com
> > http://lists.xensource.com/xen-devel
> 
> 

^ permalink raw reply	[flat|nested] 26+ messages in thread
* RE: [BUNDLE] Testing a simpler inter-domain transport
@ 2006-02-06 20:48 Yang, Fred
  0 siblings, 0 replies; 26+ messages in thread
From: Yang, Fred @ 2006-02-06 20:48 UTC (permalink / raw)
  To: Magenheimer, Dan (HP Labs Fort Collins), xen-devel
  Cc: Rusty Russell, xen-ia64-devel

Dan,

>From Xen summit, isn't it to be more P2M liked approach due to
consideration on driver domain and domain0 needs to get P2M for
VBD/VNIF?   

Don't remember there is decision on taking Hypercall only approach and
dropped P2M table lookup.  Any justification here?

-Fred

Magenheimer, Dan (HP Labs Fort Collins) wrote:
> (I'm sure you meant PPC *and* ia64 ;*)
> 
> On just a quick skim, one thing to note:
> 
> IIRC from the summit, domain0 and driver domains for
> neither PPC nor ia64 will have a p2m lookup table so
> a p2m translation will require a hypercall. So
> while virt_to_machine is cheap for domains on x86,
> it is not on PPC and ia64.  If HYPERVISOR_share can
> take physical addresses instead of machine addresses
> (with Xen doing the phys_to_machine part of the
> translation), I think the code would work better
> for PPC and ia64, as well as better hide the
> virtual->physical->machine memory abstraction.
> 
> Dan
> 
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xensource.com
> http://lists.xensource.com/xen-devel

^ permalink raw reply	[flat|nested] 26+ messages in thread
* Re: [BUNDLE] Testing a simpler inter-domain transport
@ 2006-02-06 20:01 Magenheimer, Dan (HP Labs Fort Collins)
  2006-02-07  0:10 ` Rusty Russell
  0 siblings, 1 reply; 26+ messages in thread
From: Magenheimer, Dan (HP Labs Fort Collins) @ 2006-02-06 20:01 UTC (permalink / raw)
  To: xen-devel; +Cc: Rusty Russell

> Thanks, just fiddling.  It'll be interesting to see what 
> changes the PPC
> guys will need for this.
> 
> Cheers!
> Rusty.

(I'm sure you meant PPC *and* ia64 ;*)

On just a quick skim, one thing to note:

IIRC from the summit, domain0 and driver domains for
neither PPC nor ia64 will have a p2m lookup table so
a p2m translation will require a hypercall. So
while virt_to_machine is cheap for domains on x86,
it is not on PPC and ia64.  If HYPERVISOR_share can
take physical addresses instead of machine addresses
(with Xen doing the phys_to_machine part of the
translation), I think the code would work better
for PPC and ia64, as well as better hide the
virtual->physical->machine memory abstraction.

Dan

^ permalink raw reply	[flat|nested] 26+ messages in thread
* [BUNDLE] Testing a simpler inter-domain transport
@ 2006-02-05  3:38 Rusty Russell
  2006-02-05 10:26 ` NAHieu
                   ` (2 more replies)
  0 siblings, 3 replies; 26+ messages in thread
From: Rusty Russell @ 2006-02-05  3:38 UTC (permalink / raw)
  To: xen-devel; +Cc: Tony Breeds

Hi all,

	I've finally found time to resurrect my "share" code, update it for Xen
3.0 and (with Tony Breeds' help) created a simple LAN driver.  You can
find the bundle here:

	http://ozlabs.org/~rusty/xen/xen-share-2006-02-05.hg

It's unoptimized, but shows some promise.  Here are the benchmarks for
tcpblast and tbench, on a uniproc 3GHz Pentium 4.  I'd appreciate SMP
numbers if someone has hardware on hand:

	UDP blast: tcpblast -u -s50000 dom0 9999
	  Current Xen = 254961 KB/s
	  Simple share = 233952 KB/s
	TCP blast: tcpblast -t -s50000 dom0 9999
	  Current Xen = 86566.4 KB/s
	  Simple share = 135415 KB/s
	Bidir tcp load: tbench 10
	  Current Xen = 31.9551 MB/sec
	  Simple share = 64.2113 MB/sec

It's not plumbed into xenbus, so creating LANs is a manual process,
using the dmesg output from the initial creation:

	dom0# modprobe ohlan create
	ohlan: created lan eth1 at address 0x1b6000
	domU# modprobe ohlan address=0x1b6000

Feedback welcome!
Rusty.
-- 
 ccontrol: http://ozlabs.org/~rusty/ccontrol

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2006-02-13  9:38 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-12 23:39 [BUNDLE] Testing a simpler inter-domain transport King, Steven R
2006-02-12 23:59 ` Ronald G Minnich
2006-02-13  2:32 ` Rusty Russell
2006-02-13  9:38 ` Daniel Veillard
  -- strict thread matches above, loose matches on Subject: below --
2006-02-13  3:24 King, Steven R
2006-02-13  3:47 ` Rusty Russell
2006-02-10 17:54 Magenheimer, Dan (HP Labs Fort Collins)
2006-02-08  1:31 Magenheimer, Dan (HP Labs Fort Collins)
2006-02-08  2:55 ` Hollis Blanchard
2006-02-10  3:15 ` Rusty Russell
2006-02-06 21:38 Magenheimer, Dan (HP Labs Fort Collins)
2006-02-06 20:48 Yang, Fred
2006-02-06 20:01 Magenheimer, Dan (HP Labs Fort Collins)
2006-02-07  0:10 ` Rusty Russell
2006-02-05  3:38 Rusty Russell
2006-02-05 10:26 ` NAHieu
2006-02-05 11:13   ` Rusty Russell
2006-02-05 16:56 ` Anthony Liguori
2006-02-06  4:40   ` Rusty Russell
2006-02-08 10:12 ` Daniel Veillard
2006-02-08 10:23   ` Rusty Russell
2006-02-08 10:34     ` Muli Ben-Yehuda
2006-02-08 10:46       ` Daniel Veillard
2006-02-08 10:54         ` Muli Ben-Yehuda
2006-02-08 17:49     ` Matt Mackall
2006-02-08 11:04   ` Rusty Russell

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.