xref: /illumos-gate/usr/src/cmd/fs.d/nfs/svc/server.xml (revision 7153155797a2d348ef707cf0655ea4f87b029013)
1<?xml version="1.0"?>
2<!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
3<!--
4
5 CDDL HEADER START
6
7 The contents of this file are subject to the terms of the
8 Common Development and Distribution License (the "License").
9 You may not use this file except in compliance with the License.
10
11 You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
12 or http://www.opensolaris.org/os/licensing.
13 See the License for the specific language governing permissions
14 and limitations under the License.
15
16 When distributing Covered Code, include this CDDL HEADER in each
17 file and include the License file at usr/src/OPENSOLARIS.LICENSE.
18 If applicable, add the following below this CDDL HEADER, with the
19 fields enclosed by brackets "[]" replaced with your own identifying
20 information: Portions Copyright [yyyy] [name of copyright owner]
21
22 CDDL HEADER END
23
24	Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved.
25	Copyright (c) 2012 by Delphix. All rights reserved.
26	Copyright 2014 Nexenta Systems, Inc.  All rights reserved
27	Copyright 2016 Hans Rosenfeld <rosenfeld@grumpf.hope-2000.org>
28
29	NOTE:  This service manifest is not editable; its contents will
30	be overwritten by package or patch operations, including
31	operating system upgrade.  Make customizations in a different
32	file.
33
34	Note: if this service is modified to consist of anything other
35	than a single instance named 'default', you must make changes to
36	$SRC/head/rpcsvc/daemon_utils.h and libnsl:open_daemon_lock().
37-->
38
39<service_bundle type='manifest' name='SUNWnfssr:nfs-server'>
40
41<service
42	name='network/nfs/server'
43	type='service'
44	version='2'>
45
46	<dependency name='network'
47	    grouping='require_any'
48	    restart_on='error'
49	    type='service'>
50		<service_fmri value='svc:/milestone/network' />
51	</dependency>
52
53	<dependency name='nlockmgr'
54	    grouping='require_all'
55	    restart_on='error'
56	    type='service'>
57		<service_fmri value='svc:/network/nfs/nlockmgr' />
58	</dependency>
59
60	<dependency name='mapid'
61	    grouping='optional_all'
62	    restart_on='error'
63	    type='service'>
64		<service_fmri value='svc:/network/nfs/mapid' />
65	</dependency>
66
67	<dependency name='rpcbind'
68	    grouping='require_all'
69	    restart_on='restart'
70	    type='service'>
71		<service_fmri value='svc:/network/rpc/bind' />
72	</dependency>
73
74	<dependency name='keyserv'
75	    grouping='optional_all'
76	    restart_on='none'
77	    type='service'>
78		<service_fmri value='svc:/network/rpc/keyserv' />
79	</dependency>
80
81	<dependency name='gss'
82	    grouping='optional_all'
83	    restart_on='none'
84	    type='service'>
85		<service_fmri value='svc:/network/rpc/gss' />
86	</dependency>
87
88	<dependency name='share-group'
89	    grouping='optional_all'
90	    restart_on='none'
91	    type='service'>
92		<service_fmri value='svc:/network/shares/group' />
93	</dependency>
94
95	<dependency name='reparse'
96	    grouping='optional_all'
97	    restart_on='none'
98	    type='service'>
99		<service_fmri value='svc:/system/filesystem/reparse' />
100	</dependency>
101
102	<!-- Must have all local filesystems mounted before we share them -->
103	<dependency name='filesystem-local'
104	    grouping='require_all'
105	    restart_on='error'
106	    type='service'>
107	    	<service_fmri value='svc:/system/filesystem/local' />
108	</dependency>
109
110	<dependent
111		name='nfs-server_multi-user-server'
112		grouping='optional_all'
113		restart_on='none'>
114		<service_fmri value='svc:/milestone/multi-user-server' />
115	</dependent>
116
117	<!--
118	  The shareall done as part of the nfs-server method may take a
119	  long time, as the contents of dfstab can be arbitrarily large.
120	  Set the timeout appropriately for both 'start' and 'refresh'.
121	-->
122	<exec_method
123	    type='method'
124	    name='start'
125	    exec='/lib/svc/method/nfs-server %m'
126	    timeout_seconds='3600' />
127
128	<exec_method
129	    type='method'
130	    name='refresh'
131	    exec='/lib/svc/method/nfs-server %m'
132	    timeout_seconds='3600' />
133
134	<!--
135	  The stop method runs unshareall as well as up to a 10 second
136	  sleep to do graceful versus forceful shutdown of daemons.  Set
137	  the timeout appropriately.
138	-->
139	<exec_method
140	    type='method'
141	    name='stop'
142	    exec='/lib/svc/method/nfs-server %m %{restarter/contract}'
143	    timeout_seconds='3600' />
144
145	<property_group name='application' type='framework'>
146		<stability value='Evolving' />
147		<propval name='auto_enable' type='boolean' value='true' />
148	</property_group>
149
150	<property_group name='firewall_context' type='com.sun,fw_definition'>
151		<propval name='name' type='astring' value='nfsd' />
152		<propval name='ipf_method' type='astring'
153		    value='/lib/svc/method/nfs-server ipfilter' />
154	</property_group>
155
156	<property_group name='firewall_config' type='com.sun,fw_configuration'>
157		<propval name='policy' type='astring' value='use_global' />
158		<propval name='block_policy' type='astring'
159			value='use_global' />
160		<propval name='apply_to' type='astring' value='' />
161		<propval name='apply_to_6' type='astring' value='' />
162		<propval name='exceptions' type='astring' value='' />
163		<propval name='exceptions_6' type='astring' value='' />
164		<propval name='target' type='astring' value='' />
165		<propval name='target_6' type='astring' value='' />
166		<propval name='value_authorization' type='astring'
167			value='solaris.smf.value.firewall.config' />
168	</property_group>
169	<instance name='default' enabled='false'>
170	 <property_group name='nfs-props' type='com.oracle.nfs,props'>
171	   <propval name='device' type='astring' value=''/>
172	   <propval name='listen_backlog' type='integer' value='32'/>
173	   <propval name='max_connections' type='integer' value='-1'/>
174	   <propval name='protocol' type='astring' value='ALL'/>
175	   <propval name='server_delegation' type='astring' value='on'/>
176	   <propval name='server_versmax' type='integer' value='4'/>
177	   <propval name='server_versmin' type='integer' value='2'/>
178	   <propval name='servers' type='integer' value='1024'/>
179	   <propval name='mountd_listen_backlog' type='integer' value='64'/>
180	   <propval name='mountd_max_threads' type='integer' value='16'/>
181	 </property_group>
182	</instance>
183
184	<stability value='Stable' />
185
186	<template>
187		<common_name>
188			<loctext xml:lang='C'>
189				NFS server
190			</loctext>
191		</common_name>
192		<documentation>
193			<manpage title='nfsd' section='1M'
194				manpath='/usr/share/man' />
195		</documentation>
196	</template>
197</service>
198
199</service_bundle>
200