usr/src/cmd/quagga/patches/quagga-sunw-smf.patch
branchoi_151a
changeset 228 dc60997879d6
parent 0 b34509ac961f
equal deleted inserted replaced
227:fbe7929c18b4 228:dc60997879d6
     1 --- solaris/quagga.init.in.orig	Tue Jul 17 15:09:24 2007
     1 --- solaris/quagga.init.in.orig	Sun Feb 27 09:25:54 2011
     2 +++ solaris/quagga.init.in	Tue Jul 17 15:14:59 2007
     2 +++ solaris/quagga.init.in	Sun Feb 27 09:36:47 2011
     3 @@ -1,6 +1,6 @@
     3 @@ -1,6 +1,6 @@
     4  #!/sbin/sh
     4  #!/sbin/sh
     5  #
     5  #
     6 -# Copyright 2001,2003 Sun Microsystems, Inc. All rights reserved.
     6 -# Copyright 2001,2003 Sun Microsystems, Inc. All rights reserved.
     7 +# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
     7 +# Copyright (c) 2007, 2011, Oracle and/or its affiliates. All rights reserved.
     8  # Use is subject to license terms.
     8  # Use is subject to license terms.
     9  #
     9  #
    10  # This file is part of Quagga.
    10  # This file is part of Quagga.
    11 @@ -25,20 +25,163 @@
    11 @@ -25,20 +25,164 @@
    12  # Starts/stops the given daemon
    12  # Starts/stops the given daemon
    13  
    13  
    14  SMFINCLUDE=/lib/svc/share/smf_include.sh
    14  SMFINCLUDE=/lib/svc/share/smf_include.sh
    15 +ROUTEADMINCLUDE=/lib/svc/share/routing_include.sh
    15 +ROUTEADMINCLUDE=/lib/svc/share/routing_include.sh
    16 +GLOBAL_OPTIONS="PAfiug"
    16 +GLOBAL_OPTIONS="PAfiug"
   123 +	fi
   123 +	fi
   124 +
   124 +
   125 +	case $1 in
   125 +	case $1 in
   126 +	zebra)
   126 +	zebra)
   127 +		args="${args} `get_daemon_option_from_boolean_property $SMF_FMRI batch -b true`"
   127 +		args="${args} `get_daemon_option_from_boolean_property $SMF_FMRI batch -b true`"
       
   128 +		args="${args} `get_daemon_option_from_boolean_property $SMF_FMRI retain -r true`"
   128 +		;;
   129 +		;;
   129 +	ripd|ripngd)
   130 +	ripd|ripngd)
   130 +		args="${args} `get_daemon_option_from_boolean_property $SMF_FMRI retain -r true`"
   131 +		args="${args} `get_daemon_option_from_boolean_property $SMF_FMRI retain -r true`"
   131 +		;;
   132 +		;;
   132 +	bgpd)
   133 +	bgpd)
   173 +		. "$ROUTEADMINCLUDE"
   174 +		. "$ROUTEADMINCLUDE"
   174 +	fi
   175 +	fi
   175  else
   176  else
   176  	# pre-SMF system, fake up any functions and exit codes
   177  	# pre-SMF system, fake up any functions and exit codes
   177  	# which SMFINCLUDE usually provides.
   178  	# which SMFINCLUDE usually provides.
   178 @@ -55,7 +198,7 @@
   179 @@ -55,7 +199,7 @@
   179  
   180  
   180  usage () {
   181  usage () {
   181  	if smf_present ; then
   182  	if smf_present ; then
   182 -		echo "Usage: $0 <daemon> <daemon arguments>";
   183 -		echo "Usage: $0 <daemon> <daemon arguments>";
   183 +		echo "Usage: $0 <daemon>";
   184 +		echo "Usage: $0 <daemon>";
   184  	else
   185  	else
   185  		echo "Usage: $0 <stop|start> <daemon> <daemon arguments>";
   186  		echo "Usage: $0 <stop|start> <daemon> <daemon arguments>";
   186  	fi
   187  	fi
   187 @@ -67,7 +210,7 @@
   188 @@ -67,7 +211,7 @@
   188  case $1 in
   189  case $1 in
   189  	'help' | 'usage')
   190  	'help' | 'usage')
   190  		usage
   191  		usage
   191 -		exit SMF_EXIT_OK
   192 -		exit SMF_EXIT_OK
   192 +		exit $SMF_EXIT_OK
   193 +		exit $SMF_EXIT_OK
   193  		;;
   194  		;;
   194  esac
   195  esac
   195  
   196  
   196 @@ -79,8 +222,6 @@
   197 @@ -79,8 +223,6 @@
   197  fi
   198  fi
   198  
   199  
   199  DAEMON="$1"
   200  DAEMON="$1"
   200 -shift
   201 -shift
   201 -DAEMON_ARGS="$@"
   202 -DAEMON_ARGS="$@"
   202  
   203  
   203  # daemon path must be given
   204  # daemon path must be given
   204  if [ -z "$DAEMON_PATH/$DAEMON" ]; then
   205  if [ -z "$DAEMON_PATH/$DAEMON" ]; then
   205 @@ -91,12 +232,9 @@
   206 @@ -91,12 +233,9 @@
   206  # only bgpd is suitable for running in a non-global zone, at this
   207  # only bgpd is suitable for running in a non-global zone, at this
   207  # time.
   208  # time.
   208  case "${DAEMON}" in
   209  case "${DAEMON}" in
   209 -	zebra)
   210 -	zebra)
   210 -		quagga_is_globalzone || exit $SMF_EXIT_OK
   211 -		quagga_is_globalzone || exit $SMF_EXIT_OK
   214 -	ospfd | ospf6d | ripd | ripngd )
   215 -	ospfd | ospf6d | ripd | ripngd )
   215 +	zebra | ospfd | ospf6d | ripd | ripngd )
   216 +	zebra | ospfd | ospf6d | ripd | ripngd )
   216  		quagga_is_globalzone || exit $SMF_EXIT_OK
   217  		quagga_is_globalzone || exit $SMF_EXIT_OK
   217  	;;
   218  	;;
   218  	*)
   219  	*)
   219 @@ -105,6 +243,27 @@
   220 @@ -105,6 +244,27 @@
   220  	;;
   221  	;;
   221  esac
   222  esac
   222  
   223  
   223 +# Older Quagga SMF packages pass daemon args on the commandline
   224 +# Older Quagga SMF packages pass daemon args on the commandline
   224 +# Newer SMF routeadm model uses properties for each argument
   225 +# Newer SMF routeadm model uses properties for each argument
   225 +# so we must handle that.
   226 +# so we must handle that.
   226 +if [ smf_present -a -f "$ROUTEADMINCLUDE" ]; then
   227 +if [ smf_present -a -f "$ROUTEADMINCLUDE" ]; then
   227 +	handle_routeadm_upgrade $DAEMON;
   228 +	handle_routeadm_upgrade $DAEMON;
   228 +	DAEMON_ARGS=`routeadm_daemon_args`;
   229 +	DAEMON_ARGS=`routeadm_daemon_args $DAEMON`;
   229 +	routeadm_zebra_enable $DAEMON;
   230 +	routeadm_zebra_enable $DAEMON;
   230 +else
   231 +else
   231 +	if [ $# -gt 0 ] ; then
   232 +	if [ $# -gt 0 ] ; then
   232 +		shift
   233 +		shift
   233 +		DAEMON_ARGS="$@"
   234 +		DAEMON_ARGS="$@"
   242 +fi
   243 +fi
   243 +
   244 +
   244  # we need @quagga_statedir@ to exist, it probably is on tmpfs.
   245  # we need @quagga_statedir@ to exist, it probably is on tmpfs.
   245  if [ ! -d @quagga_statedir@ ] ; then
   246  if [ ! -d @quagga_statedir@ ] ; then
   246  	mkdir -p @quagga_statedir@
   247  	mkdir -p @quagga_statedir@
   247 @@ -115,6 +274,10 @@
   248 @@ -115,6 +275,10 @@
   248  PIDFILE="@quagga_statedir@/${DAEMON}.pid"
   249  PIDFILE="@quagga_statedir@/${DAEMON}.pid"
   249  
   250  
   250  start () {
   251  start () {
   251 +	if [ ! -x "$DAEMON_PATH/$DAEMON" ] ; then
   252 +	if [ ! -x "$DAEMON_PATH/$DAEMON" ] ; then
   252 +		echo "Error, could not find daemon, $DAEMON_PATH/$DAEMON"
   253 +		echo "Error, could not find daemon, $DAEMON_PATH/$DAEMON"
   254 +	fi
   255 +	fi
   255 -	$DAEMON_PATH/$DAEMON $DAEMON_ARGS --pid_file ${PIDFILE} &
   256 -	$DAEMON_PATH/$DAEMON $DAEMON_ARGS --pid_file ${PIDFILE} &
   256 +	eval exec $DAEMON_PATH/$DAEMON $DAEMON_ARGS --pid_file ${PIDFILE} &
   257 +	eval exec $DAEMON_PATH/$DAEMON $DAEMON_ARGS --pid_file ${PIDFILE} &
   257  }
   258  }
   258  
   259  
   259 @@ -134,7 +297,7 @@
   260 @@ -134,7 +298,7 @@
   260  
   261  
   261  *)
   262  *)
   262  	usage
   263  	usage
   263 -	exit SMF_EXIT_ERR_FATAL
   264 -	exit SMF_EXIT_ERR_FATAL
   264 +	exit $SMF_EXIT_ERR_FATAL
   265 +	exit $SMF_EXIT_ERR_FATAL
   265  	;;
   266  	;;
   266  esac	
   267  esac	
   267  
   268  
   268 --- solaris/quagga.xml.in.orig	Tue Jul 17 15:09:11 2007
   269 --- solaris/quagga.xml.in.orig	Sun Feb 27 09:25:54 2011
   269 +++ solaris/quagga.xml.in	Tue Jul 17 15:11:49 2007
   270 +++ solaris/quagga.xml.in	Sun Feb 27 09:28:09 2011
   270 @@ -18,18 +18,20 @@
   271 @@ -18,18 +18,20 @@
   271  	Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
   272  	Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
   272  	02111-1307, USA.
   273  	02111-1307, USA.
   273  
   274  
   274 -	Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
   275 -	Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
   324 -		   privileges='basic,net_icmpaccess,net_rawaccess,sys_admin,sys_net_config'/>
   325 -		   privileges='basic,net_icmpaccess,net_rawaccess,sys_admin,sys_net_config'/>
   325 +		   user='root' group='root'/>
   326 +		   user='root' group='root'/>
   326   		</method_context>
   327   		</method_context>
   327  	</exec_method>
   328  	</exec_method>
   328  
   329  
   329 @@ -84,11 +86,47 @@
   330 @@ -84,11 +86,48 @@
   330  		<propval name='ignore_error'
   331  		<propval name='ignore_error'
   331  		    type='astring' value='core,signal' />
   332  		    type='astring' value='core,signal' />
   332  	</property_group>
   333  	</property_group>
   333 -
   334 -
   334 +	
   335 +	
   372 +		     @quagga_statedir@ -->
   373 +		     @quagga_statedir@ -->
   373 +		<propval name='pid_file' type='astring' value='' />
   374 +		<propval name='pid_file' type='astring' value='' />
   374 +		
   375 +		
   375 +		<!-- Options specific to zebra -->
   376 +		<!-- Options specific to zebra -->
   376 +		<propval name='batch' type='boolean' value='false' />
   377 +		<propval name='batch' type='boolean' value='false' />
       
   378 +		<propval name='retain' type='boolean' value='false' />
   377  	</property_group>
   379  	</property_group>
   378  	
   380  	
   379  	<property_group name='general' type='framework'>
   381  	<property_group name='general' type='framework'>
   380 @@ -95,6 +133,8 @@
   382 @@ -95,6 +134,8 @@
   381  		<!-- to start stop routing services -->
   383  		<!-- to start stop routing services -->
   382  		<propval name='action_authorization' type='astring'
   384  		<propval name='action_authorization' type='astring'
   383  			 value='solaris.smf.manage.routing' />
   385  			 value='solaris.smf.manage.routing' />
   384 +		<propval name='value_authorization' type='astring'
   386 +		<propval name='value_authorization' type='astring'
   385 +			 value='solaris.smf.manage.routing' />
   387 +			 value='solaris.smf.manage.routing' />
   386  	</property_group>
   388  	</property_group>
   387  
   389  
   388  	<template>
   390  	<template>
   389 @@ -111,7 +151,7 @@
   391 @@ -111,7 +152,7 @@
   390  		</documentation>
   392  		</documentation>
   391  	</template>
   393  	</template>
   392  	</instance>
   394  	</instance>
   393 -	<stability value='Evolving' />
   395 -	<stability value='Evolving' />
   394 +	<stability value='Unstable' />
   396 +	<stability value='Unstable' />
   395  </service>
   397  </service>
   396  
   398  
   397  <service
   399  <service
   398 @@ -129,39 +169,40 @@
   400 @@ -129,39 +170,40 @@
   399  			value='svc:/system/filesystem/usr:default' />
   401  			value='svc:/system/filesystem/usr:default' />
   400  	</dependency>
   402  	</dependency>
   401  
   403  
   402 -	<!-- Depends on Work-In-Progress, not yet in SNV
   404 -	<!-- Depends on Work-In-Progress, not yet in SNV
   403 -	<dependency name='net'
   405 -	<dependency name='net'
   455 -		   privileges='basic,net_icmpaccess,net_privaddr,net_rawaccess'/>
   457 -		   privileges='basic,net_icmpaccess,net_privaddr,net_rawaccess'/>
   456 +		   user='root' group='root'/>
   458 +		   user='root' group='root'/>
   457   		</method_context>
   459   		</method_context>
   458  	</exec_method>
   460  	</exec_method>
   459  
   461  
   460 @@ -179,10 +220,44 @@
   462 @@ -179,10 +221,44 @@
   461  		    type='astring' value='core,signal' />
   463  		    type='astring' value='core,signal' />
   462  	</property_group>
   464  	</property_group>
   463  
   465  
   464 +	<!-- Properties in this group are used by routeadm (1M) -->
   466 +	<!-- Properties in this group are used by routeadm (1M) -->
   465 +	<property_group name='routeadm' type='application'>
   467 +	<property_group name='routeadm' type='application'>
   502 +		<!-- Options specific to ripd -->
   504 +		<!-- Options specific to ripd -->
   503 +		<propval name='retain' type='boolean' value='false' />
   505 +		<propval name='retain' type='boolean' value='false' />
   504  	</property_group>
   506  	</property_group>
   505  
   507  
   506  	<property_group name='general' type='framework'>
   508  	<property_group name='general' type='framework'>
   507 @@ -189,6 +264,8 @@
   509 @@ -189,6 +265,8 @@
   508  		<!-- to start stop routing services -->
   510  		<!-- to start stop routing services -->
   509  		<propval name='action_authorization' type='astring'
   511  		<propval name='action_authorization' type='astring'
   510  			 value='solaris.smf.manage.routing' />
   512  			 value='solaris.smf.manage.routing' />
   511 +		<propval name='value_authorization' type='astring'
   513 +		<propval name='value_authorization' type='astring'
   512 +			 value='solaris.smf.manage.routing' />
   514 +			 value='solaris.smf.manage.routing' />
   513  	</property_group>
   515  	</property_group>
   514  
   516  
   515  	<template>
   517  	<template>
   516 @@ -205,7 +282,7 @@
   518 @@ -205,7 +283,7 @@
   517  		</documentation>
   519  		</documentation>
   518  	</template>
   520  	</template>
   519  	</instance>
   521  	</instance>
   520 -	<stability value='Evolving' />
   522 -	<stability value='Evolving' />
   521 +	<stability value='Unstable' />
   523 +	<stability value='Unstable' />
   522  </service>
   524  </service>
   523  
   525  
   524  <service
   526  <service
   525 @@ -223,39 +300,40 @@
   527 @@ -223,39 +301,40 @@
   526  			value='svc:/system/filesystem/usr:default' />
   528  			value='svc:/system/filesystem/usr:default' />
   527  	</dependency>
   529  	</dependency>
   528  	
   530  	
   529 -	<!-- Depends on WIP, not yet in SNV
   531 -	<!-- Depends on WIP, not yet in SNV
   530 -	<dependency name='net'
   532 -	<dependency name='net'
   581 -		   privileges='basic,net_icmpaccess,net_privaddr,net_rawaccess'/>
   583 -		   privileges='basic,net_icmpaccess,net_privaddr,net_rawaccess'/>
   582 +		   user='root' group='root'/>
   584 +		   user='root' group='root'/>
   583   		</method_context>
   585   		</method_context>
   584  	</exec_method>
   586  	</exec_method>
   585  
   587  
   586 @@ -273,10 +351,42 @@
   588 @@ -273,10 +352,42 @@
   587  		    type='astring' value='core,signal' />
   589  		    type='astring' value='core,signal' />
   588  	</property_group>
   590  	</property_group>
   589  
   591  
   590 +	<!-- Properties in this group are used by routeadm (1M) -->
   592 +	<!-- Properties in this group are used by routeadm (1M) -->
   591 +	<property_group name='routeadm' type='application'>
   593 +	<property_group name='routeadm' type='application'>
   626 +		<!-- Options specific to ripngd -->
   628 +		<!-- Options specific to ripngd -->
   627 +		<propval name='retain' type='boolean' value='false' />
   629 +		<propval name='retain' type='boolean' value='false' />
   628  	</property_group>
   630  	</property_group>
   629  
   631  
   630  	<property_group name='general' type='framework'>
   632  	<property_group name='general' type='framework'>
   631 @@ -283,6 +393,8 @@
   633 @@ -283,6 +394,8 @@
   632  		<!-- to start stop routing services -->
   634  		<!-- to start stop routing services -->
   633  		<propval name='action_authorization' type='astring'
   635  		<propval name='action_authorization' type='astring'
   634  			 value='solaris.smf.manage.routing' />
   636  			 value='solaris.smf.manage.routing' />
   635 +		<propval name='value_authorization' type='astring'
   637 +		<propval name='value_authorization' type='astring'
   636 +			 value='solaris.smf.manage.routing' />
   638 +			 value='solaris.smf.manage.routing' />
   637  	</property_group>
   639  	</property_group>
   638  
   640  
   639  	<template>
   641  	<template>
   640 @@ -299,7 +411,7 @@
   642 @@ -299,7 +412,7 @@
   641  		</documentation>
   643  		</documentation>
   642  	</template>
   644  	</template>
   643  	</instance>
   645  	</instance>
   644 -	<stability value='Evolving' />
   646 -	<stability value='Evolving' />
   645 +	<stability value='Unstable' />
   647 +	<stability value='Unstable' />
   646  </service>
   648  </service>
   647  
   649  
   648  <service
   650  <service
   649 @@ -317,47 +429,51 @@
   651 @@ -317,47 +430,51 @@
   650  			value='svc:/system/filesystem/usr:default' />
   652  			value='svc:/system/filesystem/usr:default' />
   651  	</dependency>
   653  	</dependency>
   652  	
   654  	
   653 -	<!-- Depends on WIP, not yet in SNV
   655 -	<!-- Depends on WIP, not yet in SNV
   654 -	<dependency name='net'
   656 -	<dependency name='net'
   717 -		timeout_seconds='60'>
   719 -		timeout_seconds='60'>
   718 +		timeout_seconds='600'>
   720 +		timeout_seconds='600'>
   719  	</exec_method>
   721  	</exec_method>
   720  
   722  
   721  	<property_group name='startd'
   723  	<property_group name='startd'
   722 @@ -367,10 +483,41 @@
   724 @@ -367,10 +484,41 @@
   723  		    type='astring' value='core,signal' />
   725  		    type='astring' value='core,signal' />
   724  	</property_group>
   726  	</property_group>
   725  
   727  
   726 +	<!-- Properties in this group are used by routeadm (1M) -->
   728 +	<!-- Properties in this group are used by routeadm (1M) -->
   727 +	<property_group name='routeadm' type='application'>
   729 +	<property_group name='routeadm' type='application'>
   761 +		     @quagga_statedir@ -->
   763 +		     @quagga_statedir@ -->
   762 +		<propval name='pid_file' type='astring' value='' />
   764 +		<propval name='pid_file' type='astring' value='' />
   763  	</property_group>
   765  	</property_group>
   764  
   766  
   765  	<property_group name='general' type='framework'>
   767  	<property_group name='general' type='framework'>
   766 @@ -377,6 +524,8 @@
   768 @@ -377,6 +525,8 @@
   767  		<!-- to start stop routing services -->
   769  		<!-- to start stop routing services -->
   768  		<propval name='action_authorization' type='astring'
   770  		<propval name='action_authorization' type='astring'
   769  			 value='solaris.smf.manage.routing' />
   771  			 value='solaris.smf.manage.routing' />
   770 +		<propval name='value_authorization' type='astring'
   772 +		<propval name='value_authorization' type='astring'
   771 +			 value='solaris.smf.manage.routing' />
   773 +			 value='solaris.smf.manage.routing' />
   772  	</property_group>
   774  	</property_group>
   773  
   775  
   774  	<template>
   776  	<template>
   775 @@ -393,7 +542,7 @@
   777 @@ -393,7 +543,7 @@
   776  		</documentation>
   778  		</documentation>
   777  	</template>
   779  	</template>
   778  	</instance>
   780  	</instance>
   779 -	<stability value='Evolving' />
   781 -	<stability value='Evolving' />
   780 +	<stability value='Unstable' />
   782 +	<stability value='Unstable' />
   781  </service>
   783  </service>
   782  
   784  
   783  <service
   785  <service
   784 @@ -411,39 +560,40 @@
   786 @@ -411,39 +561,40 @@
   785  			value='svc:/system/filesystem/usr:default' />
   787  			value='svc:/system/filesystem/usr:default' />
   786  	</dependency>
   788  	</dependency>
   787  	
   789  	
   788 -	<!-- Depends on WIP, not yet in SNV
   790 -	<!-- Depends on WIP, not yet in SNV
   789 -	<dependency name='net'
   791 -	<dependency name='net'
   840 -		   privileges='basic,net_icmpaccess,net_privaddr,net_rawaccess'/>
   842 -		   privileges='basic,net_icmpaccess,net_privaddr,net_rawaccess'/>
   841 +		   user='root' group='root'/>
   843 +		   user='root' group='root'/>
   842   		</method_context>
   844   		</method_context>
   843  	</exec_method>
   845  	</exec_method>
   844  
   846  
   845 @@ -461,10 +611,39 @@
   847 @@ -461,10 +612,39 @@
   846  		    type='astring' value='core,signal' />
   848  		    type='astring' value='core,signal' />
   847  	</property_group>
   849  	</property_group>
   848  
   850  
   849 +	<!-- Properties in this group are used by routeadm (1M) -->
   851 +	<!-- Properties in this group are used by routeadm (1M) -->
   850 +	<property_group name='routeadm' type='application'>
   852 +	<property_group name='routeadm' type='application'>
   882 +		     @quagga_statedir@ -->
   884 +		     @quagga_statedir@ -->
   883 +		<propval name='pid_file' type='astring' value='' />
   885 +		<propval name='pid_file' type='astring' value='' />
   884  	</property_group>
   886  	</property_group>
   885  
   887  
   886  	<property_group name='general' type='framework'>
   888  	<property_group name='general' type='framework'>
   887 @@ -471,12 +650,14 @@
   889 @@ -471,12 +651,14 @@
   888  		<!-- to start stop routing services -->
   890  		<!-- to start stop routing services -->
   889  		<propval name='action_authorization' type='astring'
   891  		<propval name='action_authorization' type='astring'
   890  			 value='solaris.smf.manage.routing' />
   892  			 value='solaris.smf.manage.routing' />
   891 +		<propval name='value_authorization' type='astring'
   893 +		<propval name='value_authorization' type='astring'
   892 +			 value='solaris.smf.manage.routing' />
   894 +			 value='solaris.smf.manage.routing' />
   898 -			Quagga: ospf6d, OSPFv3 IPv6 routing protocol daemon.
   900 -			Quagga: ospf6d, OSPFv3 IPv6 routing protocol daemon.
   899 + 			Quagga: ospf6d, OSPFv3 IPv6 routing protocol daemon.
   901 + 			Quagga: ospf6d, OSPFv3 IPv6 routing protocol daemon.
   900  			</loctext>
   902  			</loctext>
   901  		</common_name>
   903  		</common_name>
   902  		<documentation>
   904  		<documentation>
   903 @@ -487,7 +668,7 @@
   905 @@ -487,7 +669,7 @@
   904  		</documentation>
   906  		</documentation>
   905  	</template>
   907  	</template>
   906  	</instance>
   908  	</instance>
   907 -	<stability value='Evolving' />
   909 -	<stability value='Evolving' />
   908 +	<stability value='Unstable' />
   910 +	<stability value='Unstable' />
   909  </service>
   911  </service>
   910  
   912  
   911  
   913  
   912 @@ -506,40 +687,48 @@
   914 @@ -506,40 +688,48 @@
   913  			value='svc:/system/filesystem/usr:default' />
   915  			value='svc:/system/filesystem/usr:default' />
   914  	</dependency>
   916  	</dependency>
   915  	
   917  	
   916 -	<!-- Depends on WIP, not yet in SNV
   918 -	<!-- Depends on WIP, not yet in SNV
   917 -	<dependency name='net'
   919 -	<dependency name='net'
   977 -		   privileges='basic,net_icmpaccess,net_privaddr,net_rawaccess'/>
   979 -		   privileges='basic,net_icmpaccess,net_privaddr,net_rawaccess'/>
   978 +		   user='root' group='root'/>
   980 +		   user='root' group='root'/>
   979   		</method_context>
   981   		</method_context>
   980  	</exec_method>
   982  	</exec_method>
   981  
   983  
   982 @@ -557,10 +746,57 @@
   984 @@ -557,10 +747,57 @@
   983  		    type='astring' value='core,signal' />
   985  		    type='astring' value='core,signal' />
   984  	</property_group>
   986  	</property_group>
   985  
   987  
   986 +	<!-- Properties in this group are used by routeadm (1M) -->
   988 +	<!-- Properties in this group are used by routeadm (1M) -->
   987 +	<property_group name='routeadm' type='application'>
   989 +	<property_group name='routeadm' type='application'>
  1037 +		-->
  1039 +		-->
  1038 +		<propval name='enable_zebra' type='boolean' value='true' />
  1040 +		<propval name='enable_zebra' type='boolean' value='true' />
  1039  	</property_group>
  1041  	</property_group>
  1040  
  1042  
  1041  	<property_group name='general' type='framework'>
  1043  	<property_group name='general' type='framework'>
  1042 @@ -567,6 +803,8 @@
  1044 @@ -567,6 +804,8 @@
  1043  		<!-- to start stop routing services -->
  1045  		<!-- to start stop routing services -->
  1044  		<propval name='action_authorization' type='astring'
  1046  		<propval name='action_authorization' type='astring'
  1045  			 value='solaris.smf.manage.routing' />
  1047  			 value='solaris.smf.manage.routing' />
  1046 +		<propval name='value_authorization' type='astring'
  1048 +		<propval name='value_authorization' type='astring'
  1047 +			 value='solaris.smf.manage.routing' />
  1049 +			 value='solaris.smf.manage.routing' />
  1048  	</property_group>
  1050  	</property_group>
  1049  
  1051  
  1050  	<template>
  1052  	<template>
  1051 @@ -583,6 +821,6 @@
  1053 @@ -583,6 +823,6 @@
  1052  		</documentation>
  1054  		</documentation>
  1053  	</template>
  1055  	</template>
  1054  	</instance>
  1056  	</instance>
  1055 -	<stability value='Evolving' />
  1057 -	<stability value='Evolving' />
  1056 +	<stability value='Unstable' />
  1058 +	<stability value='Unstable' />