99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine#!/bin/ksh
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine#
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# CDDL HEADER START
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine#
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# The contents of this file are subject to the terms of the
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# Common Development and Distribution License (the "License").
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# You may not use this file except in compliance with the License.
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine#
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# or http://www.opensolaris.org/os/licensing.
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# See the License for the specific language governing permissions
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# and limitations under the License.
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine#
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# When distributing Covered Code, include this CDDL HEADER in each
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# If applicable, add the following below this CDDL HEADER, with the
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# fields enclosed by brackets "[]" replaced with your own identifying
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# information: Portions Copyright [yyyy] [name of copyright owner]
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine#
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# CDDL HEADER END
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine#
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine# Use is subject to license terms.
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaineinterval=$2
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee. /lib/svc/share/smf_include.sh
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybeedisable_self()
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee{
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee echo "This service will only run in a PV xVM domU."
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee svcadm disable svc:/system/xvm/ipagent:default
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee sleep 5 &
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee exit $SMF_EXIT_OK
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee}
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybeecheck_is_domu()
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee{
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee if [ `uname -p` != "i386" -o `uname -i` != "i86xpv" ]; then
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee disable_self
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee fi
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee /usr/sbin/devfsadm -i domcaps
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee domcaps=`cat /dev/xen/domcaps 2>/dev/null`
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee echo "$domcaps" | grep "control_d" > /dev/null
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee if [ $? = 0 ]; then
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee disable_self
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee fi
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee}
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blainecase $1 in
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine'start')
349b53dd4e695e3d833b5380540385145b2d3ae8Stuart Maybee check_is_domu
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine /usr/lib/xen/bin/ipagent $interval &
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine ;;
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine*)
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine echo "Usage: $0 start [report_interval]"
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine exit 1
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine ;;
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaineesac
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaine
99ba4d70906e5f67853c25ade6ebf4da3e5be4d6Russell Blaineexit $?