components/isc-dhcp/Solaris/isc-dhcp.sh
author zihao.zhu@oracle.com <zihao.zhu@oracle.com>
Mon, 17 Oct 2016 09:22:53 -0700
changeset 7116 24e5d18aa27c
parent 6259 352cbf24c3f9
permissions -rw-r--r--
23606339 openldap role audit class not set to "cusa"
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
#
6093
89cd363fa5c9 22879627 problem in SERVICE/DHCP-SERVER
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 898
diff changeset
    24
# Copyright (c) 2011, 2016, 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
6259
352cbf24c3f9 23614944 ISC should be helpful in case of unwritable lease file
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 6093
diff changeset
    32
CHOWN=/usr/bin/chown
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    33
TOUCH=/usr/bin/touch
6259
352cbf24c3f9 23614944 ISC should be helpful in case of unwritable lease file
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 6093
diff changeset
    34
ID=/usr/bin/id
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    35
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    36
DHCPD_IPV4="svc:/network/dhcp/server:ipv4"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    37
DHCPD_IPV6="svc:/network/dhcp/server:ipv6"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    38
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
    39
DHCPRELAY_IPV6="svc:/network/dhcp/relay:ipv6"
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    40
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    41
DHCPD_BIN="/usr/lib/inet/dhcpd"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    42
DHCPRELAY_BIN="/usr/lib/inet/dhcrelay"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    43
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
# 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
    46
