components/isc-dhcp/isc-dhcp
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Mon, 11 Mar 2013 10:38:09 -0700
branchs11-update
changeset 2520 ceec631e74d1
parent 898 1b10a9e1d78c
permissions -rw-r--r--
Close of build 10.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
     1
#!/sbin/sh
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
     2
#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
     3
# CDDL HEADER START
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
     4
#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
     5
# The contents of this file are subject to the terms of the
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
     6
# Common Development and Distribution License (the "License").
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
     7
# You may not use this file except in compliance with the License.
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
     8
#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
     9
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    10
# or http://www.opensolaris.org/os/licensing.
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    11
# See the License for the specific language governing permissions
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    12
# and limitations under the License.
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    13
#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    14
# When distributing Covered Code, include this CDDL HEADER in each
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    15
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    16
# If applicable, add the following below this CDDL HEADER, with the
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    17
# fields enclosed by brackets "[]" replaced with your own identifying
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    18
# information: Portions Copyright [yyyy] [name of copyright owner]
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    19
#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    20
# CDDL HEADER END
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    21
#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    22
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    23
#
722
db6c773d591a 7143416 setting config/append_agent_option to true prevents dhcrelay from starting
Krishnan Chandrashekar <Krishnan.Chandrashekar@oracle.COM>
parents: 280
diff changeset
    24
# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    25
#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    26
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    27
. /lib/svc/share/smf_include.sh
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    28
. /lib/svc/share/net_include.sh
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    29
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    30
SVCPROP=/usr/bin/svcprop
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    31
CHMOD=/usr/bin/chmod
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    32
TOUCH=/usr/bin/touch
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    33
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    34
DHCPD_IPV4="svc:/network/dhcp/server:ipv4"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    35
DHCPD_IPV6="svc:/network/dhcp/server:ipv6"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    36
DHCPRELAY_IPV4="svc:/network/dhcp/relay:ipv4"
722
db6c773d591a 7143416 setting config/append_agent_option to true prevents dhcrelay from starting
Krishnan Chandrashekar <Krishnan.Chandrashekar@oracle.COM>
parents: 280
diff changeset
    37
