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] Xend vnet support to be removed

To: Ewan Mellor <ewan@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Xend vnet support to be removed
From: Mike Wray <mike.wray@xxxxxx>
Date: Mon, 12 Dec 2005 13:48:20 +0000
Cc: Xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>
Delivery-date: Mon, 12 Dec 2005 14:08:12 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20051212101737.GA4094@xxxxxxxxxxxxxxxxxxxxxx>
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: <20051209161009.GI9336@xxxxxxxxxxxxxxxxxxxxxx> <439D388C.3030404@xxxxxx> <20051212101737.GA4094@xxxxxxxxxxxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla Thunderbird 1.0.6 (X11/20050716)
Ewan Mellor wrote:
On Mon, Dec 12, 2005 at 08:45:00AM +0000, Mike Wray wrote:


Ewan Mellor wrote:

Unless someone speaks up, Xend vnet support will be removed.  It is broken,
unused, and unloved (as far as I know).  This is the xm vnet-list,
vnet-create, and vnet-delete commands, as well as all the Xend support behind
that (XendVnet.py, SrvVnetDir.py, plus plumbing in xm/main.py and
XendClient.py).

Cheers,

Ewan.

As the developer of the vnet count I'm speaking up for this code.
As far as I am aware it is neither broken nor unused, and I
have recently submitted patches to this list updating the code.
The code is in active development and I will be continuing to maintain it.
So please don't remove it.


That's fine.  It seems like there are a number of people using it or wishing
to, so it will stay in place.

I asked because there was recently an effort to bring the documentation up to
date, by various members of the Xen community, and yet the documentation for
Xen 3.0 went out with no mention of the vnet support, because no-one seemed to
know how to use it properly.

Perhaps you could write a few lines for us to go into the user documentation?
A number of people have said that that the vnet support is useful, so it would
be good if we could get it documented, and spread the news!

BTW, you don't have any patches unapplied and outstanding, do you?  If so,
then now would be a good time to resend them, because they've been missed if
so!

Thanks,

Ewan.

I think all the patches I've sent so far have been applied - I've got
some more changes I'm working on, but they're not quite ready to post
yet.

There's some brief documentation below (extracted from the doc directory in the
vnet source).  What format would you prefer for more extensive documentation?

0) Introduction
---------------

Vnets provide virtual private LANs for virtual machines.
This is done using bridging and multipoint tunneling. A virtual interface
on a vnet can only see other interfaces on the same vnet - it cannot
see the real network, and the real network cannot see it either.

Virtual interfaces on the same vnet can be on the same machine
or on different machines, they can still talk. The hosting machines
can even be on different subnets if you run vnetd to forward,
or have multicast routing enabled.


1) Installing vnet support
--------------------------

Assuming the code has been installed (make install in the parent directory),
configure xend to use 'network-vnet' instead of the default 'network' to
start up networking. This just loads the vnet module when networking starts.

In /etc/xend/xend-config.sxp:

Configure the network script:

(network-script        network-vnet)

Restart xend.

Alternatively insert the vnet module using vnet-insert,
preferably before xend starts.

2) Creating vnets
-----------------

Xend already implements commands to add/remove vnets and
bridge to them. To add a vnet use

xm vnet-create <vnet config file>

For example, if vnet97.sxp contains:

(vnet (id 97) (bridge vnet97) (vnetif vnif97) (security none))

do

xm vnet-create vnet97.sxp

This will define a vnet with id 97 and no security. The bridge for the
vnet is called vnet97 and the virtual interface for it is vnif97.
To add an interface on a vm to this vnet simply set its bridge to vnet97
in its configuration.

In Python:

vif="bridge=vnet97"

In sxp:

(dev (vif (mac aa:00:00:01:02:03) (bridge vnet97)))

At the moment you will also have to reduce the MTU of the corresponding
device in the domain (because of the tunneling). For example, for eth0 use

ifconfig eth0 mtu 1400

or, better, put

MTU=1400

in /etc/sysconfig/network-scripts/ifcfg-eth0. You may also have to change or 
remove
cached config files for eth0 under /etc/sysconfig/networking.

Once configured, vnets are persistent in the xend database.
To remove a vnet use

xm vnet-delete <vnet id>

To list vnets use

xm vnet-list

To get information on one or more vnet ids use

xm vnet-list <vnet id>...

3) Troubleshooting
------------------

The vnet module should appear in 'lsmod'.
If a vnet has been configured it should appear in the output of 'xm vnet-list'.
Its bridge and interface should appear in 'ifconfig'.
It should also show in 'brctl show', with its attached interfaces.

You can 'see into' a vnet from dom0 if you put an IP address on the bridge.
For example, if you have vnet97 with a vm with ip addr 10.0.0.12 on it,
then

ifconfig vnet97 10.0.0.20 up

should let you ping 10.0.0.12 via the vnet97 bridge.


Mike


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