diff --git a/solaris/ChangeLog b/solaris/ChangeLog
index 8a2ad7d..65135d9 100644
--- a/solaris/ChangeLog
+++ b/solaris/ChangeLog
@@ -1,3 +1,13 @@
+2008-07-03 Paul Jakma <paul.jakma@sun.com>
+
+	* quagga.{xml,init}.in: Sync with OpenSolaris SFW. This changes the
+	  SMF schema used, from the SMF schema supplied initially with
+	  Quagga, to the version which was approved by the Sun PSARC for
+	  inclusion into Solaris. This change is incompatible. Settings,
+	  such as vty_port, etc. will not transfer over. The Sun schema is
+	  however supported by Sun, and supports running Quagga in a zone
+	  with IP instances, and configuration via the routeadm utility.
+
 2008-01-13 Paul Jakma <paul.jakma@sun.com>
 
 	* Makefile.am: pkg target should depend on the 'depend.%' files.
diff --git a/solaris/quagga.init.in b/solaris/quagga.init.in
index 30a9c69..8b298c3 100755
--- a/solaris/quagga.init.in
+++ b/solaris/quagga.init.in
@@ -1,6 +1,6 @@
 #!/sbin/sh
 #
-# Copyright 2001,2003 Sun Microsystems, Inc. All rights reserved.
+# Copyright 2007 Sun Microsystems, Inc. All rights reserved.
 # Use is subject to license terms.
 #
 # This file is part of Quagga.
@@ -25,13 +25,151 @@
 # Starts/stops the given daemon
 
 SMFINCLUDE=/lib/svc/share/smf_include.sh
+ROUTEADMINCLUDE=/lib/svc/share/routing_include.sh
+GLOBAL_OPTIONS="PAfiug"
 DAEMON_PATH=@sbindir@
+USER=@enable_user@
+GROUP=@enable_group@
 