DHCPRELAY_IPV6="svc:/network/dhcp/relay:ipv6"
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    38
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    39
DHCPD_BIN="/usr/lib/inet/dhcpd"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    40
DHCPRELAY_BIN="/usr/lib/inet/dhcrelay"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    41
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    42
#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    43
# dhcpd/dhcprelay can run in a global or exclusive-stack zone only
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    44
#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    45
smf_configure_ip || exit $SMF_EXIT_OK
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    46
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    47
if [ -z $SMF_FMRI ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    48
	echo "SMF framework variables are not initialized."
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    49
	exit $SMF_EXIT_ERR
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    50
fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    51
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    52
#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    53
# get_prop fmri propname
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    54
#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    55
get_prop () {
722
db6c773d591a 7143416 setting config/append_agent_option to true prevents dhcrelay from starting
Krishnan Chandrashekar <Krishnan.Chandrashekar@oracle.COM>
parents: 280
diff changeset
    56
	VALUE="`$SVCPROP -cp config/$1 $SMF_FMRI 2>/dev/null`"
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    57
	# Empty astring_list values show up as "" - do not return this.
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    58
	if [ "$VALUE" != "\"\"" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    59
		echo $VALUE
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    60
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    61
}
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    62
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    63
errlog () {
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    64
	echo $1 >&2
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    65
}
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    66
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    67
get_common_options() {
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    68
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    69
	# get debug property value 
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    70
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    71
	if [ "`get_prop debug`" = "true" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    72
		DEBUG="-d"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    73
	else
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    74
		DEBUG="-q"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    75
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    76
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    77
	export OPTIONS="$OPTIONS $DEBUG"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    78
	return 0
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    79
}
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    80
893
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    81
#
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    82
# expand_prop "prop_name" "var_name" [ argflag ]
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    83
#
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    84
#     prop_name		FMRI property name
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    85
#     var_name		variable where result is stored; initialized
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    86
#			to ""
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    87
#     argflag		The flag to be prepended to each property
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    88
#			value; optional argument
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    89
#
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    90
# This function will retrieve the properties for "prop_name" via a call
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    91
# to get_prop(). It will split-up the property values; it assumes that
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    92
# the delimiter is whitespace. It will then prepend "argflag" to each
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    93
# property value. The results will be stored in "var_name" which is
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    94
# passed by reference.
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    95
#
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    96
# Return values:
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    97
#
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    98
#     0			Success
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    99
#     1			Failure
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   100
#
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   101
expand_prop() {
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   102
	if [ $# -lt 2 ] || [ -z $2 ]; then
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   103
		errlog "Internal error - expand_prop() has incorrect arguments"
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   104
		return 1
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   105
	fi
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   106
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   107
	prop_name=$1
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   108
	typeset -n var_name=$2
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   109
	argflag="$3"
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   110
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   111
	prop_values="`get_prop $prop_name`"
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   112
	if [  -z "$prop_values" ]; then
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   113
		errlog "The property, \"${prop_name}\", is empty"
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   114
		return 1
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   115
	fi
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   116
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   117
	var_name=""
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   118
	for item in `IFS= ; set -- $prop_values; echo $@`; do
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   119
		var_name="$var_name $argflag $item"
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   120
	done
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   121
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   122
	return 0
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   123
}
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   124
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   125
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   126
get_dhcpd_options() {
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   127
	# get listen_ifname property value.
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   128
	LISTENIFNAMES="`get_prop listen_ifnames`"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   129
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   130
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   131
	# get common config file properties
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   132
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   133
	CONFIGFILE=`get_prop config_file`
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   134
	if [ -z "$CONFIGFILE" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   135
		errlog "No config_file specified, exiting"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   136
		return 1
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   137
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   138
	if [ ! -f "$CONFIGFILE" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   139
		errlog "Required config_file $CONFIGFILE not found, exiting"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   140
		return 1
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   141
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   142
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   143
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   144
	# If a leasefile does not exist, create an empty file.
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   145
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   146
	LEASEFILE=`get_prop lease_file`
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   147
	if [ -z "$LEASEFILE" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   148
		errlog "No lease_file specified, exiting"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   149
		return 1
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   150
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   151
	if [ ! -f "$LEASEFILE" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   152
		$TOUCH $LEASEFILE
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   153
		$CHMOD u=rw,go=r $LEASEFILE
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   154
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   155
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   156
	export OPTIONS="$OPTIONS -cf $CONFIGFILE -lf $LEASEFILE $LISTENIFNAMES"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   157
	return 0
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   158
}
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   159
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   160
get_dhcprelay_options_v4() {
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   161
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   162
	# Get append_agent_option V4 property value 
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   163
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   164
	if [ "`get_prop append_agent_option`" = "true" ]; then
898
1b10a9e1d78c 7155892 dhcrelay -m append needs -a option to work
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 893
diff changeset
   165
		APPEND="-a -m append"
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   166
	else
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   167
		APPEND=""
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   168
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   169
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   170
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   171
	# get listen_ifname property value and modify it.  
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   172
	# If listen_ifnames property value is "e1000g01 iprb0" then the
722
db6c773d591a 7143416 setting config/append_agent_option to true prevents dhcrelay from starting
Krishnan Chandrashekar <Krishnan.Chandrashekar@oracle.COM>
parents: 280
diff changeset
   173
	# command line option will look like  "-i e1000g0 -i iprb0"
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   174
	#
893
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   175
	IIFLIST=
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   176
	expand_prop listen_ifnames IIFLIST -i || return $?
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   177
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   178
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   179
	# Get servers  V4 property value - command line option will look
893
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   180
	# like  "1.2.3.5" "4.5.6.7".
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   181
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   182
	# NOTE: By default server property value is empty. User must
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   183
	# first specify a server using svccfg/setprop command
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   184
	# before enabling service.
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   185
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   186
	DHCPSERVERS=`get_prop servers`
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   187
	if [  -z "$DHCPSERVERS" ]; then
722
db6c773d591a 7143416 setting config/append_agent_option to true prevents dhcrelay from starting
Krishnan Chandrashekar <Krishnan.Chandrashekar@oracle.COM>
parents: 280
diff changeset
   188
		errlog 'Must specify at least one "servers" property value, exiting'
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   189
		return 1
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   190
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   191
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   192
	export OPTIONS="$OPTIONS -4 $APPEND $IIFLIST $DHCPSERVERS"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   193
	return 0
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   194
}
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   195
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   196
get_dhcprelay_options_v6() {
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   197
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   198
	# Get receivelinks  V6 property value and modify it:
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   199
	# Given property values of "1.2.3.4%bge0#1 bge2,1.2.3.4%iprb",
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   200
	# the command line option will look like  "-l 1.2.3.4%bge0#1 -l
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   201
	# bge2 -l 1.2.3.4%iprb".
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   202
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   203
	# NOTE: By default receivelinks value is empty. User must
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   204
	# first specify a server using svccfg/setprop command
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   205
	# before enabling service.
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   206
	#
893
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   207
	IRECVLINKS=
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   208
	expand_prop receive_query_links IRECVLINKS -l || return $?
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   209
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   210
	# Get forwardlinks V6 property value and modify it:
722
db6c773d591a 7143416 setting config/append_agent_option to true prevents dhcrelay from starting
Krishnan Chandrashekar <Krishnan.Chandrashekar@oracle.COM>
parents: 280
diff changeset
   211
	# Given forward_query_links property value is "1.2.3.4%bge0 bge2,"
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   212
	# then the command line option will look like  "-u 1.2.3.4%bge0 -u
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   213
	# bge2"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   214
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   215
	# NOTE: By default forwardlinks value is empty. User must
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   216
	# first specify a server using svccfg/setprop command
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   217
	# before enabling service.
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   218
	#
893
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   219
	IFWDLINKS=
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   220
	expand_prop forward_query_links IFWDLINKS -u || return $?
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   221
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   222
	export OPTIONS="$OPTIONS -6 $IRECVLINKS $IFWDLINKS"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   223
}
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   224
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   225
export OPTIONS="--no-pid"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   226
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   227
case "$SMF_FMRI" in
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   228
"$DHCPD_IPV4"|"$DHCPD_IPV6")
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   229
	get_common_options
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   230
	if [ "$?" != "0" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   231
		exit $SMF_EXIT_ERR_CONFIG
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   232
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   233
	get_dhcpd_options
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   234
	if [ "$?" != "0" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   235
		exit $SMF_EXIT_ERR_CONFIG
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   236
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   237
	if [ "$SMF_FMRI" = "$DHCPD_IPV4" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   238
		OPTIONS="-4 $OPTIONS"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   239
	else
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   240
		OPTIONS="-6 $OPTIONS"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   241
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   242
	export EXECFILE=$DHCPD_BIN
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   243
	;;
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   244
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   245
$DHCPRELAY_IPV4)
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   246
	get_common_options
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   247
	if [ $? != "0" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   248
		exit $SMF_EXIT_ERR_CONFIG
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   249
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   250
	get_dhcprelay_options_v4
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   251
	if [ $? != "0" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   252
		exit $SMF_EXIT_ERR_CONFIG
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   253
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   254
	export EXECFILE=$DHCPRELAY_BIN
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   255
	;;
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   256
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   257
$DHCPRELAY_IPV6)
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   258
	get_common_options
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   259
	if [ $? != "0" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   260
		exit $SMF_EXIT_ERR_CONFIG
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   261
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   262
	get_dhcprelay_options_v6
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   263
	if [ $? != "0" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   264
		exit $SMF_EXIT_ERR_CONFIG
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   265
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   266
	export EXECFILE=$DHCPRELAY_BIN
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   267
	;;
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   268
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   269
*)
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   270
        echo "isc-dhcp must be invoked from within SMF"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   271
        exit $SMF_EXIT_ERR_FATAL
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   272
	;;
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   273
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   274
esac
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   275
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   276
# Now start the daemon
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   277
if [ "$DEBUG" = "-d" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   278
	$EXECFILE $OPTIONS &
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   279
else
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   280
	$EXECFILE $OPTIONS
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   281
fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   282
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   283
if [ "$?" != "0" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   284
	exit $SMF_EXIT_ERR_FATAL
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   285
fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   286
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   287
exit $SMF_EXIT_OK