Index: xen-3.0.3-testing/tools/examples/xend-config.sxp =================================================================== --- xen-3.0.3-testing.orig/tools/examples/xend-config.sxp +++ xen-3.0.3-testing/tools/examples/xend-config.sxp @@ -76,7 +76,8 @@ # # (network-script 'network-bridge netdev=eth1') # -# The bridge is named xenbr0, by default. To rename the bridge, use +# The bridge is named to match the outgoing interface, by default. For example, +# eth1 is on xenbr1. To rename the bridge, use # # (network-script 'network-bridge bridge=') # Index: xen-3.0.3-testing/tools/ioemu/vl.c =================================================================== --- xen-3.0.3-testing.orig/tools/ioemu/vl.c +++ xen-3.0.3-testing/tools/ioemu/vl.c @@ -89,7 +89,6 @@ #include "exec-all.h" #define DEFAULT_NETWORK_SCRIPT "/etc/xen/qemu-ifup" -#define DEFAULT_BRIDGE "xenbr0" //#define DEBUG_UNUSED_IOPORT //#define DEBUG_IOPORT @@ -3773,10 +3772,10 @@ int net_client_init(const char *str) if (get_param_value(setup_script, sizeof(setup_script), "script", p) == 0) { pstrcpy(setup_script, sizeof(setup_script), DEFAULT_NETWORK_SCRIPT); } - if (get_param_value(bridge, sizeof(bridge), "bridge", p) == 0) { - pstrcpy(bridge, sizeof(bridge), DEFAULT_BRIDGE); - } - ret = net_tap_init(vlan, ifname, setup_script, bridge); + if (get_param_value(bridge, sizeof(bridge), "bridge", p) == 0) + ret = net_tap_init(vlan, ifname, setup_script, NULL); + else + ret = net_tap_init(vlan, ifname, setup_script, bridge); } } else #endif Index: xen-3.0.3-testing/tools/python/xen/xend/image.py =================================================================== --- xen-3.0.3-testing.orig/tools/python/xen/xend/image.py +++ xen-3.0.3-testing/tools/python/xen/xend/image.py @@ -339,13 +339,16 @@ class HVMImageHandler(ImageHandler): mac = sxp.child_value(info, 'mac') if mac == None: mac = randomMAC() - bridge = sxp.child_value(info, 'bridge', 'xenbr0') + bridge = sxp.child_value(info, 'bridge', None) model = sxp.child_value(info, 'model', 'rtl8139') ret.append("-net") ret.append("nic,vlan=%d,macaddr=%s,model=%s" % (nics, mac, model)) ret.append("-net") - ret.append("tap,vlan=%d,bridge=%s" % (nics, bridge)) + net = "tap,vlan=%d" % (nics,) + if bridge: + net += ",bridge=%s" % (bridge,) + ret.append(net) return ret def configVNC(self, config): Index: xen-3.0.3-testing/tools/ioemu/target-i386-dm/qemu-ifup =================================================================== --- xen-3.0.3-testing.orig/tools/ioemu/target-i386-dm/qemu-ifup +++ xen-3.0.3-testing/tools/ioemu/target-i386-dm/qemu-ifup @@ -1,10 +1,11 @@ #!/bin/sh -#. /etc/rc.d/init.d/functions -#ulimit -c unlimited - -echo -c 'config qemu network with xen bridge for ' -echo $* +bridge=$2 +if [ -z "$bridge" ]; then + brnum=$(ip route list | awk '/^default / { print $NF }' | sed 's/^[^0-9]*//') + brnum=${brnum:-0} + bridge=xenbr${brnum} +fi ifconfig $1 0.0.0.0 up -brctl addif $2 $1 +brctl addif $bridge $1