author | Rich Burridge <rich.burridge@oracle.com> |
Wed, 13 Jan 2016 10:30:45 -0800 | |
changeset 5266 | 028461eee75e |
parent 898 | 1b10a9e1d78c |
permissions | -rw-r--r-- |
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 |