From: Roger Pau Monne Date: Mon, 2 Jun 2014 15:08:17 +0000 (+0200) Subject: hotplug: add FreeBSD vif-bridge X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~4817 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=62ac1e82d29f4211518b1952db1db62ae7ec9374;p=xen.git hotplug: add FreeBSD vif-bridge Add a simple vif-bridge script, that takes care of adding network backends (tap or xnb) to a pre-configured bridge. Signed-off-by: Roger Pau Monné Cc: Ian Jackson Acked-by: Ian Campbell --- diff --git a/tools/hotplug/FreeBSD/Makefile b/tools/hotplug/FreeBSD/Makefile index c7ffc51401..6480aa5d89 100644 --- a/tools/hotplug/FreeBSD/Makefile +++ b/tools/hotplug/FreeBSD/Makefile @@ -2,7 +2,7 @@ XEN_ROOT = $(CURDIR)/../../.. include $(XEN_ROOT)/tools/Rules.mk # Xen script dir and scripts to go there. -XEN_SCRIPTS = +XEN_SCRIPTS = vif-bridge XEN_SCRIPT_DATA = diff --git a/tools/hotplug/FreeBSD/vif-bridge b/tools/hotplug/FreeBSD/vif-bridge new file mode 100644 index 0000000000..fa7570d771 --- /dev/null +++ b/tools/hotplug/FreeBSD/vif-bridge @@ -0,0 +1,41 @@ +#!/bin/sh -e +# +# FreeBSD hotplug script for attaching xnb* interfaces to bridges +# +# Parameters: +# $1: xenstore backend path of the vif +# $2: action, either "add" or "remove" +# +# Environment variables: +# $iface_dev: name of the backend device (xnb.) +# + +DIR=$(dirname "$0") +. "${DIR}/hotplugpath.sh" + +PATH=${BINDIR}:${SBINDIR}:${LIBEXEC}:${PRIVATE_BINDIR}:/bin:/usr/bin:/sbin:/usr/sbin +export PATH + +path=$1 +action=$2 + +case $action in +add) + bridge=$(xenstore-read "$path/bridge") + ifconfig $bridge addm $iface_dev + ifconfig $iface_dev up + exit 0 + ;; +remove) + if [ "$emulated" -eq 1 ]; then + bridge=$(xenstore-read "$path/bridge") + ifconfig $iface_dev down + ifconfig $bridge deletem $iface_dev + ifconfig $iface_dev destroy + fi + exit 0 + ;; +*) + exit 0 + ;; +esac