Home | History | Annotate | Download | only in milestone
      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 2009 Sun Microsystems, Inc.  All rights reserved.
     24 # Use is subject to license terms.
     25 #
     26 # This is the second phase of TCP/IP configuration.  The first part is
     27 # run by the svc:/network/physical service and includes configuring the
     28 # interfaces and setting the machine's hostname.  The svc:/network/initial
     29 # service does all configuration that can be done before name services are
     30 # started, bar configuring IP routing (this is carried out by the
     31 # svc:/network/routing-setup service).  The final part, run by the
     32 # svc:/network/service service,  does all configuration that may require
     33 # name services.  This includes a final re-configuration of the
     34 # interfaces.
     35 #
     36 
     37 . /lib/svc/share/smf_include.sh
     38 
     39 #
     40 # In a shared-IP zone we need this service to be up, but all of the work
     41 # it tries to do is irrelevant (and will actually lead to the service 
     42 # failing if we try to do it), so just bail out. 
     43 # In the global zone and exclusive-IP zones we proceed.
     44 #
     45 smf_configure_ip || exit $SMF_EXIT_OK
     46 
     47 # Configure IPv6 Default Address Selection.
     48 if [ -f /etc/inet/ipaddrsel.conf ]; then
     49 	/usr/sbin/ipaddrsel -f /etc/inet/ipaddrsel.conf
     50 fi
     51 
     52 #
     53 # If explicit IPMP groups are being used, in.mpathd will already be started.
     54 # However, if TRACK_INTERFACES_ONLY_WITH_GROUPS=no and no explicit IPMP
     55 # groups have been configured, then it still needs to be started.  So, fire
     56 # it up in "adopt" mode; if there are no interfaces it needs to manage, it
     57 # will automatically exit.
     58 #
     59 /usr/bin/pgrep -x -u 0 -z `smf_zonename` in.mpathd >/dev/null 2>&1 || \
     60     /usr/lib/inet/in.mpathd -a
     61 
     62 #
     63 # Set the RFC 1948 entropy, regardless of if I'm using it or not.  If present,
     64 # use the encrypted root password as a source of entropy.  Otherwise,
     65 # just use the pre-set (and hopefully difficult to guess) entropy that
     66 # tcp used when it loaded.
     67 #
     68 encr=`/usr/bin/awk -F: '/^root:/ {print $2}' /etc/shadow`
     69 [ -z "$encr" ] || /usr/sbin/ndd -set /dev/tcp tcp_1948_phrase $encr
     70 unset encr
     71 
     72 # Set the SDP system Policy.  This needs to happen after basic
     73 # networking is up but before any networking services that might
     74 # want to use SDP are enabled
     75 if [ -f /usr/sbin/sdpadm -a -f /etc/sdp.conf ]; then
     76 	. /etc/sdp.conf
     77 	if [ "$sysenable" = "1" ]; then
     78 		/usr/sbin/sdpadm enable
     79 	fi
     80 fi
     81 
     82 #
     83 # Set TCP ISS generation.  By default the ISS generation is
     84 # time + random()-delta.  This might not be strong enough for some users.
     85 # See /etc/default/inetinit for settings and further info on TCP_STRONG_ISS.
     86 # If not set, use TCP's internal default setting.
     87 #
     88 [ -f /etc/default/inetinit ] && . /etc/default/inetinit
     89 if [ $TCP_STRONG_ISS ]; then
     90 	/usr/sbin/ndd -set /dev/tcp tcp_strong_iss $TCP_STRONG_ISS
     91 fi
     92 
     93 # Clear exit status.
     94 exit $SMF_EXIT_OK
     95