mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
I have experienced that the vif-route script does not work as expected when deleting a virtual interface (Redhat FC5). Both of the commands "ifdown" and "ip route" cause an early vif-route script exit and therefore will cause skipping of the later script commands (such as cleaning up iptables entries for the default 'antispoof'). The vif-route script creates the following syslog error entry: "/etc/xen/scripts/vif-route failed; error detected." It appears that both of the problematic commands are actually redundant when destroying domains: 1. the interface is already gone (I assume because the domain frontend is gone already) --> ifdown does not do anything 2. the route is gone as well since the interface has disappeared --> ip route del does not do anything Executing those redundant commands with "do_without_error" ensures that the script completes and cleans up iptables rules. The attached RFC-patch only masks those commands when bringing down an interface, so that domain creation continues to fail in case of vif setup problems (intended behavior). Having the iptables cleanup called correctly by vif-route is important to keep the iptables rule-set clean, otherwise antispoof rules accumulate with every vif creation. Signed-off by: Reiner Sailer <sailer@us.ibm.com>
Xen Control Tools - Examples
===================================
This directory contains example scripts and configurations for Xen.
For many operations you will either be able to use these scripts directly, or
incorporate code from them into your own scripts.
If you write a useful script and would like to share it, please do
send it (preferably with a little summary to go in this file) to
<xen-devel@lists.sourceforge.net> so we can add it to this directory.
block - called by xen-backend.agent to bind/unbind dev
block-common.sh - sourced by block, block-*
block-enbd - binds/unbinds network block devices
block-nbd - binds/unbinds network block devices
external-device-migrate - called by xend for migrating external devices
locking.sh - locking functions to prevent concurrent access to
critical sections inside script files
logging.sh - logging function to log output using syslog
network-bridge - xen network start/stop script when using bridging
network-nat - xen network start/stop script when using NAT
network-route - xen network start/stop script when using routing
vif-bridge - virtual network start/stop script in bridged mode
vif-common.sh - sourced by vif-bridge
vif-nat - xen virtual network start/stop script in NAT mode
vif-route - xen virtual network start/stop script in routed mode
vtpm - called by xen-backend.agent to bind/unbind vTPM devices
vtpm-common.sh - common code for vTPM handling
vtpm-delete - remove an entry from the vTPM table given the
domain's name
vtpm-hotplug-common.sh - sourced by vtpm
vtpm-migration.sh - sourced by external-device-migrate
xen-backend.agent - calls block, vif-*, vtpm scripts to add, remove, hotplug
devices
xen-backend.rules - hotplug script rules
xend-config.sxp - default xend configuration file
xen-hotplug-common.sh - sourced by vif-common.sh
xen-network-common.sh - sourced by vif-common.sh
xen-script-common.sh - sourced by network-bridge, xen-hotplug-common.sh
xmexample1 - example configuration script for 'xm create'
xmexample2 - a more complex configuration script for 'xm create'
xmexample3 - an advanced configuration script for 'xm create'
that utilizes the vmid
xmexample.nbd - configuration script that uses NBD filesystems
xmexample.hvm - a configuration script for creating a hvm domain with
'xm create'
xmexample.vti - a configuration script for creating a domain on vti