From 62ac1e82d29f4211518b1952db1db62ae7ec9374 Mon Sep 17 00:00:00 2001 From: Roger Pau Monne Date: Mon, 2 Jun 2014 17:08:17 +0200 Subject: [PATCH] hotplug: add FreeBSD vif-bridge MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- tools/hotplug/FreeBSD/Makefile | 2 +- tools/hotplug/FreeBSD/vif-bridge | 41 ++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 tools/hotplug/FreeBSD/vif-bridge 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 -- 2.39.5