hotplug ones. Added evalVariables and findCommand functions to that, which we
use to clarify the handling of variables being passed in as command line
variables.
Make vif-bridge able to find the bridge for itself if only one bridge is in
use. This means that it is not necessary to specify a bridge in many
configurations. Allow the bridge to be specified on the command line, meaning
that a default may be provided in the xend-config.sxp if desired.
Added xenstore_read_default to xen-hotplug-common.sh, which reads from the
store but uses a given default if the path in the store is not present. This
is used by vif-bridge to allow the store details (i.e. those given to xm create)
to override the default value given in the xend-config.sxp.
Remove vif-bridge setting -- the value can be specified on the vif-script
command line if necessary.
Added examples for network-nat/vif-nat.
Added lots of big comments.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
rather than -a. The former shortcuts at the script level, whereas the latter
does not, which means that the backtick-enclosed arguments are evaluated
regardless of the success of preceding tests.
Tidy the aforementioned test into a function of its own.
Add an implementation of usleep for those systems that only have sleep (Debian,
for example).
Signed-off-by: Ewan Mellor <ewan@xensource.com>
It now allows the user to configure what he wants to be done on
xendomains stop: sysrq, migrate, save, or shutdown.
For this to be safe, a timeout has been introduced (optional).
On start, saved domains may be restored, and not yet started
domains from the auto start dir will be started in addition.
status reports missing domains, restart and reload work as well.
The init script is somewhat SUSE-ish, but it should work on LSB
compliant and on RH based distros as well.
I would appreciate this to be put into tools/examples/init.d/
Signed-off-by: Kurt Garloff <garloff@suse.de>
For domain migration, unless you use a rootless setup, you need
to have network storage available. For the poor people like me that
have no SAN, one easy possibility to have it is to use nbd.
Find attached the block-nbd script (in /etc/xen/scripts/) and
an example config file. The block-nbd script is based on the -enbd one.
They have been used successfully in the Xen Tutorial at Linux Kongress.
Signed-off-by: Kurt Garloff <garloff@suse.de>
this aren't beautiful, but this gets the distro-specific code out of the body
of the network-bridge script and into a common place, while still preserving
the existing code behaviour.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
/local/domain/0/backend/<devclass>/<dom>/<devid>/error, write them instead to
/local/domain/0/error/backend/<yada>. This is not the best place for them
perhaps, but it moves them out of the backend directory, on which the drivers
have a watch. This fixes the problem whereby writing an error will trigger a
watch, causing the error message to be written again, and repeat. Fixes bug
#286.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
code into vif-common.sh.
Fix the antispoofing in network-bridge to allow forwarding from physical
device to bridge, and vif0.0 to eth0.
Change the interface between netback driver and vif hotplugging scripts. The
mac address and bridge details are read from the store directly by the script,
so that the kernel driver does not need to get involved.
Remove an awful lot of cruft from vif-bridge. Move the iptables handling into
vif-common.sh, and fix it so that the new vif can get past the antispoofing
entries. Merge vif-nat and vif-route into this structure too.
Use ip instead of ifconfig to get necessary details.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
hotplugging stuff was introduced (block-*, console-port-base, console-address)
and introducing entries for options that have been present for ages
(xend-{http,unix,relocation}-server, xend-unix-path, xend-relocation-address,
enable-dump). Remove vif-antispoof, as Vifctl no longer passes this option
down.
Made the xend-relocation-server default to no, as this is a potential security
hole and so must be turned on explicitly.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
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>
- make xen-hotplug-common.sh (un)set locales.
- use xen-hotplug-common.sh in vif-bridge.
From Gerd Knorr <kraxel@suse.de>.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
install', the udev rules will be installed if udev version is >= 059;
otherwise, the hotplug rules get installed.
When 'make dist' is done, we set a variable so that both hotplug and
udev rules are installed into the dist tarball. install.sh then takes
care of picking the proper rules.
Also changes the hotplug check to look for a proper udev version
Signed-off-by: Jeremy Katz <katzj@redhat.com>
the which in the if with a combination of ! and || after the set -e but I think
it's cleaner to just do it before the set -e.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
exist which means that changes can easily not get updated. This makes
it so the scripts always get installed.
Signed-off-by: Jeremy Katz <katzj@redhat.com>
they actually take effect. Added behaviour "rename-restart" for debugging
purposes, that renames the domain out of the way, preserving it for debugging,
but starts a new domain too.
Add explicit remove of old domain paths when creating a new domain, to avoid
stale information affecting us (by shutting the domain down, for example).
Signed-off-by: Ewan Mellor <ewan@xensource.com>
Directly modifying the sysfs entries causes the xenstore state of
a cpu's availability to be incorrect. Also slightly modify the
dom0-cpus description in the xend-config. Rather than specifying which
dom0 vcpus are to be used, it is now a target of how many vcpus to use
as pinvcpu ops are the preferred method for setting which physical cpu a
vcpu uses.
Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
system, I often invoked 'network-bridge stop' with total failure. Attached
is an updated version that works.
Signed-off-by: Andrew Theurer <habanero@us.ibm.com>
and belong in /usr/lib always (never /usr/lib64). qemu-dm
continues to live under /usr/lib64 on 64-bit systems.
Modify the vmx config script to auto-detect correct path
to qemu-dm, rather than staically configuring at compile
time.
Signed-off-by: Keir Fraser <keir@xensource.com>
Fixes file: devices since unbind now runs after the backend driver
closes the loopback device.
Also moves name -> node translation into the backend domain.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>