1#!/sbin/sh 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# 23# Copyright 2007 Sun Microsystems, Inc. All rights reserved. 24# Use is subject to license terms. 25# 26 27#ident "%Z%%M% %I% %E% SMI" 28 29. /lib/svc/share/smf_include.sh 30 31# 32# In a shared-IP zone we need this service to be up, but all of the work 33# it tries to do is irrelevant (and will actually lead to the service 34# failing if we try to do it), so just bail out. 35# In the global zone and exclusive-IP zones we proceed. 36# 37smf_configure_ip || exit $SMF_EXIT_OK 38 39case "$1" in 40'refresh') 41 /usr/bin/pkill -HUP -z `smf_zonename` nwamd 42 ;; 43 44'start') 45 if smf_is_globalzone; then 46 # Initialize security objects. 47 /sbin/dladm init-secobj 48 fi 49 # start nwamd in foreground; it will daemonize itself 50 if /lib/inet/nwamd ; then 51 exit $SMF_EXIT_OK 52 else 53 exit $SMF_EXIT_ERR_FATAL 54 fi 55 ;; 56 57'stop') 58 /usr/bin/pkill -z `smf_zonename` nwamd 59 ;; 60 61'-u') 62 # After we run this part of the script upon the next reboot 63 # network/physical:default will be enabled and 64 # network/physical:nwam will be disabled. 65 # There are various other parts of the system (nscd, nfs) that 66 # depend on continuing to have a working network. For this 67 # reason we don't change the network configuration immediately. 68 69 SVCADM=/usr/sbin/svcadm 70 SVCCFG=/usr/sbin/svccfg 71 net_phys=svc:/network/physical:default 72 net_nwam=svc:/network/physical:nwam 73 74 # Disable network/physical temporarily and make sure that will 75 # be enabled on reboot. 76 $SVCADM disable -st $net_phys 77 $SVCCFG -s $net_phys setprop general/enabled=true 78 79 # If nwam is online then make sure that it's temporarily enabled. 80 nwam_online=`/usr/bin/svcprop -t -p restarter/state $net_nwam` 81 if [ $? -eq 0 ]; then 82 set -- $nwam_online 83 [ $3 = "online" ] && $SVCADM enable -st $net_nwam 84 fi 85 86 # Set nwam so that it won't be enabled upon reboot. 87 $SVCCFG -s $net_nwam setprop general/enabled=false 88 exit 0 89 ;; 90 91'-c') 92 # Nothing to do for sysidtool 93 exit 0 94 ;; 95 96*) 97 echo "Usage: $0 { start | stop | refresh }" 98 exit $SMF_EXIT_ERR_FATAL 99 ;; 100esac 101exit $SMF_EXIT_OK 102