diff -ur quagga-0.99.8/solaris/quagga.init.in quagga-unified-checksum/solaris/quagga.init.in
--- solaris/quagga.init.in
+++ solaris/quagga.init.in
@@ -134,7 +134,7 @@
 case "${DAEMON}" in
 	bgpd)
 	;;
-	zebra | ospfd | ospf6d | ripd | ripngd )
+	zebra | ospfd | ospf6d | ripd | ripngd | isisd)
 		quagga_is_globalzone || exit $SMF_EXIT_OK
 	;;
 	*)
diff -ur quagga-0.99.8/solaris/quagga.xml.in quagga-unified-checksum/solaris/quagga.xml.in
--- solaris/quagga.xml.in
+++ solaris/quagga.xml.in
@@ -187,7 +187,7 @@
 		<service_fmri value='svc:/network/routing-setup' />
 	</dependency>
 	
-	<!-- ensure that restart of zebra is propogated to daemon -->
+	<!-- ensure that restart of zebra is propagated to daemon -->
 	<dependency
 		name='zebra'
 		grouping='optional_all'
@@ -812,6 +812,148 @@
 			<manpage title='bgpd' section='1M'
 				manpath='@mandir@' />
 			<doc_link name='quagga.net' 
+				uri='http://www.quagga.net/' />
+		</documentation>
+	</template>
+	</instance>
+	<stability value='Unstable' />
+</service>
+
+<service
+	name='network/routing/isis'
+	type='service'
+	version='1'>
+
+	<instance name='quagga' enabled='false'>
+
+	<dependency name='fs'
+		grouping='require_all'
+		restart_on='none'
+		type='service'>
+		<service_fmri
+			value='svc:/system/filesystem/usr:default' />
+	</dependency>
+
+	<dependency
+		name='ipv6-forwarding'
+		grouping='optional_all'
+		restart_on='refresh'
+		type='service'>
+		<service_fmri value='svc:/network/ipv6-forwarding' />
+	</dependency>
+	
+	<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 propagated 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 isisd'
+		timeout_seconds='60'>
+		<method_context>
+		  <method_credential
+		   user='root' group='root' />
+ 		</method_context>
+	</exec_method>
+
+	<!-- isisd can take a long time to shutdown, due to graceful 
+	     shutdown 
+	 -->
+	<exec_method
+		type='method'
+		name='stop'
+		exec=':kill'
+		timeout_seconds='60'>
+	</exec_method>
+
+	<property_group name='startd'
+		type='framework'>
+		<!-- sub-process core dumps shouldn't restart session -->
+		<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@/isisd' />
+		<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.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: isisd, IS-IS routing protocol daemon.
+			</loctext>
+		</common_name>
+		<documentation>
+			<manpage title='isisd' section='1M'
+				manpath='@mandir@' />
+			<doc_link name='quagga.net' 
 				uri='http://www.quagga.net/' />
 		</documentation>
 	</template>
