This patch fixes domU networking in Gentoo. The change to ifup/ifdown
(which isn't availabe in Gentoo) prevents the bridge from being setup
correctly. The patch below checks if ifup is avaiable, and if not
starts the Gentoo networking scripts.
This new version includes shell functions where distro specific options
may be handled (per Ian's suggestion).
Signed-off-by: Jon Mason <jdmason@xxxxxxxxxx>
# HG changeset patch
# User root@pentium4
# Node ID 6de75791e5a54b8eb093c6630efb68f896c16fa3
# Parent 00037ba13f0bb8efe4b2c3efe40200eac21c68dd
Fix network-bridge to work with Gentoo
diff -r 00037ba13f0b -r 6de75791e5a5 tools/examples/network-bridge
--- a/tools/examples/network-bridge Tue Oct 4 17:23:58 2005
+++ b/tools/examples/network-bridge Tue Oct 4 23:42:28 2005
@@ -54,6 +54,32 @@
antispoof=${antispoof:-no}
echo "*network $OP bridge=$bridge netdev=$netdev antispoof=$antispoof" >&2
+
+# Usage: eth_down interface
+eth_down() {
+ local rc
+ local eth=$1
+ ifdown=$(which ifdown 2>/dev/null)
+ if [ -n "$ifdown" ]; then
+ $ifdown ${eth}; rc=$?
+ else
+ /etc/init.d/net.${eth} stop; rc=$?
+ fi
+ return $rc
+}
+
+# Usage: eth_up interface
+eth_up() {
+ local rc
+ local eth=$1
+ ifdown=$(which ifup 2>/dev/null)
+ if [ -n "$ifup" ]; then
+ $ifup ${eth}; rc=$?
+ else
+ /etc/init.d/net.${eth} start; rc=$?
+ fi
+ return $rc
+}
# Usage: transfer_addrs src dst
# Copy all IP addresses (including aliases) from device $src to device $dst.
@@ -177,7 +203,7 @@
if ifconfig veth0 2>/dev/null | grep -q veth0 ; then
mac=`ifconfig ${netdev} | grep HWadd | sed -e
's/.*\(..:..:..:..:..:..\).*/\1/'`
- if ! ifdown ${netdev} ; then
+ if ! eth_down ${netdev} ; then
# if ifup didn't work, see if we have an ip= on cmd line
if egrep 'ip=[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+:' /proc/cmdline ;
then
@@ -197,7 +223,7 @@
ip link set ${bridge} up
ip link set vif0.0 up
ip link set p${netdev} up
- if ! ifup ${netdev} ; then
+ if ! eth_up ${netdev} ; then
if [ ${kip} ] ; then
# use the addresses we grocked from /proc/cmdline
ifconfig ${netdev} ${kip}
@@ -238,7 +264,7 @@
ip link set peth0 name eth0
ifconfig ${bridge} down
brctl delbr ${bridge}
- ifup eth0
+ eth_up eth0
else
transfer_routes ${bridge} ${netdev}
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel