From: Thomas Horsten Date: Fri, 10 Jul 2009 10:25:02 +0000 (+0100) Subject: [packages/xenclient-toolstack] Add action script for ifplugd to propagate eth0 link... X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=ad3c9f54b6e3046660725d3c0ff412cfdc92908e;p=xenclient%2Ftoolstack.git [packages/xenclient-toolstack] Add action script for ifplugd to propagate eth0 link status to xenbr0 --- diff --git a/Makefile b/Makefile index f663821..e54e6ab 100644 --- a/Makefile +++ b/Makefile @@ -40,6 +40,7 @@ install-scripts: $(INSTALL) scripts/*.rules $(DESTDIR)/etc/udev/rules.d/. $(INSTALL) $(addprefix scripts/,$(HOTPLUG_SCRIPTS)) \ $(DESTDIR)/etc/xen/scripts + $(INSTALL) scripts/ifplugd.* $(DESTDIR)/etc/ifplugd/. install: install-programs install-scripts diff --git a/scripts/ifplugd.action b/scripts/ifplugd.action new file mode 100755 index 0000000..0dc6d9e --- /dev/null +++ b/scripts/ifplugd.action @@ -0,0 +1,40 @@ +#!/bin/sh +# $Id: ifplugd.action 99 2004-02-08 20:17:59Z lennart $ + +# This file is part of ifplugd. +# +# ifplugd is free software; you can redistribute it and/or modify it under +# the terms of the GNU General Public License as published by the Free +# Software Foundation; either version 2 of the License, or (at your +# option) any later version. +# +# ifplugd is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# for more details. +# +# You should have received a copy of the GNU General Public License +# along with ifplugd; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + +set -e + +if [ -z "$1" ] || [ -z "$2" ] ; then + echo "Wrong arguments" > /dev/stderr + exit 1 +fi + +if [ "$1" = "eth0" ]; then + echo "eth0 link state now $2" + if [ -w /sys/class/net/xenbr0/bridge/link_state ]; then + case $2 in + up) echo 1 > /sys/class/net/xenbr0/bridge/link_state ;; + down) echo 0 > /sys/class/net/xenbr0/bridge/link_state ;; + esac + fi +fi + +[ "$2" = "up" ] && exec /sbin/ifup $1 +[ "$2" = "down" ] && exec /sbin/ifdown $1 + +exit 1