8 messages in com.xensource.lists.xen-develRe: [Xen-devel] [PATCH] tools: Fix ne...
FromSent OnAttachments
Jon Mason29 Sep 2005 15:20 
Dan Smith29 Sep 2005 16:11 
Robb Romans29 Sep 2005 16:22 
Nivedita Singhvi29 Sep 2005 16:31 
Ian Pratt29 Sep 2005 16:38 
Jon Mason04 Oct 2005 16:54 
Anthony Liguori04 Oct 2005 21:02 
Jeremy Katz05 Oct 2005 08:04 
Subject:Re: [Xen-devel] [PATCH] tools: Fix network-bridge to work with Gentoo
From:Robb Romans (FM@us.ibm.com)
Date:09/29/2005 04:22:44 PM
List:com.xensource.lists.xen-devel

On Thursday 29 September 2005 05:20 pm, Jon Mason wrote:

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.

Signed-off-by: Jon Mason <jdma@us.ibm.com>

# HG changeset patch # User root@pentium4 # Node ID 07ba15ba986268ff869d7d2253eab8eed3edbe8b # Parent f529cd119470032c2bc70b21432e733f9605727b Fix network-bridge to work with Gentoo

diff -r f529cd119470 -r 07ba15ba9862 tools/examples/network-bridge --- a/tools/examples/network-bridge Thu Sep 29 17:28:28 2005 +++ b/tools/examples/network-bridge Thu Sep 29 22:03:46 2005 @@ -177,7 +177,12 @@

if ifconfig veth0 2>/dev/null | grep -q veth0 ; then mac=`ifconfig ${netdev} | grep HWadd | sed -e 's/.*\(..:..:..:..:..:..\).*/\1/'` - if ! ifdown ${netdev} ; then + if which ifdown 2> /dev/null ; then

+ ifdown ${netdev} 2> RC=$?

I don't think you want the "2>" in there. You're missing a semicolon in front of "RC=..."

+ else + /etc/init.d/net.${netdev} stop 2> RC=$?

Same problem here.

+ fi + if ! $RC ; 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 +202,12 @@ ip link set ${bridge} up ip link set vif0.0 up ip link set p${netdev} up - if ! ifup ${netdev} ; then + if which ifup 2> /dev/null ; then + ifup ${netdev} 2> RC=$?

Same problem here.

+ else + /etc/init.d/net.${netdev} start 2> RC=$?

Same problem here.

+ fi + if ! $RC ; then if [ ${kip} ] ; then # use the addresses we grocked from /proc/cmdline ifconfig ${netdev} ${kip} @@ -238,7 +248,7 @@ ip link set peth0 name eth0 ifconfig ${bridge} down brctl delbr ${bridge} - ifup eth0 + ifup eth0 2>/dev/null || /etc/init.d/net.eth0 start

I think you want to check whether 'ifup' exists, not whether the command fails.

Regards, Robb