net-nwam revision d62bc4badc1c1f1549c961cfb8b420e650e1272b
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User#!/sbin/sh
6fe48fb46e53ffc37542853a1edb74cb481b7d94Automatic Updater#
c78c39caab4cf8b5daefc9c65878f7f5ed3eb7a0Tinderbox User# CDDL HEADER START
f536382c59dd492a14667b753816d920f9981f1cTinderbox User#
ab496cc3df1648e9ad992a87c35c2c0870fdc69dTinderbox User# The contents of this file are subject to the terms of the
7c1468ed500356839a4a222517364e6ce18cb1a2Tinderbox User# Common Development and Distribution License (the "License").
c57668a2fbbe558c1bd21652813616f2f517c469Tinderbox User# You may not use this file except in compliance with the License.
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews#
287a6a8f9040dc43560cd69cddf83bfc0f53b76fTinderbox User# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# or http://www.opensolaris.org/os/licensing.
8de3f14f1c300c3e1ed99084cc03485b42c92bf1Tinderbox User# See the License for the specific language governing permissions
950d203b64f512b85fcc093ee1e9e3e531a1aea3Tinderbox User# and limitations under the License.
b886b04d8d2b085cbf3e1bf4442dee87f43ba5e4Tinderbox User#
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews# When distributing Covered Code, include this CDDL HEADER in each
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# If applicable, add the following below this CDDL HEADER, with the
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# fields enclosed by brackets "[]" replaced with your own identifying
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews# information: Portions Copyright [yyyy] [name of copyright owner]
a7c412f37cc73d0332887a746e81220cbf09dd00Mark Andrews#
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# CDDL HEADER END
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews#
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews#
e676a596869d8a80a644c99a848afb53d1c5975eMark Andrews# Copyright 2008 Sun Microsystems, Inc. All rights reserved.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews# Use is subject to license terms.
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User#
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User#ident "%Z%%M% %I% %E% SMI"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User. /lib/svc/share/smf_include.sh
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews. /lib/svc/share/net_include.sh
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews#
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# In a shared-IP zone we need this service to be up, but all of the work
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# it tries to do is irrelevant (and will actually lead to the service
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews# failing if we try to do it), so just bail out.
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User# In the global zone and exclusive-IP zones we proceed.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews#
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Usersmf_configure_ip || exit $SMF_EXIT_OK
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Usercase "$1" in
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews'refresh')
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User /usr/bin/pkill -HUP -z `smf_zonename` nwamd
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews ;;
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User'start')
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User if smf_is_globalzone; then
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt net_reconfigure || exit $SMF_EXIT_ERR_CONFIG
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater
16f6050f29b6b0422cee858e609f65e474e70ef2Tinderbox User #
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater # Upgrade handling. The upgrade file consists of a series
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt # of dladm(1M) commands. Note that after we are done, we
dc238a06bffa79de141ee7655765e2df91498a8aTinderbox User # cannot rename the upgrade script file as the file system
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User # is still read-only at this point. Defer this to the
aa9c561961e9d877946ebaa8795fa2be054ab7bfEvan Hunt # manifest-import service.
710bce1a85c96e85ca1a90471382055acd29d51fTinderbox User #
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater upgrade_script=/var/svc/profile/upgrade_datalink
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater if [ -f "${upgrade_script}" ]; then
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater . "${upgrade_script}"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews fi
cdfc81e048bd34c1d628380247bda6b80a89e20eAutomatic Updater
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # Initialize security objects.
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews /sbin/dladm init-secobj
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews fi
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews # start nwamd in foreground; it will daemonize itself
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater if /lib/inet/nwamd ; then
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews exit $SMF_EXIT_OK
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews else
16f6050f29b6b0422cee858e609f65e474e70ef2Tinderbox User exit $SMF_EXIT_ERR_FATAL
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews fi
9513a2a6670951f5cf5477fcfec9f933fcaff628Automatic Updater ;;
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
eabc9c3c07cd956d3c436bd7614cb162dabdda76Mark Andrews'stop')
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews /usr/bin/pkill -z `smf_zonename` nwamd
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews ;;
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews'-u')
015055b6e23f5c08f6a5b34726f90b62597e9e45Tinderbox User # After we run this part of the script upon the next reboot
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt # network/physical:default will be enabled and
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt # network/physical:nwam will be disabled.
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User # There are various other parts of the system (nscd, nfs) that
95637507c3d47481fbf0a8a8c750a57f944f677fMark Andrews # depend on continuing to have a working network. For this
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt # reason we don't change the network configuration immediately.
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt SVCADM=/usr/sbin/svcadm
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt SVCCFG=/usr/sbin/svccfg
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt net_phys=svc:/network/physical:default
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt net_nwam=svc:/network/physical:nwam
2ae159b376dac23870d8005563c585acf85a4b5aEvan Hunt
7cc0a5d21ef046bfd630c4769943d896a7d7472cTinderbox User # Disable network/physical temporarily and make sure that will
dedefc0bdbb4e6e39eeb98aa2fc6883efec2ddb0Mark Andrews # be enabled on reboot.
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews $SVCADM disable -st $net_phys
ee11dfc481f2ef6a032a715454f6290961a722d2Tinderbox User $SVCCFG -s $net_phys setprop general/enabled=true
ee11dfc481f2ef6a032a715454f6290961a722d2Tinderbox User
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews # If nwam is online then make sure that it's temporarily enabled.
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User nwam_online=`/usr/bin/svcprop -t -p restarter/state $net_nwam`
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews if [ $? -eq 0 ]; then
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User set -- $nwam_online
0e573cdd111e060e5f6c18249b5ccacbe8abe278Tinderbox User [ $3 = "online" ] && $SVCADM enable -st $net_nwam
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews fi
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews # Set nwam so that it won't be enabled upon reboot.
e40c4e4c17d4df338e2a7db0f84d8dbb3858964cTinderbox User $SVCCFG -s $net_nwam setprop general/enabled=false
77932ac533c711eca5cd86de4e7eca8d91102b43Tinderbox User exit 0
c651f15b30f1dae5cc2f00878fb5da5b3a35a468Mark Andrews ;;
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson'-c')
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User # Nothing to do for sysidtool
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews exit 0
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User ;;
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User*)
efb0e886f18894a1d2489f1ad74ad14b579e11c7Mark Andrews echo "Usage: $0 { start | stop | refresh }"
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrews exit $SMF_EXIT_ERR_FATAL
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox User ;;
0eb371ca0dab50ae3462e98794a6126198c52f4bMark Andrewsesac
9ecb5d33470ebfb3719a1b8d56bcefdf4b27f7b2Tinderbox Userexit $SMF_EXIT_OK
91216cff91b34c9ff6e846dc23f248219cafe660Andreas Gustafsson