Add hotplug script to run vif-bridge up script when a backend vif starts up.
authorcl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Thu, 25 Aug 2005 17:27:31 +0000 (17:27 +0000)
committercl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Thu, 25 Aug 2005 17:27:31 +0000 (17:27 +0000)
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
tools/examples/Makefile
tools/examples/backend.hotplug [new file with mode: 0755]

index c0b7fffc958bc00e9fb4bf4d5c107f356504fb7e..5513807d47e57a814633303488461d09f3582430 100644 (file)
@@ -24,10 +24,14 @@ XEN_SCRIPTS += block-enbd
 XEN_BOOT_DIR = /usr/lib/xen/boot
 XEN_BOOT = mem-map.sxp
 
+XEN_HOTPLUG_DIR = /etc/hotplug.d/xen-backend
+XEN_HOTPLUG_SCRIPTS = backend.hotplug
+
 all: 
 build:
 
-install: all install-initd install-configs install-scripts install-boot
+install: all install-initd install-configs install-scripts install-boot \
+        install-hotplug
 
 install-initd:
        [ -d $(DESTDIR)/etc/init.d ] || $(INSTALL_DIR) $(DESTDIR)/etc/init.d
@@ -60,4 +64,12 @@ install-boot:
            $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_BOOT_DIR); \
        done
 
+install-hotplug:
+       [ -d $(DESTDIR)$(XEN_HOTPLUG_DIR) ] || \
+               $(INSTALL_DIR) $(DESTDIR)$(XEN_HOTPLUG_DIR)
+       for i in $(XEN_HOTPLUG_SCRIPTS); \
+           do [ -a $(DESTDIR)$(XEN_HOTPLUG_DIR)/$$i ] || \
+           $(INSTALL_PROG) $$i $(DESTDIR)$(XEN_HOTPLUG_DIR); \
+       done
+
 clean:
diff --git a/tools/examples/backend.hotplug b/tools/examples/backend.hotplug
new file mode 100755 (executable)
index 0000000..a708aad
--- /dev/null
@@ -0,0 +1,21 @@
+#! /bin/sh
+
+#DEVPATH=/devices/xen-backend/vif-1-0
+#ACTION=add
+
+PATH=/etc/xen/scripts:$PATH
+
+DEV=$(basename "$DEVPATH")
+case "$ACTION" in
+  add)
+    case "$DEV" in
+      vif-*)
+        vif=$(echo "$DEV" | sed 's/-\([0-9]*\)-\([0-9]*\)/\1.\2/')
+        vif-bridge up domain=unknown vif="$vif" mac=fe:ff:ff:ff:ff:ff bridge=xen-br0 >/dev/null 2>&1
+        ;;
+    esac
+    ;;
+  remove)
+    ;;
+esac
+