Commit Graph
328 Commits
Author SHA1 Message Date
kaf24@firebug.cl.cam.ac.uk 29c3bf78b9 Rename VMX option name lapic to apic, and pass it to xen by
hvm_info_table.  Previous we pass it to xen by guest vcpu context ECX
register, now we unify to use hvm_info_table.

Signed-off-by: Xin Li <xin.b.li@intel.com>
2006-01-03 14:35:45 +01:00
kaf24@firebug.cl.cam.ac.uk cfa0fac2c2 Provide an option to disable ACPI from the VMX config file.
By default ACPI is disabled.

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2006-01-01 11:29:17 +01:00
kaf24@firebug.cl.cam.ac.uk 4cbd6b3272 Add sound blaster support to VMX device model.
Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
2005-12-20 12:55:19 +01:00
nivedita@hex b212532248 Xend http access turned off by default.
Signed-off-by: Nivedita Singhvi (niv@us.ibm.com)
2005-12-16 11:46:58 +00:00
emellor@leeni.uk.xensource.com 933f5440b4 Added mkdir -p $XENDOMAINS_SAVE, to ensure that the directory exists before
trying to save into it.
 
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-14 11:56:25 +00:00
emellor@leeni.uk.xensource.com 464379d285 Resurrect vifname xm create vif option support. This was present in earlier
versions of Xen, and allows one to name a vif when it is created.  This is
useful for integration with IP accounting packages, for example.

Closes bug #439.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-13 18:06:03 +00:00
emellor@leeni.uk.xensource.com a9b9f0585c Merged. 2005-12-13 10:57:18 +00:00
Xiaofeng Ling e697c7e8ef change the NIC configuration accordingly after remove "nics=n"
otherwise, nics=-1 will be passed to device model and cause device
model exiting.

Signed-off-by: Xiaofeng Ling <xiaofeng.ling@intel.com>
2005-12-13 10:57:04 +00:00
emellor@leeni.uk.xensource.com bc8ed50e6c Deprecate the nics option from the xm create configuration. Instead, we use the
entries in vif to guide the configuration.  This is much less confusing.

Closes bug #440.

Change the example configuration files to match.  Also change them to use the
XenSource OUI in the MAC addresses.  Also change xm-test to match.

Remove the obsolete ipaddr configuration entry, and the backend_mac vif config
option.

Remove the preprocess_vifs function, folding it into the configure_vifs
function, and creating a simple comma_sep_kv_to_dict helper.

Remove the configure_vfr method, as it is unused.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-13 00:15:53 +00:00
emellor@leeni.uk.xensource.com 17d0f5bf16 Read the domid and vifid from the store, rather than horribly slicing up the
store path.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-12 17:13:38 +00:00
emellor@leeni.uk.xensource.com 742b21299e Added xend-relocation-hosts-allow option.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-12 16:48:24 +00:00
emellor@leeni.uk.xensource.com 151c1bdf9c Squelch error message from iptables (we log this later if necessary).
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-12 16:44:27 +00:00
emellor@leeni.uk.xensource.com 56233085ef Remove unused netmask,network etc. These were used when we called ifconfig to
set up the networking, but now that we use ip directly, we don't need them, and
they were in any case broken when the ip address was specified without a suffix.

This work is by James Dykman <dykman@us.ibm.com>.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-12 11:15:29 +00:00
emellor@leeni.uk.xensource.com 3732520993 Use new do_without_error function to squelch the error when closing down the
interface.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-09 10:51:20 +00:00
emellor@leeni.uk.xensource.com c9392b836d Use new do_without_error function to squelch the errors when closing down an
interface.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-09 10:50:49 +00:00
emellor@leeni.uk.xensource.com c542b41feb Added do_without_error function, and squelch the error from mkdir when trying
to create the lock directory.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-09 10:50:26 +00:00
emellor@leeni.uk.xensource.com 72bb6de0e0 Flush the addresses from the new eth0 before trying to add the new address to
it, when using ip on the kernel command line and not using the installed ifup /
ifdown.  This stops the script bailing out if there is already an address
attached to that device, which was leaving the device without routing (since
this has already been removed).

