1 <?xml version="1.0"?>
   2 <!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1">
   3 <!--
   4  The contents of this file are subject to the terms of the
   5  Common Development and Distribution License (the "License").
   6  You may not use this file except in compliance with the License.
   7 
   8  You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
   9  or http://www.opensolaris.org/os/licensing.
  10  See the License for the specific language governing permissions
  11  and limitations under the License.
  12 
  13  When distributing Covered Code, include this CDDL HEADER in each
  14  file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  15  If applicable, add the following below this CDDL HEADER, with the
  16  fields enclosed by brackets "[]" replaced with your own identifying
  17  information: Portions Copyright [yyyy] [name of copyright owner]
  18 
  19  Copyright 2006 Sun Microsystems, Inc.  All rights reserved.
  20  Use is subject to license terms.
  21  Copyright 2018 Nexenta Systems, Inc.
  22 -->
  23 
  24 <!--
  25  NOTE:  This service manifest is not editable; its contents will
  26  be overwritten by package or patch operations, including
  27  operating system upgrade.  Make customizations in a different
  28  file.
  29 -->
  30 
  31 <service_bundle type='manifest' name='SUNWcsr:routing-setup'>
  32 
  33 <service
  34         name='network/routing-setup'
  35         type='service'
  36         version='1'>
  37 
  38         <!-- loopback/physical network configuration is required -->
  39         <dependency
  40                 name='network'
  41                 grouping='optional_all'
  42                 restart_on='none'
  43                 type='service'>
  44                 <service_fmri value='svc:/milestone/network' />
  45         </dependency>
  46 
  47         <!-- usr filesystem required to run routing-related commands -->
  48         <dependency
  49                 name='filesystem'
  50                 grouping='require_all'
  51                 restart_on='none'
  52                 type='service'>
  53                 <service_fmri value='svc:/system/filesystem/usr' />
  54         </dependency>
  55 
  56         <!--
  57                 This dependency was added to make sure soconfig runs in
  58                 devices-local method, before routeadm invocation in
  59                 network/routing-setup.  This is because routeadm commands
  60                 depend on sockets.
  61         -->
  62         <dependency
  63                 name='devices'
  64                 grouping='require_all'
  65                 restart_on='none'
  66                 type='service'>
  67                 <service_fmri value='svc:/milestone/devices' />
  68         </dependency>
  69 
  70         <!--
  71                 This dependency is required to ensure that all routing-related
  72                 manifests have been imported prior to running routeadm.
  73         -->
  74         <dependency
  75                 name='manifest_import'
  76                 grouping='optional_all'
  77                 restart_on='none'
  78                 type='service'>
  79                 <service_fmri value='svc:/system/manifest-import:default' />
  80         </dependency>
  81 
  82         <exec_method
  83                 type='method'
  84                 name='start'
  85                 exec='/lib/svc/method/net-routing-setup'
  86                 timeout_seconds='600'>
  87         </exec_method>
  88 
  89         <exec_method
  90                 type='method'
  91                 name='stop'
  92                 exec=':true'
  93                 timeout_seconds='3'>
  94         </exec_method>
  95 
  96         <property_group name='startd' type='framework'>
  97                 <propval name='duration' type='astring' value='transient' />
  98         </property_group>
  99 
 100         <instance name='default' enabled='true' >
 101 
 102         <!-- Properties in this group are used by routeadm (1M) -->
 103         <property_group name='routeadm' type='framework'>
 104                 <stability value='Evolving' />
 105                 <!-- set if routeadm -e/d ipv4-routing is explicitly invoked -->
 106                 <propval name='ipv4-routing-set' type='boolean'
 107                         value='false' />
 108                 <!-- set if routeadm -e/d ipv6-routing is explicitly invoked -->
 109                 <propval name='ipv6-routing-set' type='boolean'
 110                         value='false' />
 111                 <!-- set if legacy routing.conf configuration has been read -->
 112                 <propval name='routing-conf-read' type='boolean'
 113                         value='false' />
 114                 <!-- default for ipv4-routing to revert to via routeadm -r -->
 115                 <propval name='default-ipv4-routing' type='boolean'
 116                     value='false' />
 117                 <propval name='default-ipv6-routing' type='boolean'
 118                         value='false' />
 119                 <!-- routing-svcs values, current and default -->
 120                 <propval name='routing-svcs' type='astring' value='' />
 121                 <propval name='default-routing-svcs' type='astring' value='' />
 122                 <propval name='value_authorization' type='astring'
 123                         value='solaris.smf.value.routing' />
 124         </property_group>
 125 
 126         </instance>
 127 
 128         <stability value='Unstable' />
 129 
 130         <template>
 131                 <common_name>
 132                         <loctext xml:lang='C'>
 133                                 Initial routing-related configuration.
 134                         </loctext>
 135                 </common_name>
 136                 <documentation>
 137                         <manpage title='routeadm' section='1M'
 138                                 manpath='/usr/share/man' />
 139                 </documentation>
 140         </template>
 141 </service>
 142 
 143 </service_bundle>