mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
This is Kurt Garloff's reworked network-bridge script:
* we got rid of ifconfig
* it works for netdev != eth0
* arp on and off are symmetric as are ifdown and ifup
* ifup will be passed the ifcfg config file name if needed
(the ifup may otherwise figure that the veth0 hardware is
NOT the same as the original ${netdev} and not use the same
config -- this happens on SUSE. Charles Coffing tracked this
one down.)
Plus Kurt's avoid-dash patch:
the network setup scripts on SUSE have trouble with the bridge
name xen-br0; they don't expect the '-'.
Arguably this should be fixed.
But I assume there's more scripts out there which may not like it,
so I suggest the following patch to rename xen-br0 to xenbr0.
Plus Charles Duffy's patch to support multiple bridges:
The attached patch allows the network-bridge script to be used to
generate multiple bridges corresponding to different physical
interfaces. It adds a new parameter, "vifnum", used to refer both to
the loopback interface to be used and to set defaults regarding the
physical interface and bridge name.
Thus, if one wishes to start xenbr0 on eth0 and xenbr1 on eth1, one
need only call:
network-bridge start ## vifnum is 0 by default
network-bridge start vifnum=1
...well, that and set loopback.nloopbacks=2 in the Dom0 kernel
parameters.
Plus renaming of virtnum to vifnum in Charles' patch, as requested by Ian Pratt.
Plus a fix to DevController to allocate vif IDs starting from 0 (i.e. vif2.0
is now domain 2's first vif, as opposed to vif2.1 in the recent past).
Plus tidying up inside network-bridge using some helper variables.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
131 lines
4.7 KiB
Python
131 lines
4.7 KiB
Python
# -*- mode: python; -*-
|
|
#============================================================================
|
|
# Python configuration setup for 'xm create'.
|
|
# This script sets the parameters used when a domain is created using 'xm create'.
|
|
# You use a separate script for each domain you want to create, or
|
|
# you can set the parameters for the domain on the xm command line.
|
|
#============================================================================
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Kernel image file.
|
|
kernel = "/boot/vmlinuz-2.6.10-xenU"
|
|
|
|
# Optional ramdisk.
|
|
#ramdisk = "/boot/initrd.gz"
|
|
|
|
# The domain build function. Default is 'linux'.
|
|
#builder='linux'
|
|
|
|
# Initial memory allocation (in megabytes) for the new domain.
|
|
memory = 64
|
|
|
|
# A name for your domain. All domains must have different names.
|
|
name = "ExampleDomain"
|
|
|
|
# Which CPU to start domain on?
|
|
#cpu = -1 # leave to Xen to pick
|
|
|
|
# Number of Virtual CPUS to use, default is 1
|
|
#vcpus = 1
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Define network interfaces.
|
|
|
|
# Number of network interfaces. Default is 1.
|
|
#nics=1
|
|
|
|
# Optionally define mac and/or bridge for the network interfaces.
|
|
# Random MACs are assigned if not given.
|
|
#vif = [ 'mac=aa:00:00:00:00:11, bridge=xenbr0' ]
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Define the disk devices you want the domain to have access to, and
|
|
# what you want them accessible as.
|
|
# Each disk entry is of the form phy:UNAME,DEV,MODE
|
|
# where UNAME is the device, DEV is the device name the domain will see,
|
|
# and MODE is r for read-only, w for read-write.
|
|
|
|
disk = [ 'phy:hda1,hda1,w' ]
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Define to which TPM instance the user domain should communicate.
|
|
# The vtpm entry is of the form 'instance=INSTANCE,backend=DOM'
|
|
# where INSTANCE indicates the instance number of the TPM the VM
|
|
# should be talking to and DOM provides the domain where the backend
|
|
# is located.
|
|
# Note that no two virtual machines should try to connect to the same
|
|
# TPM instance. The handling of all TPM instances does require
|
|
# some management effort in so far that VM configration files (and thus
|
|
# a VM) should be associated with a TPM instance throughout the lifetime
|
|
# of the VM / VM configuration file. The instance number must be
|
|
# greater or equal to 1.
|
|
#vtpm = [ 'instance=1,backend=0' ]
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Set the kernel command line for the new domain.
|
|
# You only need to define the IP parameters and hostname if the domain's
|
|
# IP config doesn't, e.g. in ifcfg-eth0 or via DHCP.
|
|
# You can use 'extra' to set the runlevel and custom environment
|
|
# variables used by custom rc scripts (e.g. VMID=, usr= ).
|
|
|
|
# Set if you want dhcp to allocate the IP address.
|
|
#dhcp="dhcp"
|
|
# Set netmask.
|
|
#netmask=
|
|
# Set default gateway.
|
|
#gateway=
|
|
# Set the hostname.
|
|
#hostname= "vm%d" % vmid
|
|
|
|
# Set root device.
|
|
root = "/dev/hda1 ro"
|
|
|
|
# Root device for nfs.
|
|
#root = "/dev/nfs"
|
|
# The nfs server.
|
|
#nfs_server = '169.254.1.0'
|
|
# Root directory on the nfs server.
|
|
#nfs_root = '/full/path/to/root/directory'
|
|
|
|
# Sets runlevel 4.
|
|
extra = "4"
|
|
|
|
#----------------------------------------------------------------------------
|
|
# Configure the behaviour when a domain exits. There are three 'reasons'
|
|
# for a domain to stop: poweroff, reboot, and crash. For each of these you
|
|
# may specify:
|
|
#
|
|
# "destroy", meaning that the domain is cleaned up as normal;
|
|
# "restart", meaning that a new domain is started in place of the old
|
|
# one;
|
|
# "preserve", meaning that no clean-up is done until the domain is
|
|
# manually destroyed (using xm destroy, for example); or
|
|
# "rename-restart", meaning that the old domain is not cleaned up, but is
|
|
# renamed and a new domain started in its place.
|
|
#
|
|
# The default is
|
|
#
|
|
# on_poweroff = 'destroy'
|
|
# on_reboot = 'restart'
|
|
# on_crash = 'restart'
|
|
#
|
|
# For backwards compatibility we also support the deprecated option restart
|
|
#
|
|
# restart = 'onreboot' means on_poweroff = 'destroy'
|
|
# on_reboot = 'restart'
|
|
# on_crash = 'destroy'
|
|
#
|
|
# restart = 'always' means on_poweroff = 'restart'
|
|
# on_reboot = 'restart'
|
|
# on_crash = 'restart'
|
|
#
|
|
# restart = 'never' means on_poweroff = 'destroy'
|
|
# on_reboot = 'destroy'
|
|
# on_crash = 'destroy'
|
|
|
|
#on_poweroff = 'destroy'
|
|
#on_reboot = 'restart'
|
|
#on_crash = 'restart'
|
|
|
|
#============================================================================
|