1 <?xml version='1.0' ?>
2 <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
3 <!--
4
5 This file and its contents are supplied under the terms of the
6 Common Development and Distribution License ("CDDL"), version 1.0.
7 You may only use this file in accordance with the terms of version
8 1.0 of the CDDL.
9
10 A full copy of the text of the CDDL should have accompanied this
11 source. A copy of the CDDL is also available via the Internet at
12 http://www.illumos.org/license/CDDL.
13
14 Copyright 2014 OmniTI Computer Consulting, Inc. All rights reserved.
15
16 -->
17
18 <!-- XXX KEBE SAYS we need more properties, and we may need a method
19 script to start these running.
20 -->
21
22 <service_bundle type='manifest' name='isc-dhcp'>
23
24 <service name='network/service/dhcp' type='service' version='1'>
25 <dependency name='loopback' grouping='require_all'
26 restart_on='none' type='service'>
27 <service_fmri value='svc:/network/loopback:default' />
28 </dependency>
29
30 <dependency name='physical' grouping='require_all'
31 restart_on='none' type='service'>
32 <service_fmri value='svc:/network/physical:default' />
33 </dependency>
34
35 <dependency name='localfs' grouping='require_all'
36 restart_on='none' type='service'>
37 <service_fmri value='svc:/system/filesystem/local:default' />
38 </dependency>
39
40 <instance name='ipv4' enabled='false'>
41 <exec_method name='start' type='method'
42 exec='/usr/sbin/dhcpd'
43 timeout_seconds='60' />
44
45 <exec_method name='stop' type='method'
46 exec=':kill'
47 timeout_seconds='60' />
48
49 <exec_method name='refresh' type='method'
50 exec=':kill -HUP'
51 timeout_seconds='60' />
52
53 <property_group name='general' type='framework'>
54 <propval name='action_authorization' type='astring'
55 value='omnios.smf.manage.dhcp' />
56 </property_group>
57
58 <template>
59 <common_name>
60 <loctext xml:lang='C'>ISC DHCP server</loctext>
61 </common_name>
62
63 <documentation>
64 <manpage title='dhcpd' section='8' />
65 <doc_link name='isc.org' uri='http://isc.org' />
66 </documentation>
67 </template>
68 </instance>
69
70 <instance name='ipv6' enabled='false'>
71 <exec_method name='start' type='method'
72 exec='/usr/sbin/dhcpd -6'
73 timeout_seconds='60' />
74
75 <exec_method name='stop' type='method'
76 exec=':kill'
77 timeout_seconds='60' />
78
79 <exec_method name='refresh' type='method'
80 exec=':kill -HUP'
81 timeout_seconds='60' />
82
83 <property_group name='general' type='framework'>
84 <propval name='action_authorization' type='astring'
85 value='omnios.smf.manage.dhcp' />
86 </property_group>
87
88 <template>
89 <common_name>
90 <loctext xml:lang='C'>ISC DHCPv6 server</loctext>
91 </common_name>
92
93 <documentation>
94 <manpage title='dhcpd' section='8' />
95 <doc_link name='isc.org' uri='http://isc.org' />
96 </documentation>
97 </template>
98 </instance>
99
100 <stability value='Evolving' />
101
102 </service>
103
104 <service name='network/service/dhcrelay' type='service' version='1'>
105 <dependency name='loopback' grouping='require_all'
106 restart_on='none' type='service'>
107 <service_fmri value='svc:/network/loopback:default' />
108 </dependency>
109
110 <dependency name='physical' grouping='require_all'
111 restart_on='none' type='service'>
112 <service_fmri value='svc:/network/physical:default' />
113 </dependency>
114
115 <dependency name='localfs' grouping='require_all'
116 restart_on='none' type='service'>
117 <service_fmri value='svc:/system/filesystem/local:default' />
118 </dependency>
119
120 <instance name='ipv4' enabled='false'>
121 <exec_method name='start' type='method'
122 exec='/usr/sbin/dhcrelay %{server}'
123 timeout_seconds='60' />
124
125 <exec_method name='stop' type='method'
126 exec=':kill'
127 timeout_seconds='60' />
128
129 <exec_method name='refresh' type='method'
130 exec=':kill -HUP'
131 timeout_seconds='60' />
132
133 <property_group name='general' type='framework'>
134 <propval name='action_authorization' type='astring'
135 value='omnios.smf.manage.dhcp' />
136 </property_group>
137
138 <property_group name='application' type='application'>
139 <!-- A space-separated server list is acceptable here for now. -->
140 <propval name='server' type='astring' value='' />
141 </property_group>
142
143 <template>
144 <common_name>
145 <loctext xml:lang='C'>ISC DHCP relay</loctext>
146 </common_name>
147
148 <documentation>
149 <manpage title='dhcrelay' section='8' />
150 <doc_link name='isc.org' uri='http://isc.org' />
151 </documentation>
152 </template>
153 </instance>
154
155 <instance name='ipv6' enabled='false'>
156 <exec_method name='start' type='method'
157 exec='/usr/sbin/dhcrelay -6 -l %{lower} -u %{upper}'
158 timeout_seconds='60' />
159
160 <exec_method name='stop' type='method'
161 exec=':kill'
162 timeout_seconds='60' />
163
164 <exec_method name='refresh' type='method'
165 exec=':kill -HUP'
166 timeout_seconds='60' />
167
168 <property_group name='general' type='framework'>
169 <propval name='action_authorization' type='astring'
170 value='omnios.smf.manage.dhcp' />
171 </property_group>
172
173 <property_group name='application' type='application'>
174 <propval name='server' type='astring' value='' />
175 <!-- For now, just accept one upper and one lower.
176 We'll need to do ranges later.
177 -->
178 <propval name='upper' type='astring' value='' />
179 <propval name='lower' type='astring' value='' />
180 </property_group>
181
182 <template>
183 <common_name>
184 <loctext xml:lang='C'>ISC DHCPv6 relay</loctext>
185 </common_name>
186
187 <documentation>
188 <manpage title='dhcpd' section='8' />
189 <doc_link name='isc.org' uri='http://isc.org' />
190 </documentation>
191 </template>
192 </instance>
193
194 <stability value='Evolving' />
195
196 </service>
197
198 </service_bundle>