2016-02-12 17:58:27 +01:00
|
|
|
Index: xen-4.6.1-testing/tools/qemu-xen-traditional-dir-remote/net.h
|
2014-01-02 20:09:07 +01:00
|
|
|
===================================================================
|
2016-02-12 17:58:27 +01:00
|
|
|
--- xen-4.6.1-testing.orig/tools/qemu-xen-traditional-dir-remote/net.h
|
|
|
|
+++ xen-4.6.1-testing/tools/qemu-xen-traditional-dir-remote/net.h
|
2014-01-02 20:09:07 +01:00
|
|
|
@@ -107,8 +107,8 @@ void net_host_device_add(const char *dev
|
|
|
|
void net_host_device_remove(int vlan_id, const char *device);
|
|
|
|
|
|
|
|
#ifndef DEFAULT_NETWORK_SCRIPT
|
|
|
|
-#define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup"
|
|
|
|
-#define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown"
|
|
|
|
+#define DEFAULT_NETWORK_SCRIPT "/etc/xen/qemu-ifup"
|
|
|
|
+#define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/xen/qemu-ifdown"
|
|
|
|
#endif
|
|
|
|
#ifdef __sun__
|
|
|
|
#define SMBD_COMMAND "/usr/sfw/sbin/smbd"
|
2016-02-12 17:58:27 +01:00
|
|
|
Index: xen-4.6.1-testing/tools/qemu-xen-traditional-dir-remote/net.c
|
2014-01-02 20:09:07 +01:00
|
|
|
===================================================================
|
2016-02-12 17:58:27 +01:00
|
|
|
--- xen-4.6.1-testing.orig/tools/qemu-xen-traditional-dir-remote/net.c
|
|
|
|
+++ xen-4.6.1-testing/tools/qemu-xen-traditional-dir-remote/net.c
|
|
|
|
@@ -1774,9 +1774,10 @@ int net_client_init(const char *device,
|
2014-01-02 20:09:07 +01:00
|
|
|
}
|
|
|
|
if (get_param_value(script_arg, sizeof(script_arg), "scriptarg", p) == 0 &&
|
|
|
|
get_param_value(script_arg, sizeof(script_arg), "bridge", p) == 0) { /* deprecated; for xend compatibility */
|
|
|
|
- pstrcpy(script_arg, sizeof(script_arg), "");
|
|
|
|
+ ret = net_tap_init(vlan, device, name, ifname, setup_script, NULL, NULL);
|
|
|
|
+ } else {
|
|
|
|
+ ret = net_tap_init(vlan, device, name, ifname, setup_script, down_script, script_arg);
|
|
|
|
}
|
|
|
|
- ret = net_tap_init(vlan, device, name, ifname, setup_script, down_script, script_arg);
|
|
|
|
}
|
|
|
|
} else
|
|
|
|
#endif
|
2016-02-12 17:58:27 +01:00
|
|
|
Index: xen-4.6.1-testing/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
|
2014-01-02 20:09:07 +01:00
|
|
|
===================================================================
|
2016-02-12 17:58:27 +01:00
|
|
|
--- xen-4.6.1-testing.orig/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
|
|
|
|
+++ xen-4.6.1-testing/tools/qemu-xen-traditional-dir-remote/i386-dm/qemu-ifup-Linux
|
2014-01-02 20:09:07 +01:00
|
|
|
@@ -1,36 +1,22 @@
|
|
|
|
#!/bin/sh
|
|
|
|
|
|
|
|
-#. /etc/rc.d/init.d/functions
|
|
|
|
-#ulimit -c unlimited
|
|
|
|
-
|
|
|
|
echo 'config qemu network with xen bridge for ' $*
|
|
|
|
|
|
|
|
+# If bridge is not specified, try device with default route.
|
|
|
|
bridge=$2
|
|
|
|
+if [ -z "$bridge" ]; then
|
|
|
|
+ bridge=$(ip route list | awk '/^default / { print $NF }')
|
|
|
|
+fi
|
|
|
|
|
|
|
|
-#
|
|
|
|
-# Old style bridge setup with netloop, used to have a bridge name
|
|
|
|
-# of xenbrX, enslaving pethX and vif0.X, and then configuring
|
|
|
|
-# eth0.
|
|
|
|
-#
|
|
|
|
-# New style bridge setup does not use netloop, so the bridge name
|
|
|
|
-# is ethX and the physical device is enslaved pethX
|
|
|
|
-#
|
|
|
|
-# So if...
|
|
|
|
-#
|
|
|
|
-# - User asks for xenbrX
|
|
|
|
-# - AND xenbrX doesn't exist
|
|
|
|
-# - AND there is a ethX device which is a bridge
|
|
|
|
-#
|
|
|
|
-# ..then we translate xenbrX to ethX
|
|
|
|
-#
|
|
|
|
-# This lets old config files work without modification
|
|
|
|
-#
|
|
|
|
-if [ ! -e "/sys/class/net/$bridge" ] && [ -z "${bridge##xenbr*}" ]
|
|
|
|
+# Exit if $bridge is not a bridge. Exit with 0 status
|
|
|
|
+# so qemu-dm process is not terminated. No networking in
|
|
|
|
+# vm is bad but not catastrophic. The vm could still run
|
|
|
|
+# cpu and disk IO workloads.
|
|
|
|
+# Include an useful error message in qemu-dm log file.
|
|
|
|
+if [ ! -e "/sys/class/net/${bridge}/bridge" ]
|
|
|
|
then
|
|
|
|
- if [ -e "/sys/class/net/eth${bridge#xenbr}/bridge" ]
|
|
|
|
- then
|
|
|
|
- bridge="eth${bridge#xenbr}"
|
|
|
|
- fi
|
|
|
|
+ echo "WARNING! ${bridge} is not a bridge. qemu-ifup exiting. VM may not have a functioning networking stack."
|
|
|
|
+ exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
ifconfig $1 0.0.0.0 up
|