+# handle upgrade of daemon-args SMF property to new routeadm properties
+# used during upgrade too by routeadm.
+# relevant to S10U4+ only.
+handle_routeadm_upgrade () {
+	GLOBAL_OPTIONS="PAfiug"
+	
+	daemon_args=`get_daemon_args $SMF_FMRI`
+	
+	if [ -n "$daemon_args" ]; then
+		set_daemon_value_property "$SMF_FMRI" "$daemon_args" \
+			"$GLOBAL_OPTIONS" "P" vty_port 0
+		set_daemon_value_property "$SMF_FMRI" "$daemon_args" \
+			"$GLOBAL_OPTIONS" "A" vty_address
+		set_daemon_value_property "$SMF_FMRI" "$daemon_args" \
+			"$GLOBAL_OPTIONS" "f" config_file
+		set_daemon_value_property "$SMF_FMRI" "$daemon_args" \
+			"$GLOBAL_OPTIONS" "i" pid_file
+		set_daemon_value_property "$SMF_FMRI" "$daemon_args" \
+			"$GLOBAL_OPTIONS" "u" user
+		set_daemon_value_property "$SMF_FMRI" "$daemon_args" \
+			"$GLOBAL_OPTIONS" "g" group
+		
+		case "$1" in
+		zebra)
+			set_daemon_boolean_property "$SMF_FMRI" "$daemon_args" \
+				"${GLOBAL_OPTIONS}b" "b" batch true false
+			;;
+		ripd|ripngd)
+			set_daemon_boolean_property "$SMF_FMRI" "$daemon_args" \
+				"${GLOBAL_OPTIONS}r" "r" retain true false
+			;;
+		bgpd)
+			set_daemon_boolean_property "$SMF_FMRI" "$daemon_args" \
+				"${GLOBAL_OPTIONS}rnp" "r" retain true false
+			set_daemon_boolean_property "$SMF_FMRI" "$daemon_args" \
+				"${GLOBAL_OPTIONS}rnp" "n" no_kernel true false
+			set_daemon_value_property "$SMF_FMRI" "$daemon_args" \
+				"${GLOBAL_OPTIONS}rnp" "p" bgp_port
+		esac
+		clear_daemon_args $SMF_FMRI
+	fi
+}
+
+upgrade_config () {
+	DAEMON=$1
+	# handle upgrade of SUNWzebra to Quagga
+	if [ -d "/etc/quagga" -a ! -f "/etc/quagga/${DAEMON}.conf" ] ; then
+		if [ -f "/etc/sfw/zebra/${DAEMON}.conf" ] ; then
+			cp "/etc/sfw/zebra/${DAEMON}.conf" \
+				"/etc/quagga/${DAEMON}.conf.upgrade" \
+				|| exit $SMF_EXIT_ERR_FATAL
+			chown "${USER}:${GROUP}" "/etc/quagga/${DAEMON}.conf.upgrade" \
+				|| exit $SMF_EXIT_ERR_FATAL
+			chmod 0600 "/etc/quagga/${DAEMON}.conf.upgrade" \
+				|| exit $SMF_EXIT_ERR_FATAL
+			mv "/etc/quagga/${DAEMON}.conf.upgrade" "/etc/quagga/${DAEMON}.conf" \
+				|| exit $SMF_EXIT_ERR_FATAL
+		fi
+	fi
+
+	if [ ! -f "/etc/quagga/${DAEMON}.conf" ] ; then
+		touch "/etc/quagga/${DAEMON}.conf.new" \
+			|| exit $SMF_EXIT_ERR_FATAL
+		chown "${USER}:${GROUP}" "/etc/quagga/${DAEMON}.conf.new" \
+			|| exit $SMF_EXIT_ERR_FATAL
+		chmod 0600 "/etc/quagga/${DAEMON}.conf.new" \
+			|| exit $SMF_EXIT_ERR_FATAL
+		mv "/etc/quagga/${DAEMON}.conf.new" "/etc/quagga/${DAEMON}.conf" \
+			|| exit $SMF_EXIT_ERR_FATAL
+	fi
+}
+
+# Relevant to S10+
 quagga_is_globalzone () {
-	if [ "${QUAGGA_INIT_ZONENAME:=`/sbin/zonename`}" != "global" ]; then
-		return 1
-	else
+	if [ "${QUAGGA_INIT_ZONENAME:=`/sbin/zonename`}" = "global" \
+		-o `/sbin/zonename -t` = "exclusive" ]; then
 		return 0
+	else
+		return 1
+	fi
+}
+
+routeadm_daemon_args () {
+	# globals
+	args="`get_daemon_option_from_property $SMF_FMRI config_file f`"
+	args="${args} `get_daemon_option_from_property $SMF_FMRI vty_port P`"
+	args="${args} `get_daemon_option_from_property $SMF_FMRI vty_address A`"
+	args="${args} `get_daemon_option_from_property $SMF_FMRI pid_file i`"
+	
+	# user and group we need for config file upgrade..
+	SMF_USER=`get_routeadm_property $SMF_FMRI user`
+	SMF_GROUP=`get_routeadm_property()$SMF_FMRI group`
+	if [ "${SMF_USER}" ] ; then
+		USER="${SMF_USER}"
+		args="${args} -u ${SMF_USER}"
+	fi
+	if [ "${SMF_GROUP}" ] ; then 
+		GROUP="${SMF_GROUP}"
+		args="${args} -g ${SMF_GROUP}"
+	fi
+
+	case $1 in
+	zebra)
+		args="${args} `get_daemon_option_from_boolean_property $SMF_FMRI batch -b true`"
+		;;
+	ripd|ripngd)
+		args="${args} `get_daemon_option_from_boolean_property $SMF_FMRI retain -r true`"
+		;;
+	bgpd)
+		args="${args} `get_daemon_option_from_boolean_property $SMF_FMRI retain -r true`"
+		args="${args} `get_daemon_option_from_boolean_property $SMF_FMRI no_kernel -n true`"
+		args="${args} `get_daemon_option_from_property $SMF_FMRI bgp_port p 179`"
+		;;
+	esac
+	echo ${args}
+}
+
+# certain daemons need zebra
+routeadm_zebra_enable () {
+
+	if [ "$DAEMON" = "zebra" ]; then
+		return
+	fi
+	
+	enable_zebra=`/usr/bin/svcprop -p \
+		routing/enable_zebra $SMF_FMRI 2> /dev/null`
+	if [ "$enable_zebra" != "false" ]; then
+		zenabled=`/usr/bin/svcprop -p general/enabled zebra:quagga`
+		zenabledt=`/usr/bin/svcprop -p general_ovr/enabled zebra:quagga`
+		if [ "$zenabled" = "true" -o "$zenabledt" = "true" ]; then
+			/usr/sbin/svcadm disable zebra:quagga
+			/usr/sbin/svcadm enable -st zebra:quagga
+		else
+			/usr/sbin/svcadm enable -st zebra:quagga 
+		fi
+		if [ "$?" != "0" ]; then
+			echo "Could not enable zebra:quagga"
+			exit $SMF_EXIT_ERR_FATAL
+		fi
 	fi
 }
 
@@ -39,6 +177,11 @@
 # there is no SMF. Should allow this script to work pre-S10.
 if [ -f "$SMFINCLUDE" ] ; then
 	. "$SMFINCLUDE";
+	
+	# source the SMF-routeadm include if present..
+	if [ -f "$ROUTEADMINCLUDE" ] ; then
+		. "$ROUTEADMINCLUDE"
+	fi
 else
 	# pre-SMF system, fake up any functions and exit codes
 	# which SMFINCLUDE usually provides.
@@ -55,7 +198,7 @@
 
 usage () {
 	if smf_present ; then
-		echo "Usage: $0 <daemon> <daemon arguments>";
+		echo "Usage: $0 <daemon>";
 	else
 		echo "Usage: $0 <stop|start> <daemon> <daemon arguments>";
 	fi
@@ -67,7 +210,7 @@
 case $1 in
 	'help' | 'usage')
 		usage
-		exit SMF_EXIT_OK
+		exit $SMF_EXIT_OK
 		;;
 esac
 
@@ -79,8 +222,6 @@
 fi
 
 DAEMON="$1"
