1 #!/usr/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, Version 1.0 only 7 # (the "License"). You may not use this file except in compliance 8 # with the License. 9 # 10 # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 11 # or http://www.opensolaris.org/os/licensing. 12 # See the License for the specific language governing permissions 13 # and limitations under the License. 14 # 15 # When distributing Covered Code, include this CDDL HEADER in each 16 # file and include the License file at usr/src/OPENSOLARIS.LICENSE. 17 # If applicable, add the following below this CDDL HEADER, with the 18 # fields enclosed by brackets "[]" replaced with your own identifying 19 # information: Portions Copyright [yyyy] [name of copyright owner] 20 # 21 # CDDL HEADER END 22 # 23 # 24 #ident "%Z%%M% %I% %E% SMI" 25 # 26 # Copyright (c) 2001 by Sun Microsystems, Inc. 27 # All rights reserved. 28 # 29 30 # 31 # Source the utilities. 32 # 33 DIRNAME=`dirname $0` 34 . ${DIRNAME}/utilities.san 35 36 # 37 # Process the input arguments. 38 # 39 VALIDOPTS=d 40 process_args $@ 41 42 # 43 # In case the tester wants to see script output, allow them 44 # to run in debug mode. 45 # 46 TESTNAME=`basename $0` 47 if [ ! -z "${DEBUG}" ] 48 then 49 OUTFILE=/tmp/${TESTNAME}.$$ 50 echo "Output from test: ${TESTNAME}" >${OUTFILE} 51 echo >>${OUTFILE} 52 echo "debug output can be found at ${OUTFILE}" 53 else 54 OUTFILE=/dev/null 55 fi 56 57 # 58 # Set variables. 59 # 60 SRVNAME=`uname -n` 61 SRVADDR=`get_server_ip` 62 DHCP_CONFIG=/etc/inet/dhcpsvc.conf 63 64 # 65 # If the DHCP server is running, kill it. 66 # 67 pkill -x -u 0 in.dhcpd 68 69 # 70 # Make sure to clean up before we configure. 71 # 72 rm -f ${DHCP_CONFIG} >>${OUTFILE} 2>&1 73 74 # 75 # Config. 76 # 77 /usr/sbin/dhcpconfig -R ${SRVADDR} >>${OUTFILE} 2>&1 78 79 # 80 # Verify that the dhcp config file was created. 81 # 82 if [ ! -f ${DHCP_CONFIG} ] 83 then 84 echo "${DHCP_CONFIG} not created." 85 echo "${TESTNAME} - Test failed!" 86 exit 1 87 fi 88 89 # 90 # Verify that the run mode was defined in the config file 91 # 92 DEFLINE=`grep "RUN_MODE=relay" ${DHCP_CONFIG}` 93 if [ -z "${DEFLINE}" ] 94 then 95 echo "RUN_MODE not set correctly in ${DHCP_CONFIG}" 96 echo "${TESTNAME} - Test failed!" 97 exit 1 98 fi 99 100 # 101 # Verify that the relay destinations was defined in the config file 102 # 103 DEFLINE=`grep "RELAY_DESTINATIONS=${SRVADDR}" ${DHCP_CONFIG}` 104 if [ -z "${DEFLINE}" ] 105 then 106 echo "RELAY_DESTINATIONS not set correctly in ${DHCP_CONFIG}" 107 echo "${TESTNAME} - Test failed!" 108 exit 1 109 fi 110 111 # 112 # Verify that the dhcp server was started. 113 # 114 PID=`pgrep -x -u 0 in.dhcpd` 115 if [ -z "${PID}" ] 116 then 117 echo "DHCP Server was not started." 118 echo "${TESTNAME} - Test failed!" 119 exit 1 120 fi 121 122 echo "${TESTNAME} - Test passed." 123 exit 0