#!/bin/sh . "${PM_FUNCTIONS}" get_running_netvms() { # Actually get running VMs with PCI devices attached RUNNING_VMS=`xl list | tail -n +3 | cut -f 1 -d " "` RUNNING_NETVMS="" for VM in $RUNNING_VMS; do if [ -n "`xl pci-list $VM|tail -n +2`" ]; then echo "$VM" fi done } suspend_net() { for VM in `get_running_netvms`; do qvm-run -u root --pass-io $VM 'QUBESRPC qubes.SuspendPre dom0' done # Ignore exit status from netvm... return 0 } resume_net() { for VM in `get_running_netvms`; do qvm-run -u root --pass-io $VM 'QUBESRPC qubes.SuspendPost dom0' done # Ignore exit status from netvm... return 0 } case "$1" in resume) resume_net ;; suspend) suspend_net ;; *) exit 0 ;; esac