xen/xen-hvm-default-bridge.diff

87 lines
3.3 KiB
Diff

Index: xen-3.2-testing/tools/examples/xend-config.sxp
===================================================================
--- xen-3.2-testing.orig/tools/examples/xend-config.sxp
+++ xen-3.2-testing/tools/examples/xend-config.sxp
@@ -132,7 +132,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=<name>')
#
Index: xen-3.2-testing/tools/ioemu/vl.c
===================================================================
--- xen-3.2-testing.orig/tools/ioemu/vl.c
+++ xen-3.2-testing/tools/ioemu/vl.c
@@ -102,8 +102,6 @@
#define DEFAULT_NETWORK_SCRIPT "/etc/xen/qemu-ifup"
#ifdef _BSD
#define DEFAULT_BRIDGE "bridge0"
-#else
-#define DEFAULT_BRIDGE "xenbr0"
#endif
#ifdef __sun__
#define SMBD_COMMAND "/usr/sfw/sbin/smbd"
@@ -4131,10 +4129,10 @@ static int net_client_init(const char *s
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.2-testing/tools/python/xen/xend/image.py
===================================================================
--- xen-3.2-testing.orig/tools/python/xen/xend/image.py
+++ xen-3.2-testing/tools/python/xen/xend/image.py
@@ -485,13 +485,16 @@ class HVMImageHandler(ImageHandler):
mac = devinfo.get('mac')
if mac is None:
raise VmError("MAC address not specified or generated.")
- bridge = devinfo.get('bridge', 'xenbr0')
+ bridge = devinfo.get('bridge', None)
model = devinfo.get('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
Index: xen-3.2-testing/tools/ioemu/target-i386-dm/qemu-ifup
===================================================================
--- xen-3.2-testing.orig/tools/ioemu/target-i386-dm/qemu-ifup
+++ xen-3.2-testing/tools/ioemu/target-i386-dm/qemu-ifup
@@ -1,11 +1,11 @@
#!/bin/sh
-#. /etc/rc.d/init.d/functions
-#ulimit -c unlimited
-
-echo 'config qemu network with xen bridge for ' $*
-
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
#
# Old style bridge setup with netloop, used to have a bridge name