Fix the stop action under the same circumstances.  No attempt was made to
restore the kernel command line details to the interfaces if the ifdown failed
in that case.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-08 16:11:48 +00:00
emellor@leeni.uk.xensource.com 458dbeddf3 Fix ip_of to cope with interfaces with multiple addresses, courtesy of
Adam Heath <doogie@brainfood.com>.
 
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-08 15:54:35 +00:00
emellor@leeni.uk.xensource.com 4213a82e5b Use xm create's --dryrun option to get the name from the configuration file,
rather than the eversoskanky approach taken previously (use grep, and replace
any occurrences of %d with [0-9]* !)

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-07 16:25:13 +00:00
emellor@leeni.uk.xensource.com a16c06e77e Fix usleep definition -- we would be sleeping 1000 times too long if the usleep
command were not available elsewhere on the machine (on my Debian boxes, for
example).

Sleep for a configurable amount of time between xm create calls (by default,
5 seconds).  This spaces out the booting of the new domains, meaning that they
should not thrash the disk so much.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-07 15:41:41 +00:00
emellor@leeni.uk.xensource.com 11d655cef6 Tidy up use of environment variables in xenbus-hotplug interaction.
I've changed this to only write "backend" (xenbus_backend.root) into
XENBUS_BASE_PATH.  After appending XENBUS_TYPE (also exported) you can
construct the "base path" easily in the scripts.  I've completely
removed writing XENBUS_FRONTEND_ID in favour of reading it from the
store at "$XENBUS_PATH/frontend-id".

Avoid re-reading the store over and over for the frontend domain's vm-path.

The patch also fixes a memory leak in backend_bus_id where we
leak the memory referenced by frontend if the function succeeds.

This work is by Christian Limpach.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-07 11:57:26 +00:00
emellor@leeni.uk.xensource.com d688d94c83 Merged. 2005-12-07 11:44:02 +00:00
emellor@leeni.uk.xensource.com a4de9a218c Further fix to same_vm check. This fixes intermittent failure of live
localhost migration.

