Hi,
> > This seems to be partly reverting 21922:0232bc7c9544 "tools/hotplug,
> > Use udev rules instead of qemu script to setup the bridge."
> I don't think that patch is the right way to fix the issue.
Ok, I see. Progress was the other way round.
> Does this patch fix the problem for you?
Yes it does fix my problem.
So, if we consistently use "dev" instead of "vif" the we'll run into troubles
in vif-route and vif-nat scripts sooner ot later if we don't fix these as
well, don't we?
I changed "vif" to "dev" in both, though I haven't testet the nat one for lack
of testing environment.
diff -r e7b31cc0093c tools/hotplug/Linux/vif-route
--- a/tools/hotplug/Linux/vif-route Mon Jan 31 17:46:55 2011 +0000
+++ b/tools/hotplug/Linux/vif-route Mon Feb 07 22:44:23 2011 +0100
@@ -12,7 +12,7 @@
# vif-route (add|remove|online|offline)
#
# Environment vars:
-# vif vif interface name (required).
+# dev vif interface name (required).
# XENBUS_PATH path to this device's details in the XenStore (required).
#
# Read from the store:
@@ -21,19 +21,19 @@
#============================================================================
dir=$(dirname "$0")
-. "$dir/vif-common.sh"
+. "${dir}/vif-common.sh"
main_ip=$(dom0_ip)
-case "$command" in
+case "${command}" in
online)
- ifconfig ${vif} ${main_ip} netmask 255.255.255.255 up
- echo 1 >/proc/sys/net/ipv4/conf/${vif}/proxy_arp
+ 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 ${vif}
+ do_without_error ifdown ${dev}
ipcmd='del'
cmdprefix='do_without_error'
;;
@@ -43,14 +43,14 @@
# 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 ${vif} src ${main_ip}
+ ${cmdprefix} ip route ${ipcmd} ${addr} dev ${dev} src ${main_ip}
done
fi
handle_iptable
-log debug "Successful vif-route $command for $vif."
-if [ "$command" = "online" ]
+log debug "Successful vif-route ${command} for ${dev}."
+if [ "${command}" = "online" ]
then
success
fi
diff -r e7b31cc0093c tools/hotplug/Linux/vif-nat
--- a/tools/hotplug/Linux/vif-nat Mon Jan 31 17:46:55 2011 +0000
+++ b/tools/hotplug/Linux/vif-nat Mon Feb 07 22:44:42 2011 +0100
@@ -12,7 +12,7 @@
# vif-nat (add|remove|online|offline)
#
# Environment vars:
-# vif vif interface name (required).
+# dev vif interface name (required).
# XENBUS_PATH path to this device's details in the XenStore (required).
#
# Parameters:
@@ -98,7 +98,7 @@
dhcparg_remove_entry()
{
local tmpfile=$(mktemp)
- sed -e "s/$vif //" "$dhcpd_arg_file" >"$tmpfile"
+ sed -e "s/${dev} //" "$dhcpd_arg_file" >"$tmpfile"
if diff "$tmpfile" "$dhcpd_arg_file" >/dev/null
then
rm "$tmpfile"
@@ -112,11 +112,11 @@
dhcparg_remove_entry
local tmpfile=$(mktemp)
# handle Red Hat, SUSE, and Debian styles, with or without quotes
- sed -e 's/^DHCPDARGS="*\([^"]*\)"*/DHCPDARGS="\1'"$vif "'"/' \
+ sed -e 's/^DHCPDARGS="*\([^"]*\)"*/DHCPDARGS="\1'"${dev} "'"/' \
"$dhcpd_arg_file" >"$tmpfile" && mv "$tmpfile" "$dhcpd_arg_file"
- sed -e 's/^DHCPD_INTERFACE="*\([^"]*\)"*/DHCPD_INTERFACE="\1'"$vif "'"/' \
+ sed -e 's/^DHCPD_INTERFACE="*\([^"]*\)"*/DHCPD_INTERFACE="\1'"${dev} "'"/'
\
"$dhcpd_arg_file" >"$tmpfile" && mv "$tmpfile" "$dhcpd_arg_file"
- sed -e 's/^INTERFACES="*\([^"]*\)"*/INTERFACES="\1'"$vif "'"/' \
+ sed -e 's/^INTERFACES="*\([^"]*\)"*/INTERFACES="\1'"${dev} "'"/' \
"$dhcpd_arg_file" >"$tmpfile" && mv "$tmpfile" "$dhcpd_arg_file"
rm -f "$tmpfile"
}
@@ -164,28 +164,28 @@
case "$command" in
online)
- if ip route | grep -q "dev $vif"
+ if ip route | grep -q "dev ${dev}"
then
- log debug "$vif already up"
+ log debug "${dev} already up"
exit 0
fi
- do_or_die ip link set "$vif" up arp on
- do_or_die ip addr add "$router_ip" dev "$vif"
- do_or_die ip route add "$vif_ip" dev "$vif" src "$router_ip"
- echo 1 >/proc/sys/net/ipv4/conf/${vif}/proxy_arp
+ do_or_die ip link set "${dev}" up arp on
+ do_or_die ip addr add "$router_ip" dev "${dev}"
+ do_or_die ip route add "$vif_ip" dev "${dev}" src "$router_ip"
+ echo 1 >/proc/sys/net/ipv4/conf/${dev}/proxy_arp
[ "$dhcp" != 'no' ] && dhcp_up
;;
offline)
[ "$dhcp" != 'no' ] && dhcp_down
- do_without_error ifconfig "$vif" down
+ do_without_error ifconfig "${dev}" down
;;
esac
handle_iptable
-log debug "Successful vif-nat $command for $vif."
+log debug "Successful vif-nat $command for ${dev}."
if [ "$command" = "online" ]
then
success
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|