#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    47
smf_configure_ip || exit $SMF_EXIT_OK
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    48
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    49
if [ -z $SMF_FMRI ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    50
	echo "SMF framework variables are not initialized."
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    51
	exit $SMF_EXIT_ERR
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    52
fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    53
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 fmri propname
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    56
#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    57
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
    58
	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
    59
	# 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
    60
	if [ "$VALUE" != "\"\"" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    61
		echo $VALUE
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    62
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    63
}
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    64
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    65
errlog () {
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    66
	echo $1 >&2
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    67
}
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_common_options() {
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
	# get debug property value 
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    72
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    73
	if [ "`get_prop debug`" = "true" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    74
		DEBUG="-d"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    75
	else
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    76
		DEBUG="-q"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    77
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    78
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    79
	export OPTIONS="$OPTIONS $DEBUG"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    80
	return 0
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    81
}
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
    82
893
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
# 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
    85
#
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    86
#     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
    87
#     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
    88
#			to ""
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    89
#     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
    90
#			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
    91
#
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    92
# 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
    93
# 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
    94
# 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
    95
# 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
    96
# 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
    97
#
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    98
# Return values:
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
    99
#
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   100
#     0			Success
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   101
#     1			Failure
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   102
#
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   103
expand_prop() {
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   104
	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
   105
		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
   106
		return 1
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   107
	fi
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   108
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   109
	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
   110
	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
   111
	argflag="$3"
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   112
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   113
	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
   114
	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
   115
		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
   116
		return 1
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   117
	fi
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   118
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=""
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   120
	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
   121
		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
   122
	done
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
	return 0
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   125
}
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   126
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   127
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   128
get_dhcpd_options() {
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   129
	# get listen_ifname property value.
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   130
	LISTENIFNAMES="`get_prop listen_ifnames`"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   131
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
	# get common config file properties
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   134
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   135
	CONFIGFILE=`get_prop config_file`
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   136
	if [ -z "$CONFIGFILE" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   137
		errlog "No config_file specified, exiting"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   138
		return 1
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   139
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   140
	if [ ! -f "$CONFIGFILE" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   141
		errlog "Required config_file $CONFIGFILE not found, exiting"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   142
		return 1
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   143
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   144
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
	# 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
   147
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   148
	LEASEFILE=`get_prop lease_file`
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   149
	if [ -z "$LEASEFILE" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   150
		errlog "No lease_file specified, exiting"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   151
		return 1
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   152
	fi
6259
352cbf24c3f9 23614944 ISC should be helpful in case of unwritable lease file
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 6093
diff changeset
   153
352cbf24c3f9 23614944 ISC should be helpful in case of unwritable lease file
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 6093
diff changeset
   154
	LEASEFILE_PERMS="u=rw,go=r"
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   155
	if [ ! -f "$LEASEFILE" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   156
		$TOUCH $LEASEFILE
6259
352cbf24c3f9 23614944 ISC should be helpful in case of unwritable lease file
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 6093
diff changeset
   157
		$CHMOD $LEASEFILE_PERMS $LEASEFILE
352cbf24c3f9 23614944 ISC should be helpful in case of unwritable lease file
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 6093
diff changeset
   158
	fi
352cbf24c3f9 23614944 ISC should be helpful in case of unwritable lease file
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 6093
diff changeset
   159
	if [ ! -w "$LEASEFILE" ]; then
352cbf24c3f9 23614944 ISC should be helpful in case of unwritable lease file
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 6093
diff changeset
   160
		errlog "Lease file '$LEASEFILE' is not writable. You should:"
352cbf24c3f9 23614944 ISC should be helpful in case of unwritable lease file
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 6093
diff changeset
   161
		errlog "$CHOWN $($ID -u -n) '$LEASEFILE'"
352cbf24c3f9 23614944 ISC should be helpful in case of unwritable lease file
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 6093
diff changeset
   162
		errlog "$CHMOD $LEASEFILE_PERMS '$LEASEFILE'"
352cbf24c3f9 23614944 ISC should be helpful in case of unwritable lease file
Vladimir Marek <Vladimir.Marek@oracle.com>
parents: 6093
diff changeset
   163
		return 1
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   164
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   165
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   166
	export OPTIONS="$OPTIONS -cf $CONFIGFILE -lf $LEASEFILE $LISTENIFNAMES"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   167
	return 0
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   168
}
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
get_dhcprelay_options_v4() {
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   171
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   172
	# Get append_agent_option V4 property value 
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   173
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   174
	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
   175
		APPEND="-a -m append"
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   176
	else
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   177
		APPEND=""
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   178
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   179
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   180
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   181
	# get listen_ifname property value and modify it.  
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   182
	# 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
   183
	# 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
   184
	#
893
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   185
	IIFLIST=
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   186
	expand_prop listen_ifnames IIFLIST -i || return $?
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   187
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   188
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   189
	# 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
   190
	# 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
   191
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   192
	# 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
   193
	# first specify a server using svccfg/setprop command
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   194
	# before enabling service.
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
	DHCPSERVERS=`get_prop servers`
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   197
	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
   198
		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
   199
		return 1
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   200
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   201
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   202
	export OPTIONS="$OPTIONS -4 $APPEND $IIFLIST $DHCPSERVERS"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   203
	return 0
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   204
}
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   205
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   206
get_dhcprelay_options_v6() {
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   207
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   208
	# Get receivelinks  V6 property value and modify it:
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   209
	# 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
   210
	# 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
   211
	# bge2 -l 1.2.3.4%iprb".
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   212
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   213
	# 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
   214
	# first specify a server using svccfg/setprop command
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   215
	# before enabling service.
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   216
	#
893
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   217
	IRECVLINKS=
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   218
	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
   219
	#
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   220
	# 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
   221
	# 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
   222
	# 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
   223
	# bge2"
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
	# 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
   226
	# first specify a server using svccfg/setprop command
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   227
	# before enabling service.
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   228
	#
893
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   229
	IFWDLINKS=
f9f75acab23a 7152983 isc-dhcp faulty usage of sed to replace a tab
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 722
diff changeset
   230
	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
   231
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   232
	export OPTIONS="$OPTIONS -6 $IRECVLINKS $IFWDLINKS"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   233
}
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   234
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   235
export OPTIONS="--no-pid"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   236
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   237
case "$SMF_FMRI" in
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   238
"$DHCPD_IPV4"|"$DHCPD_IPV6")
6093
89cd363fa5c9 22879627 problem in SERVICE/DHCP-SERVER
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 898
diff changeset
   239
	# get omapi_conn_limit property value.
89cd363fa5c9 22879627 problem in SERVICE/DHCP-SERVER
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 898
diff changeset
   240
	export OMAPI_CONN_LIMIT=`get_prop omapi_conn_limit`
89cd363fa5c9 22879627 problem in SERVICE/DHCP-SERVER
Ben Chang <Benjamin.Chang@Oracle.COM>
parents: 898
diff changeset
   241
280
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   242
	get_common_options
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   243
	if [ "$?" != "0" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   244
		exit $SMF_EXIT_ERR_CONFIG
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   245
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   246
	get_dhcpd_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
	if [ "$SMF_FMRI" = "$DHCPD_IPV4" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   251
		OPTIONS="-4 $OPTIONS"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   252
	else
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   253
		OPTIONS="-6 $OPTIONS"
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   254
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   255
	export EXECFILE=$DHCPD_BIN
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
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   258
$DHCPRELAY_IPV4)
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   259
	get_common_options
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   260
	if [ $? != "0" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   261
		exit $SMF_EXIT_ERR_CONFIG
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   262
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   263
	get_dhcprelay_options_v4
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   264
	if [ $? != "0" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   265
		exit $SMF_EXIT_ERR_CONFIG
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   266
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   267
	export EXECFILE=$DHCPRELAY_BIN
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
$DHCPRELAY_IPV6)
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   271
	get_common_options
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   272
	if [ $? != "0" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   273
		exit $SMF_EXIT_ERR_CONFIG
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   274
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   275
	get_dhcprelay_options_v6
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   276
	if [ $? != "0" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   277
		exit $SMF_EXIT_ERR_CONFIG
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   278
	fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   279
	export EXECFILE=$DHCPRELAY_BIN
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   280
	;;
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   281
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
        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
   284
        exit $SMF_EXIT_ERR_FATAL
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   285
	;;
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
esac
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   288
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   289
# Now start the daemon
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   290
if [ "$DEBUG" = "-d" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   291
	$EXECFILE $OPTIONS &
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   292
else
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   293
	$EXECFILE $OPTIONS
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   294
fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   295
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   296
if [ "$?" != "0" ]; then
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   297
	exit $SMF_EXIT_ERR_FATAL
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   298
fi
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   299
c0dae1e3ca2f PSARC 2011/043 Import ISC DHCP
Rishi Srivatsavai <Rishi.Srivatsavai@oracle.com>
parents:
diff changeset
   300
exit $SMF_EXIT_OK