1 #!/bin/ksh 2 # 3 # CDDL HEADER START 4 # 5 # The contents of this file are subject to the terms of the 6 # Common Development and Distribution License (the "License"). 7 # You may not use this file except in compliance with the License. 8 # 9 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 10 # or http://www.opensolaris.org/os/licensing. 11 # See the License for the specific language governing permissions 12 # and limitations under the License. 13 # 14 # When distributing Covered Code, include this CDDL HEADER in each 15 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 16 # If applicable, add the following below this CDDL HEADER, with the 17 # fields enclosed by brackets "[]" replaced with your own identifying 18 # information: Portions Copyright [yyyy] [name of copyright owner] 19 # 20 # CDDL HEADER END 21 # 22 # Copyright 2009 Sun Microsystems, Inc. All rights reserved. 23 # Use is subject to license terms. 24 25 interval=$2 26 27 . /lib/svc/share/smf_include.sh 28 29 30 disable_self() 31 { 32 echo "This service will only run in a PV xVM domU." 33 svcadm disable svc:/system/xvm/ipagent:default 34 sleep 5 & 35 exit $SMF_EXIT_OK 36 } 37 38 check_is_domu() 39 { 40 if [ `uname -p` != "i386" -o `uname -i` != "i86xpv" ]; then 41 disable_self 42 fi 43 44 /usr/sbin/devfsadm -i domcaps 45 domcaps=`cat /dev/xen/domcaps 2>/dev/null` 46 echo "$domcaps" | grep "control_d" > /dev/null 47 if [ $? = 0 ]; then 48 disable_self 49 fi 50 } 51 52 case $1 in 53 'start') 54 check_is_domu 55 56 /usr/lib/xen/bin/ipagent $interval & 57 58 ;; 59 60 *) 61 echo "Usage: $0 start [report_interval]" 62 exit 1 63 ;; 64 esac 65 66 exit $?