mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
In vif-common.sh, set the shell variable "dev" to the new interface name when interfaces are renamed, and consistently use this variable in all the vif scripts. This fixes hotplug of renamed interfaces. From: Stefano Stabellini <stefano.stabellini@eu.citrix.com> From: Patrick Scharrenberg <pittipatti@web.de> Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by: Patrick Scharrenberg <pittipatti@web.de> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
57 lines
1.6 KiB
Bash
57 lines
1.6 KiB
Bash
#!/bin/bash
|
|
#============================================================================
|
|
# ${XEN_SCRIPT_DIR}/vif-route
|
|
#
|
|
# Script for configuring a vif in routed mode.
|
|
# The hotplugging system will call this script if it is specified either in
|
|
# the device configuration given to Xend, or the default Xend configuration
|
|
# in ${XEN_CONFIG_DIR}/xend-config.sxp. If the script is specified in
|
|
# neither of those places, then vif-bridge is the default.
|
|
#
|
|
# Usage:
|
|
# vif-route (add|remove|online|offline)
|
|
#
|
|
# Environment vars:
|
|
# dev vif interface name (required).
|
|
# XENBUS_PATH path to this device's details in the XenStore (required).
|
|
#
|
|
# Read from the store:
|
|
# ip list of IP networks for the vif, space-separated (default given in
|
|
# this script).
|
|
#============================================================================
|
|
|
|
dir=$(dirname "$0")
|
|
. "${dir}/vif-common.sh"
|
|
|
|
main_ip=$(dom0_ip)
|
|
|
|
case "${command}" in
|
|
online)
|
|
ifconfig ${dev} ${main_ip} netmask 255.255.255.255 up
|
|
echo 1 >/proc/sys/net/ipv4/conf/${dev}/proxy_arp
|
|
ipcmd='add'
|
|
cmdprefix=''
|
|
;;
|
|
offline)
|
|
do_without_error ifdown ${dev}
|
|
ipcmd='del'
|
|
cmdprefix='do_without_error'
|
|
;;
|
|
esac
|
|
|
|
if [ "${ip}" ] ; then
|
|
# If we've been given a list of IP addresses, then add routes from dom0 to
|
|
# the guest using those addresses.
|
|
for addr in ${ip} ; do
|
|
${cmdprefix} ip route ${ipcmd} ${addr} dev ${dev} src ${main_ip}
|
|
done
|
|
fi
|
|
|
|
handle_iptable
|
|
|
|
log debug "Successful vif-route ${command} for ${dev}."
|
|
if [ "${command}" = "online" ]
|
|
then
|
|
success
|
|
fi
|