WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] XenLoop - Inter-VM Network Loopback

To: "Daniel Stodden" <stodden@xxxxxxxxxx>
Subject: Re: [Xen-devel] XenLoop - Inter-VM Network Loopback
From: "Kartik Gopalan" <kartik@xxxxxxxxxxxxxxxxx>
Date: Tue, 12 Feb 2008 21:14:16 -0500
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Tue, 12 Feb 2008 18:14:39 -0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; bh=eiQv+2AC+4sHikjvLhVnvQpi17uwx/sGnXwNgXxY3xA=; b=fvqbpJ+kwk6oIJnInVK0/TfeUXOs6jR+rjK+UBqOq6wAGXQgfE8trkNHpNQfYLmDyPJBvgx5yfTbgw4YsbMlMXDW/NGqADf7nxrSGTAXm2BmUbLRIecBpzL2rHBByqFPWYTCKK6Zl/EpNgDLIuEQE8uFrdZLAaHpiqBMiT92zEw=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=kZeHynooRBknYRJsZbrZ+9NiOQTmmzyccr0jO8hDnQrbzCuxlrKEdBOFK62Pzuei33nn+siW2h8iOmj9AwAwoifvwMJU0sXKQleO+6ZKGaHzv0qQjz3wVxWdctiVjAPkpFLt/SX/Nse51g+a+yJDCsc5AWBSypwR6W3Rv8N1jvk=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <1202812433.8141.58.camel@xxxxxxxxxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <bccdd85d0802091807n624345ecpc71b207f07dcabf8@xxxxxxxxxxxxxx> <1202672478.2916.6.camel@xxxxxxxxxxxxxxxxxxxx> <bccdd85d0802111851q20eadf87u19f41c1de6fdc5b@xxxxxxxxxxxxxx> <1202812433.8141.58.camel@xxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
> 1. Netfilter setup: You're hooking into the output chain, just before
> the packet is passed to the guest eth0? Did I get this right, or
> something more esoteric? I'm asking because I'm definitely no netfilter
> guru.

Yes, basically call nf_register_hook on NF_IP_POST_ROUTING

> 2. Periodic scanning of XenStore entries: Why not callbacks?

One could...we just happened to implement it as a simple thread
to poll all active domains periodically in one thread and send out
announcements. This was not in the critical path.

> 3. Announcement messages: This is a layer 3 (IP) packet? I'd rather
> expected an ethertype.

No, its a layer 3 XenLoop-type packet, not IP -- the new protocol type
for exchanging control messages is registered at the same level as IP.

> 4. Personally (this is dicussible) I don't like the XenStore/Message
> *mixture* the directory is maintained with. I agree that due to the fact
> that guests are limited to their private subtrees, maintenance of a
> common directory is non-obvious but this is a defect in XenStore if the
> directory should be there. XenStore is obvious, messages dissemination
> as well. A dedicated resolution protocol (i.e. a domain-arp) appears
> cleaner to me. I suppose there are issues in getting this to work
> cleanly during migration (i.e. the need for invalidation messages before
> leaving the host), or why did you choose this design?

I am not sure, I understood the question clearly, but I'll try. XenStore is
used here mainly for 3 things:
- For a guest to advertise its intent to participate in XenLoop to Domain 0
- For Domain 0 to read the guest's intent and announce it to other
interested guests
- For catching pre/post migration notices
This seems to work reasonably efficiently for now. One reason to have Domain0
participate in guest discovery  is the limitation that one guest
cannot read another's
XenStore entries directly (with good reason) to discover co-resident
guests. There also
doesn't seem to be any notion yet of a machine-local broadcast message
(which may
have other drawbacks) or even a machine-local multicast group. As for
domain-arp,
there's the question of do we really want any random guest to be able
to discover any
other guest on the same machine? Using XenStore, with Domain 0 as
arbiter, provides
some level of control over who gets to see whom. As for why we
designed it this way,
because it happens to work cleanly...we tried initially to just
broadcast messages from
each guest, but didn't know how to contain the broadcasts to be machine-local.

> Still not through, therefore likely more to come.

Certainly. Thanks for the comments.

- Kartik

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

<Prev in Thread] Current Thread [Next in Thread>