diff --git a/i386-dm/hookstarget.mak b/i386-dm/hookstarget.mak index cf4b39e..de2a670 100644 --- a/i386-dm/hookstarget.mak +++ b/i386-dm/hookstarget.mak @@ -1,5 +1,6 @@ +IOEMU_OS=$(shell uname -s) install-hook: $(INSTALL_DIR) "$(DESTDIR)/$(bindir)" $(INSTALL_DIR) "$(DESTDIR)/$(configdir)" - $(INSTALL_PROG) qemu-ifup "$(DESTDIR)/$(configdir)/" + $(INSTALL_PROG) qemu-ifup-$(IOEMU_OS) "$(DESTDIR)/$(configdir)/qemu-ifup" diff --git a/i386-dm/qemu-ifup b/i386-dm/qemu-ifup deleted file mode 100644 index bcbee92..0000000 --- a/i386-dm/qemu-ifup +++ /dev/null @@ -1,37 +0,0 @@ -#!/bin/sh - -#. /etc/rc.d/init.d/functions -#ulimit -c unlimited - -echo 'config qemu network with xen bridge for ' $* - -bridge=$2 - -# -# 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*}" ] -then - if [ -e "/sys/class/net/eth${bridge#xenbr}/bridge" ] - then - bridge="eth${bridge#xenbr}" - fi -fi - -ifconfig $1 0.0.0.0 up -brctl addif $bridge $1 || true diff --git a/i386-dm/qemu-ifup-Linux b/i386-dm/qemu-ifup-Linux new file mode 100644 index 0000000..bcbee92 --- /dev/null +++ b/i386-dm/qemu-ifup-Linux @@ -0,0 +1,37 @@ +#!/bin/sh + +#. /etc/rc.d/init.d/functions +#ulimit -c unlimited + +echo 'config qemu network with xen bridge for ' $* + +bridge=$2 + +# +# 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*}" ] +then + if [ -e "/sys/class/net/eth${bridge#xenbr}/bridge" ] + then + bridge="eth${bridge#xenbr}" + fi +fi + +ifconfig $1 0.0.0.0 up +brctl addif $bridge $1 || true diff --git a/i386-dm/qemu-ifup-NetBSD b/i386-dm/qemu-ifup-NetBSD new file mode 100644 index 0000000..eee7876 --- /dev/null +++ b/i386-dm/qemu-ifup-NetBSD @@ -0,0 +1,3 @@ +#!/bin/sh +ifconfig $1 up +exec /sbin/brconfig $2 add $1