-shift
-DAEMON_ARGS="$@"
 
 # daemon path must be given
 if [ -z "$DAEMON_PATH/$DAEMON" ]; then
@@ -91,12 +232,9 @@
 # only bgpd is suitable for running in a non-global zone, at this
 # time.
 case "${DAEMON}" in
-	zebra)
-		quagga_is_globalzone || exit $SMF_EXIT_OK
-	;;
 	bgpd)
 	;;
-	ospfd | ospf6d | ripd | ripngd )
+	zebra | ospfd | ospf6d | ripd | ripngd )
 		quagga_is_globalzone || exit $SMF_EXIT_OK
 	;;
 	*)
@@ -105,6 +243,27 @@
 	;;
 esac
 
+# Older Quagga SMF packages pass daemon args on the commandline
+# Newer SMF routeadm model uses properties for each argument
+# so we must handle that.
+if [ smf_present -a -f "$ROUTEADMINCLUDE" ]; then
+	handle_routeadm_upgrade $DAEMON;
+	DAEMON_ARGS=`routeadm_daemon_args`;
+	routeadm_zebra_enable $DAEMON;
+else
+	if [ $# -gt 0 ] ; then
+		shift
+		DAEMON_ARGS="$@"
+	fi
+fi
+
+upgrade_config "$DAEMON"
+
+if [ ! -f "@sysconfdir@/${DAEMON}.conf" ] ; then
+	echo "Could not find config file, @sysconfdir@/${DAEMON}.conf"
+	exit $SMF_EXIT_ERR_CONFIG
+fi
+
 # we need @quagga_statedir@ to exist, it probably is on tmpfs.
 if [ ! -d @quagga_statedir@ ] ; then
 	mkdir -p @quagga_statedir@
@@ -115,7 +274,11 @@
 PIDFILE="@quagga_statedir@/${DAEMON}.pid"
 
 start () {
-	$DAEMON_PATH/$DAEMON $DAEMON_ARGS --pid_file ${PIDFILE} &
+	if [ ! -x "$DAEMON_PATH/$DAEMON" ] ; then
+		echo "Error, could not find daemon, $DAEMON_PATH/$DAEMON"
+		exit $SMF_EXIT_ERR_FATAL
+	fi
+	eval exec $DAEMON_PATH/$DAEMON $DAEMON_ARGS --pid_file ${PIDFILE} &
 }
 
 stop () {
@@ -134,7 +297,7 @@
 
 *)
 	usage
-	exit SMF_EXIT_ERR_FATAL
+	exit $SMF_EXIT_ERR_FATAL
 	;;
 esac	
 
diff --git a/solaris/quagga.xml.in b/solaris/quagga.xml.in
index 3cd402f..50c52c2 100644
--- a/solaris/quagga.xml.in
+++ b/solaris/quagga.xml.in
@@ -18,18 +18,20 @@
 	Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 	02111-1307, USA.
 
-	Copyright 2005 Sun Microsystems, Inc.  All rights reserved.
+	Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
 	Use is subject to license terms.
 
 	ident	"@(#)quagga.xml	1.0	05/03/15 SMI"
 -->
 
-<service_bundle type='manifest' name='QUAGGAdaemons:quagga'>
+<service_bundle type='manifest' name='SUNWquagga-daemons:quagga'>
+
 <service
 	name='network/routing/zebra'
 	type='service'
 	version='1'>
-
+	
+	<single_instance />
 	<instance name='quagga' enabled='false'>
 	
 	<dependency name='fs'
@@ -46,24 +48,24 @@
 		type='service'>
 		<service_fmri value='svc:/network/initial' />
 	</dependency>
-
-	<dependency name='config_data'
-		grouping='require_all'
-		restart_on='restart'
-		type='path'>
-		<service_fmri
-			value='file://localhost/@sysconfdir@/zebra.conf' />
-	</dependency>
 	
+	<!-- do not not run unless routing-setup has run -->
+	<dependency
+		name='network_routing_setup'
+		grouping='require_all'
+		restart_on='refresh'
+		type='service'>
+		<service_fmri value='svc:/network/routing-setup' />
+	</dependency>
+
 	<exec_method
 		type='method'
 		name='start'
-		exec='/lib/svc/method/quagga zebra %{routing/daemon-args}'
+		exec='/lib/svc/method/quagga zebra'
 		timeout_seconds='60'>
 		<method_context>
 		  <method_credential
-		   user='root' group='root'
-		   privileges='basic,net_icmpaccess,net_rawaccess,sys_admin,sys_net_config'/>
+		   user='root' group='root'/>
  		</method_context>
 	</exec_method>
 
@@ -84,17 +86,55 @@
 		<propval name='ignore_error'
 		    type='astring' value='core,signal' />
 	</property_group>
-
+	
+	<!-- Properties in this group are used by routeadm (1M) -->
+	<property_group name='routeadm' type='application'>
+		<stability value='Unstable' />
+		<!-- Identifies service as a routing service -->
+		<propval name='daemon' type='astring'
+			value='@sbindir@/zebra' />
+		<propval name='value_authorization' type='astring'
+			value='solaris.smf.value.routing' />
+		<!-- zebra should not contribute to ipv4/ipv6 routing state -->
+		<propval name='protocol' type='astring' value='zebra' />
+	</property_group>
+	
+	<!-- Properties in this group are modifiable via routeadm (1M) -->
 	<property_group name='routing' type='application'>
+		<stability value='Evolving' />
 		<propval name='value_authorization' type='astring' 
-		         value='solaris.smf.modify.routing' />
-		<propval name='daemon-args' type='astring' value='-P 0'/>
+		         value='solaris.smf.value.routing' />
+		
+		<!-- Options common to Quagga daemons
+		     Property names are equivalent to the long
+		     option name, consult Quagga documentation -->
+		<!-- The config file to use, if not the default -->
+		<propval name='config_file' type='astring' value=''/>
+		<!-- The vty_port to listen on if not the default.
+		     0 to disable --> 
+		<propval name='vty_port' type='integer' value='0' />
+		<!-- The address to bind the VTY interface to, if not any. -->
+		<propval name='vty_address' type='astring' value='' />
+		<!-- The user to switch to after startup, if not the default -->
+		<propval name='user' type='astring' value='' />
+		<!-- The group to switch to, if not the default.
+		     If user is specified, this defaults to a group with
+		     same name as user -->
+		<propval name='group' type='astring' value='' />
+		<!-- The pidfile to use, if not the default of
+		     @quagga_statedir@ -->
+		<propval name='pid_file' type='astring' value='' />
+		
+		<!-- Options specific to zebra -->
+		<propval name='batch' type='boolean' value='false' />
 	</property_group>
 	
 	<property_group name='general' type='framework'>
 		<!-- to start stop routing services -->
 		<propval name='action_authorization' type='astring'
 			 value='solaris.smf.manage.routing' />
+		<propval name='value_authorization' type='astring'
+			 value='solaris.smf.manage.routing' />
 	</property_group>
 
 	<template>
@@ -111,7 +151,7 @@
 		</documentation>
 	</template>
 	</instance>
-	<stability value='Evolving' />
+	<stability value='Unstable' />
 </service>
 
 <service
@@ -129,39 +169,40 @@
 			value='svc:/system/filesystem/usr:default' />
 	</dependency>
 
-	<!-- Depends on Work-In-Progress, not yet in SNV
-	<dependency name='net'
-		grouping='require_all'
-		restart_on='none'
+	<dependency
+		name='ipv4-forwarding'
+		grouping='optional_all'
+		restart_on='refresh'
 		type='service'>
-		<service_fmri value='svc:/network/routing/ipv4-routing' />
+		<service_fmri value='svc:/network/ipv4-forwarding' />
 	</dependency>
-	-->
 	
-	<dependency name='zebra'
-			grouping='require_all'
-			restart_on='restart'
-			type='service'>
-			<service_fmri value='svc:/network/routing/zebra:quagga' />
+	<!-- do not not run unless routing-setup has run -->
+	<dependency
+		name='network_routing_setup'
+		grouping='require_all'
+		restart_on='refresh'
+		type='service'>
+		<service_fmri value='svc:/network/routing-setup' />
+	</dependency>
+	
+	<!-- ensure that restart of zebra is propogated to daemon -->
+	<dependency
+		name='zebra'
+		grouping='optional_all'
+		restart_on='restart'
+		type='service'>
+		<service_fmri value='svc:/network/routing/zebra:quagga' />
 	</dependency>
 
-	<dependency name='config_data'
-		grouping='require_all'
-		restart_on='restart'
-		type='path'>
-		<service_fmri
-			value='file://localhost/@sysconfdir@/ripd.conf' />
-	</dependency>
-	
 	<exec_method
 		type='method'
 		name='start'
-		exec='/lib/svc/method/quagga ripd %{routing/daemon-args}'
+		exec='/lib/svc/method/quagga ripd'
 		timeout_seconds='60'>
 		<method_context>
 		  <method_credential
-		   user='root' group='root'
-		   privileges='basic,net_icmpaccess,net_privaddr,net_rawaccess'/>
+		   user='root' group='root'/>
  		</method_context>
 	</exec_method>
 
@@ -179,16 +220,52 @@
 		    type='astring' value='core,signal' />
 	</property_group>
 
+	<!-- Properties in this group are used by routeadm (1M) -->
+	<property_group name='routeadm' type='application'>
+		<stability value='Unstable' />
+		<!-- Identifies service as a routing service -->
+		<propval name='daemon' type='astring'
+			value='@sbindir@/ripd' />
+		<propval name='legacy-daemon' type='astring'
+			value='/usr/sfw/sbin/ripdstart' />
+		<propval name='value_authorization' type='astring'
+			value='solaris.smf.value.routing' />
+		<propval name='protocol' type='astring' value='ipv4' />
+	</property_group>
+	
+	<!-- Properties in this group are modifiable via routeadm (1M) -->
 	<property_group name='routing' type='application'>
 		<propval name='value_authorization' type='astring' 
-		         value='solaris.smf.modify.routing' />
-		<propval name='daemon-args' type='astring' value='-P 0'/>
+		         value='solaris.smf.value.routing' />
+
+		<!-- Options common to Quagga daemons -->
+		<!-- The config file to use, if not the default -->
+		<propval name='config_file' type='astring' value=''/>
+		<!-- The vty_port to listen on if not the default.
+		     0 to disable --> 
+		<propval name='vty_port' type='integer' value='0' />
+		<!-- The address to bind the VTY interface to, if not any. -->
+		<propval name='vty_address' type='astring' value='' />
+		<!-- The user to switch to after startup, if not the default -->
+		<propval name='user' type='astring' value='' />
+		<!-- The group to switch to, if not the default.
+		     If user is specified, this defaults to a group with
+		     same name as user -->
+		<propval name='group' type='astring' value='' />
+		<!-- The pidfile to use, if not the default of
+		     @quagga_statedir@ -->
+		<propval name='pid_file' type='astring' value='' />
+		
+		<!-- Options specific to ripd -->
+		<propval name='retain' type='boolean' value='false' />
 	</property_group>
 
 	<property_group name='general' type='framework'>
 		<!-- to start stop routing services -->
 		<propval name='action_authorization' type='astring'
 			 value='solaris.smf.manage.routing' />
+		<propval name='value_authorization' type='astring'
+			 value='solaris.smf.manage.routing' />
 	</property_group>
 
 	<template>
@@ -205,7 +282,7 @@
 		</documentation>
 	</template>
 	</instance>
-	<stability value='Evolving' />
+	<stability value='Unstable' />
 </service>
 
 <service
@@ -223,39 +300,40 @@
 			value='svc:/system/filesystem/usr:default' />
 	</dependency>
 	
-	<!-- Depends on WIP, not yet in SNV
-	<dependency name='net'
-		grouping='require_all'
-		restart_on='none'
+	<dependency
+		name='ipv6-forwarding'
+		grouping='optional_all'
+		restart_on='refresh'
 		type='service'>
-		<service_fmri value='svc:/network/routing/ipv6-routing' />
-	</dependency>
-	-->
-
-	<dependency name='zebra'
-			grouping='require_all'
-			restart_on='restart'
-			type='service'>
-			<service_fmri value='svc:/network/routing/zebra:quagga' />
+		<service_fmri value='svc:/network/ipv6-forwarding' />
 	</dependency>
 
-	<dependency name='config_data'
+	<!-- do not not run unless routing-setup has run -->
+	<dependency
+		name='network_routing_setup'
 		grouping='require_all'
-		restart_on='restart'
-		type='path'>
-		<service_fmri
-			value='file://localhost/@sysconfdir@/ripngd.conf' />
+		restart_on='refresh'
+		type='service'>
+		<service_fmri value='svc:/network/routing-setup' />
 	</dependency>
-	
+
+	<!-- ensure that restart of zebra is propogated to daemon -->
+	<dependency
+		name='zebra'
+		grouping='optional_all'
+		restart_on='restart'
+		type='service'>
+		<service_fmri value='svc:/network/routing/zebra:quagga' />
+	</dependency>
+
 	<exec_method
 		type='method'
 		name='start'
-		exec='/lib/svc/method/quagga ripngd %{routing/daemon-args}'
+		exec='/lib/svc/method/quagga ripngd'
 		timeout_seconds='60'>
 		<method_context>
 		  <method_credential
-		   user='root' group='root'
-		   privileges='basic,net_icmpaccess,net_privaddr,net_rawaccess'/>
+		   user='root' group='root'/>
  		</method_context>
 	</exec_method>
 
@@ -273,16 +351,50 @@
 		    type='astring' value='core,signal' />
 	</property_group>
 
+	<!-- Properties in this group are used by routeadm (1M) -->
+	<property_group name='routeadm' type='application'>
+		<stability value='Unstable' />
+		<!-- Identifies service as a routing service -->
+		<propval name='daemon' type='astring'
+			value='@sbindir@/ripngd' />
+		<propval name='value_authorization' type='astring'
+			value='solaris.smf.value.routing' />
+		<propval name='protocol' type='astring' value='ipv6'/>
+	</property_group>
+	
+	<!-- Properties in this group are modifiable via routeadm (1M) -->
 	<property_group name='routing' type='application'>
 		<propval name='value_authorization' type='astring' 
-		         value='solaris.smf.modify.routing' />
-		<propval name='daemon-args' type='astring' value='-P 0'/>
+		         value='solaris.smf.value.routing' />
+
+		<!-- Options common to Quagga daemons -->
+		<!-- The config file to use, if not the default -->
+		<propval name='config_file' type='astring' value=''/>
+		<!-- The vty_port to listen on if not the default.
+		     0 to disable --> 
+		<propval name='vty_port' type='integer' value='0' />
+		<!-- The address to bind the VTY interface to, if not any. -->
+		<propval name='vty_address' type='astring' value='' />
+		<!-- The user to switch to after startup, if not the default -->
+		<propval name='user' type='astring' value='' />
+		<!-- The group to switch to, if not the default.
+		     If user is specified, this defaults to a group with
+		     same name as user -->
+		<propval name='group' type='astring' value='' />
+		<!-- The pidfile to use, if not the default of
+		     @quagga_statedir@ -->
+		<propval name='pid_file' type='astring' value='' />
+
+		<!-- Options specific to ripngd -->
+		<propval name='retain' type='boolean' value='false' />
 	</property_group>
 
 	<property_group name='general' type='framework'>
 		<!-- to start stop routing services -->
 		<propval name='action_authorization' type='astring'
 			 value='solaris.smf.manage.routing' />
+		<propval name='value_authorization' type='astring'
+			 value='solaris.smf.manage.routing' />
 	</property_group>
 
 	<template>
@@ -299,7 +411,7 @@
 		</documentation>
 	</template>
 	</instance>
-	<stability value='Evolving' />
+	<stability value='Unstable' />
 </service>
 
 <service
@@ -317,47 +429,51 @@
 			value='svc:/system/filesystem/usr:default' />
 	</dependency>
 	
-	<!-- Depends on WIP, not yet in SNV
-	<dependency name='net'
-		grouping='require_all'
-		restart_on='none'
+	<dependency
+		name='ipv4-forwarding'
+		grouping='optional_all'
+		restart_on='refresh'
 		type='service'>
-		<service_fmri value='svc:/network/routing/ipv4-routing' />
-	</dependency>
-	-->
-
-	<dependency name='zebra'
-			grouping='require_all'
-			restart_on='restart'
-			type='service'>
-			<service_fmri value='svc:/network/routing/zebra:quagga' />
+		<service_fmri value='svc:/network/ipv4-forwarding' />
 	</dependency>
 
-	<dependency name='config_data'
+	<!-- do not not run unless routing-setup has run -->
+	<dependency
+		name='network_routing_setup'
 		grouping='require_all'
-		restart_on='restart'
-		type='path'>
-		<service_fmri
-			value='file://localhost/@sysconfdir@/ospfd.conf' />
+		restart_on='refresh'
+		type='service'>
+		<service_fmri value='svc:/network/routing-setup' />
 	</dependency>
-	
+
+	<!-- ensure that restart of zebra is propogated to daemon -->
+	<dependency
+		name='zebra'
+		grouping='optional_all'
+		restart_on='restart'
+		type='service'>
+		<service_fmri value='svc:/network/routing/zebra:quagga' />
+	</dependency>
+
 	<exec_method
 		type='method'
 		name='start'
-		exec='/lib/svc/method/quagga ospfd %{routing/daemon-args}'
+		exec='/lib/svc/method/quagga ospfd'
 		timeout_seconds='60'>
 		<method_context>
 		  <method_credential
-		   user='root' group='root'
-		   privileges='basic,net_icmpaccess,net_privaddr,net_rawaccess,sys_net_config'/>
+		   user='root' group='root'/>
  		</method_context>
 	</exec_method>
 
+	<!-- ospfd can take a long time to shutdown, due to graceful 
+	     shutdown 
+	 -->
 	<exec_method
 		type='method'
 		name='stop'
 		exec=':kill'
-		timeout_seconds='60'>
+		timeout_seconds='600'>
 	</exec_method>
 
 	<property_group name='startd'
@@ -367,16 +483,49 @@
 		    type='astring' value='core,signal' />
 	</property_group>
 
+	<!-- Properties in this group are used by routeadm (1M) -->
+	<property_group name='routeadm' type='application'>
+		<stability value='Unstable' />
+		<!-- Identifies service as a routing service -->
+		<propval name='daemon' type='astring'
+			value='@sbindir@/ospfd' />
+		<propval name='legacy-daemon' type='astring'
+			value='/usr/sfw/sbin/ospfdstart' />
+		<propval name='value_authorization' type='astring'
+			value='solaris.smf.value.routing' />
+		<propval name='protocol' type='astring' value='ipv4'/>
+	</property_group>
+	
+	<!-- Properties in this group are modifiable via routeadm (1M) -->
 	<property_group name='routing' type='application'>
 		<propval name='value_authorization' type='astring' 
-		         value='solaris.smf.modify.routing' />
-		<propval name='daemon-args' type='astring' value='-P 0'/>
+		         value='solaris.smf.value.routing' />
+
+		<!-- Options common to Quagga daemons -->
+		<!-- The config file to use, if not the default -->
+		<propval name='config_file' type='astring' value=''/>
+		<!-- The vty_port to listen on if not the default.
+		     0 to disable --> 
+		<propval name='vty_port' type='integer' value='0' />
+		<!-- The address to bind the VTY interface to, if not any. -->
+		<propval name='vty_address' type='astring' value='' />
+		<!-- The user to switch to after startup, if not the default -->
+		<propval name='user' type='astring' value='' />
+		<!-- The group to switch to, if not the default.
+		     If user is specified, this defaults to a group with
+		     same name as user -->
+		<propval name='group' type='astring' value='' />
+		<!-- The pidfile to use, if not the default of
+		     @quagga_statedir@ -->
+		<propval name='pid_file' type='astring' value='' />
 	</property_group>
 
 	<property_group name='general' type='framework'>
 		<!-- to start stop routing services -->
 		<propval name='action_authorization' type='astring'
 			 value='solaris.smf.manage.routing' />
+		<propval name='value_authorization' type='astring'
+			 value='solaris.smf.manage.routing' />
 	</property_group>
 
 	<template>
@@ -393,7 +542,7 @@
 		</documentation>
 	</template>
 	</instance>
-	<stability value='Evolving' />
+	<stability value='Unstable' />
 </service>
 
 <service
@@ -411,39 +560,40 @@
 			value='svc:/system/filesystem/usr:default' />
 	</dependency>
 	
-	<!-- Depends on WIP, not yet in SNV
-	<dependency name='net'
-		grouping='require_all'
-		restart_on='none'
+	<dependency
+		name='ipv6-forwarding'
+		grouping='optional_all'
+		restart_on='refresh'
 		type='service'>
-		<service_fmri value='svc:/network/routing/ipv6-routing' />
-	</dependency>
-	-->
-
-	<dependency name='zebra'
-			grouping='require_all'
-			restart_on='restart'
-			type='service'>
-			<service_fmri value='svc:/network/routing/zebra:quagga' />
+		<service_fmri value='svc:/network/ipv6-forwarding' />
 	</dependency>
 
-	<dependency name='config_data'
+	<!-- do not not run unless routing-setup has run -->
+	<dependency
+		name='network_routing_setup'
 		grouping='require_all'
-		restart_on='restart'
-		type='path'>
-		<service_fmri
-			value='file://localhost/@sysconfdir@/ospf6d.conf' />
+		restart_on='refresh'
+		type='service'>
+		<service_fmri value='svc:/network/routing-setup' />
 	</dependency>
-	
+
+	<!-- ensure that restart of zebra is propogated to daemon -->
+	<dependency
+		name='zebra'
+		grouping='optional_all'
+		restart_on='restart'
+		type='service'>
+		<service_fmri value='svc:/network/routing/zebra:quagga' />
+	</dependency>
+
 	<exec_method
 		type='method'
 		name='start'
-		exec='/lib/svc/method/quagga ospf6d %{routing/daemon-args}'
+		exec='/lib/svc/method/quagga ospf6d'
 		timeout_seconds='60'>
 		<method_context>
 		  <method_credential
-		   user='root' group='root'
-		   privileges='basic,net_icmpaccess,net_privaddr,net_rawaccess'/>
+		   user='root' group='root'/>
  		</method_context>
 	</exec_method>
 
@@ -461,22 +611,53 @@
 		    type='astring' value='core,signal' />
 	</property_group>
 
+	<!-- Properties in this group are used by routeadm (1M) -->
+	<property_group name='routeadm' type='application'>
+		<stability value='Unstable' />
+		<!-- Identifies service as a routing service -->
+		<propval name='daemon' type='astring'
+			value='@sbindir@/ospf6d' />
+		<propval name='value_authorization' type='astring'
+			value='solaris.smf.value.routing' />
+		<propval name='protocol' type='astring' value='ipv6'/>
+	</property_group>
+	
+	<!-- Properties in this group are modifiable via routeadm (1M) -->
 	<property_group name='routing' type='application'>
 		<propval name='value_authorization' type='astring' 
-		         value='solaris.smf.modify.routing' />
-		<propval name='daemon-args' type='astring' value='-P 0'/>
+		         value='solaris.smf.value.routing' />
+
+		<!-- Options common to Quagga daemons -->
+		<!-- The config file to use, if not the default -->
+		<propval name='config_file' type='astring' value=''/>
+		<!-- The vty_port to listen on if not the default.
+		     0 to disable --> 
+		<propval name='vty_port' type='integer' value='0' />
+		<!-- The address to bind the VTY interface to, if not any. -->
+		<propval name='vty_address' type='astring' value='' />
+		<!-- The user to switch to after startup, if not the default -->
+		<propval name='user' type='astring' value='' />
+		<!-- The group to switch to, if not the default.
+		     If user is specified, this defaults to a group with
+		     same name as user -->
+		<propval name='group' type='astring' value='' />
+		<!-- The pidfile to use, if not the default of
+		     @quagga_statedir@ -->
+		<propval name='pid_file' type='astring' value='' />
 	</property_group>
 
 	<property_group name='general' type='framework'>
 		<!-- to start stop routing services -->
 		<propval name='action_authorization' type='astring'
 			 value='solaris.smf.manage.routing' />
+		<propval name='value_authorization' type='astring'
+			 value='solaris.smf.manage.routing' />
 	</property_group>
 
 	<template>
 		<common_name>
 			<loctext xml:lang='C'>
-			Quagga: ospf6d, OSPFv3 IPv6 routing protocol daemon.
+ 			Quagga: ospf6d, OSPFv3 IPv6 routing protocol daemon.
 			</loctext>
 		</common_name>
 		<documentation>
@@ -487,7 +668,7 @@
 		</documentation>
 	</template>
 	</instance>
-	<stability value='Evolving' />
+	<stability value='Unstable' />
 </service>
 
 
@@ -506,40 +687,48 @@
 			value='svc:/system/filesystem/usr:default' />
 	</dependency>
 	
-	<!-- Depends on WIP, not yet in SNV
-	<dependency name='net'
-		grouping='require_any'
-		restart_on='none'
+	<dependency
+		name='ipv6-forwarding'
+		grouping='optional_all'
+		restart_on='refresh'
 		type='service'>
-		<service_fmri value='svc:/network/routing/ipv6-routing' />
-		<service_fmri value='svc:/network/routing/ipv4-routing' />
-	</dependency>
-	-->
-	
-	<dependency name='zebra'
-			grouping='optional_all'
-			restart_on='restart'
-			type='service'>
-			<service_fmri value='svc:/network/routing/zebra:quagga' />
+		<service_fmri value='svc:/network/ipv6-forwarding' />
 	</dependency>
 
-	<dependency name='config_data'
-		grouping='require_all'
-		restart_on='restart'
-		type='path'>
-		<service_fmri
-			value='file://localhost/@sysconfdir@/bgpd.conf' />
+	<dependency
+		name='ipv4-forwarding'
+		grouping='optional_all'
+		restart_on='refresh'
+		type='service'>
+		<service_fmri value='svc:/network/ipv4-forwarding' />
 	</dependency>
 	
+	<!-- do not not run unless routing-setup has run -->
+	<dependency
+		name='network_routing_setup'
+		grouping='require_all'
+		restart_on='refresh'
+		type='service'>
+		<service_fmri value='svc:/network/routing-setup' />
+	</dependency>
+
+	<!-- ensure that restart of zebra is propogated to daemon -->
+	<dependency
+		name='zebra'
+		grouping='optional_all'
+		restart_on='restart'
+		type='service'>
+		<service_fmri value='svc:/network/routing/zebra:quagga' />
+	</dependency>
+
 	<exec_method
 		type='method'
 		name='start'
-		exec='/lib/svc/method/quagga bgpd %{routing/daemon-args}'
+		exec='/lib/svc/method/quagga bgpd'
 		timeout_seconds='60'>
 		<method_context>
 		  <method_credential
-		   user='root' group='root'
-		   privileges='basic,net_icmpaccess,net_privaddr,net_rawaccess'/>
+		   user='root' group='root'/>
  		</method_context>
 	</exec_method>
 
@@ -557,16 +746,65 @@
 		    type='astring' value='core,signal' />
 	</property_group>
 
+	<!-- Properties in this group are used by routeadm (1M) -->
+	<property_group name='routeadm' type='application'>
+		<stability value='Unstable' />
+		<!-- Identifies service as a routing service -->
+		<propval name='daemon' type='astring'
+			value='@sbindir@/bgpd' />
+		<propval name='legacy-daemon' type='astring'
+			value='/usr/sfw/sbin/bgpdstart' />
+		<propval name='value_authorization' type='astring'
+			value='solaris.smf.value.routing' />
+		<property name='protocol' type='astring'>
+			<astring_list>
+				<value_node value='ipv4'/>
+				<value_node value='ipv6'/>
+			</astring_list>
+		</property>
+	</property_group>
+	
+	<!-- Properties in this group are modifiable via routeadm (1M) -->
 	<property_group name='routing' type='application'>
 		<propval name='value_authorization' type='astring' 
-		         value='solaris.smf.modify.routing' />
-		<propval name='daemon-args' type='astring' value='-P 0'/>
+		         value='solaris.smf.value.routing' />
+
+		<!-- Options common to Quagga daemons. -->
+		<!-- The config file to use, if not the default -->
+		<propval name='config_file' type='astring' value=''/>
+		<!-- The vty_port to listen on if not the default.
+		     0 to disable --> 
+		<propval name='vty_port' type='integer' value='0' />
+		<!-- The address to bind the VTY interface to, if not any. -->
+		<propval name='vty_address' type='astring' value='' />
+		<!-- The user to switch to after startup, if not the default -->
+		<propval name='user' type='astring' value='' />
+		<!-- The group to switch to, if not the default.
+		     If user is specified, this defaults to a group with
+		     same name as user -->
+		<propval name='group' type='astring' value='' />
+		<!-- The pidfile to use, if not the default of
+		     @quagga_statedir@ -->
+		<propval name='pid_file' type='astring' value='' />
+
+		<!-- Options specific to bgpd -->
+		<propval name='retain' type='boolean' value='false' />
+		<propval name='no_kernel' type='boolean' value='false' />
+		<propval name='bgp_port' type='astring' value='' />
+		
+		<!--
+			If enable_zebra is false, it will not be switched
+			on by the start method.
+		-->
+		<propval name='enable_zebra' type='boolean' value='true' />
 	</property_group>
 
 	<property_group name='general' type='framework'>
 		<!-- to start stop routing services -->
 		<propval name='action_authorization' type='astring'
 			 value='solaris.smf.manage.routing' />
+		<propval name='value_authorization' type='astring'
+			 value='solaris.smf.manage.routing' />
 	</property_group>
 
 	<template>
@@ -583,6 +821,6 @@
 		</documentation>
 	</template>
 	</instance>
-	<stability value='Evolving' />
+	<stability value='Unstable' />
 </service>
 </service_bundle>