return [ test ] is not valid, simply [ test ] at the end of the function is the
correct syntax.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-07 11:43:43 +00:00
emellor@leeni.uk.xensource.com d38caf05b2 Squelch error messages from calls when failure is handled gracefully.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-07 10:53:47 +00:00
cl349@firebug.cl.cam.ac.uk 79a13ff2fd Fix same_vm test by adding missing '$'.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-12-04 00:51:15 +01:00
cl349@firebug.cl.cam.ac.uk f7ba08cc97 Use test ([) instead of expr to compare integers.
expr $int1 '<' $int2 seems to be broken on some shells.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-12-04 00:49:51 +01:00
iap10@freefall.cl.cam.ac.uk f74b71caca Merge 2005-12-03 20:16:04 +01:00
iap10@freefall.cl.cam.ac.uk 0466574382 Update xend-config.sxp so that dom0-min-mem is 196MB by default, as this is rather more user friendly.
Also do some minor fixes to the README
Signed-off-by: ian@xensource.com
2005-12-03 20:05:39 +01:00
emellor@leeni.uk.xensource.com 60fdf33b73 Set hostname in DHCP config from the guest name, and if more than one interface
is specified, from guest-2, guest-3 etc.  Have the DHCP server send the
hostname to the guest.

Added a lock around DHCP config file frobbing, to avoid racing creation vs
deletion.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-03 12:21:27 +00:00
emellor@leeni.uk.xensource.com ffa06621c6 Read from the store if the filename reported by losetup has been truncated (the
loop driver stores only the first 64 chars of the filename).  In this case, we
need to read through the store until we find the domain using the device, and
read the configured filename from there instead.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-03 00:51:36 +00:00
cl349@firebug.cl.cam.ac.uk cb6bdaa39f Fix vif-net script for setups where eth0 has no IP address.
Use the IP address associated with the backend network interface
for connections from dom0 to the guest connected to this network
interface.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
2005-12-02 22:15:58 +01:00
emellor@leeni.uk.xensource.com 9b08b0371d This patch adds a new domain config option, 'cpus' which is a list of
CPUs a domains' vcpus can use.  The older 'cpu' config option is
prepended to the list of cpus to use and will keep the behavior of
pinning VCPU0.

The cpus option supports ranges and negation, so:

cpus = "0-3,5,^1" produces -> [0,2,3,5]

The list is circular, so in a domain with the following config:

vcpus = 4
cpus  = "0,3,7"  # Use any of 0, 3, 7 for this domain.

would see vcpus 0-3 pinned to cpus 0,3,7,0 respectively.

Also, the pin operation is moved before the memory reservation as vcpu
to cpu mapping will be helpful for future NUMA work when trying to
allocate pages close to the physical cpus being used.

An update to the display of cpumap was needed to normalize the cpumap
values to the range of possible cpus.

I've also included some text for the xmdomain.cfg(5) man page.

Signed-off-by: Ryan Harper <ryanh@us.ibm.com>
2005-12-02 15:52:47 +00:00
emellor@leeni.uk.xensource.com d1dd4f46f5 Fix the block-sharing check for physical devices by using a lock to serialise
the check, reading from the store rather than /sys, and checking whether the
VM for apparently-conflicting uses is actually the same (i.e. this is a
migration or a reboot in progress).

This fixes recent failures in 12_block_attach_shared_domU and recloses bug #331.

This fix includes particularly skanky path slicing inside xenbus_probe, which
it would be nice to remove very soon.

The loopback device check still suffers from the problem that filenames over
64 characters long are truncated.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-02 15:48:44 +00:00
emellor@leeni.uk.xensource.com 0bac77637b Added /etc/init.d/dhcpd to list of init files to check for (supporting Centos
4.2).

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-02 15:39:13 +00:00
emellor@leeni.uk.xensource.com d3be5880f8 Added serialisation facilities. Udev is supposed to serialise events, but sadly
the older hotplug infrastructure does not, so we must be able to serialise the
block-sharing checks (etc) ourselves.

Redirect stderr to /var/log/xen-hotplug.log, for better debugging.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-12-02 15:38:22 +00:00
smh22@firebug.cl.cam.ac.uk bb6d2f8575 Disable some over-zealous sanity checking for now (can cause major problems
with live migration to localhost). A proper fix will follow. 

Signed-off-by: Steven Hand <steven@xensource.com>
2005-11-29 17:59:03 +01:00
emellor@leeni.uk.xensource.com 0c63b57930 Tidy and comment use of canonicalise_mode, et al.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-29 15:01:47 +00:00
emellor@leeni.uk.xensource.com 5c9e232d3d Merged. 2005-11-29 15:00:27 +00:00
emellor@leeni.uk.xensource.com 1f2b7910d7 Support facilities for the new DHCP support.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-29 14:57:33 +00:00
emellor@leeni.uk.xensource.com feea83809d Added trap for ERR, to get better response from the scripts when they are really
broken, and add do_or_die command.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-29 14:56:54 +00:00
emellor@leeni.uk.xensource.com 2832dba652 Replace grep >&/dev/null with grep -q.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-29 14:56:16 +00:00
emellor@leeni.uk.xensource.com 5941ac94f2 Added DHCP server support, configured by a dhcp=yes parameter. This will write
the appropriate entries into dom0's DHCP server configuration file, allowing
that server to provide info for the guest when it starts.

If an IP address is not configured for vif-nat, invent one using the domain
ID and vif ID.

Fix the vif-nat script.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-29 14:55:48 +00:00
rread@ubuntu.eng.hq.xensource.com b8ae09f01c The device sharing check races when more than one file backed vbd is
configured. Both of the files pick the same free loop device in the for
loop, and then one fails to losetup.  This patch will now retry if
losetup fails until it succeeds or no more devices are available.

Signed-off-by: Robert Read <robert@xensource.com>
2005-11-28 15:34:00 -07:00
emellor@leeni.uk.xensource.com dad18c78cb Change uses of \s within sed regexps -- some versions of sed do not support this
escape.

Allow the vif-nat and vif-route scripts to have netdev specified, rather than
hard-coding eth0.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-28 11:05:07 +00:00
emellor@leeni.uk.xensource.com 9e1ac75bfa Added device-sharing checks for loopback-mounted files. The existing
check_sharing functions have been rejigged slightly so that the file-specific
stuff can share the code therein.  This separates the actual test from the
generation of the error message, and introduces the canonicalise_mode function.

This also restores the broken teardown functionality for file: devices -- the
writing of XENBUS_PATH/node had been removed, but this is required for file
device teardown.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-27 00:56:34 +00:00
emellor@leeni.uk.xensource.com 963d9e8fdf Write the error message and the hotplug-status=busy in the same transaction, to
ensure that the message is picked up.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-26 23:59:09 +00:00
emellor@leeni.uk.xensource.com d966085083 Check when using physical devices that the device is not already in use. Using
a device from two guests, or from dom 0 and a guest, can destroy the filesystem,
and this check prevents that.  This should ensure that the xm tests
11_block_attach_shared_dom0 and 12_block_attach_shared_domU should pass.
Closes bug #331.

Devices may be shared only if all uses are read-only.  If anyone has read-write
access to a device, then no sharing is allowed.

The mode in the config file may now have an exclamation mark appended, to
indicate that devices may be shared (i.e. that this new check should be
bypassed).  This supports some network block devices, but is clearly dangerous
and should only be used when you know what you are doing.

The mode specified in the config file is now written explicitly to the store,
To implement this, the blkback driver has been changed to create two entries
in /sys describing each device in use.  This means that we can determine which
devices are in use without crawling through the store.

The physical-device node has been changed to give the major and minor of the
device, separated by a colon.  This means that we do not need to pack these
numbers into one, removing the restriction to 8 bit minors that we had in place
before.

The mode specified in the config file is now written explicitly to the store,
rather than using the presence or absence of a read-only node.  This supports
the write-sharing override above.

If the device is in use, a new hotplug status of "busy" is written to the
store, and a message is written to a new hotplug-error node.  Xend uses these
things for diagnosis.

The block scripts do not need to handle online or offline events, so this
support has been removed.  These scripts can be called twice, depending upon
the hotplug config, so they now identify the second run and do not attempt to
set up the device again.

The device directories in the store are cleaned out before new details are
written there.  This prevents stale information from messing up block device
hotplugging.  This will be one cause of "blkback: changing physical device
not supported" messages.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-25 20:58:07 +00:00
emellor@leeni.uk.xensource.com 7522af5c6a Only write a success node when coming online, not going offline. Delete the
interface from the bridge when going offline -- the comment stating that
interfaces are auto-removed does not seem to be true, at least some of the
time.  Log failure of brctl delif and ifconfig down only at debug level, as
this script may be called more than once, depending upon the hotplug
configuration.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-25 17:12:12 +00:00
emellor@leeni.uk.xensource.com 4494161ec1 Only write a success node when coming online, not going offline.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-25 17:09:49 +00:00
emellor@leeni.uk.xensource.com 88eca2a60d Don't issue the iptables diagnostic when removing entries. Depending upon your
hotplug config, the offline event may come through to this script twice, and
the iptables -D will fail the second time.

Signed-off-by: Ewan Mellor <ewan@xensource.com>
2005-11-25 17:08:22 +00:00