changeset 3157:4bc139971e45

6493982 "routeadm -u" should restart running routing daemon services 6495324 SUNWroutr package doesn't have a copyright file
author amaguire
date Wed, 22 Nov 2006 12:50:53 -0800
parents 30109e935ec8
children f30a3849aa23
files usr/src/cmd/cmd-inet/usr.sbin/routeadm/routeadm.c usr/src/pkgdefs/SUNWroutr/Makefile usr/src/pkgdefs/SUNWroutr/prototype_com
diffstat 3 files changed, 18 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/cmd-inet/usr.sbin/routeadm/routeadm.c	Wed Nov 22 11:47:19 2006 -0800
+++ b/usr/src/cmd/cmd-inet/usr.sbin/routeadm/routeadm.c	Wed Nov 22 12:50:53 2006 -0800
@@ -1491,6 +1491,11 @@
 			(void) smf_refresh_instance(RA_INSTANCE_ROUTING_SETUP);
 		} else {
 			/*
+			 * Refresh here to get latest property values prior
+			 * to starting daemon.
+			 */
+			(void) smf_refresh_instance(inst_fmri);
+			/*
 			 * For current changes (result of -u), we
 			 * enable/disable depending on persistent value
 			 * stored in general/enabled.  Here we disable
@@ -1506,7 +1511,17 @@
 				    myname, scf_strerror(scf_error()));
 				return (-1);
 			}
-			(void) smf_refresh_instance(inst_fmri);
+			if (current_state_enabled && persistent_state_enabled) {
+				/*
+				 * Instance was already enabled, so we restart
+				 * to get latest property values.  This covers
+				 * the case where users update properties
+				 * via routeadm -m, and issue an update.  The
+				 * daemon should be running with the latest
+				 * property values.
+				 */
+				(void) smf_restart_instance(inst_fmri);
+			}
 		}
 	}
 	return (0);
--- a/usr/src/pkgdefs/SUNWroutr/Makefile	Wed Nov 22 11:47:19 2006 -0800
+++ b/usr/src/pkgdefs/SUNWroutr/Makefile	Wed Nov 22 12:50:53 2006 -0800
@@ -27,7 +27,7 @@
 
 include ../Makefile.com
 
-DATAFILES=	i.manifest \
+DATAFILES+=	i.manifest \
 		r.manifest \
 		depend
 
--- a/usr/src/pkgdefs/SUNWroutr/prototype_com	Wed Nov 22 11:47:19 2006 -0800
+++ b/usr/src/pkgdefs/SUNWroutr/prototype_com	Wed Nov 22 12:50:53 2006 -0800
@@ -36,6 +36,7 @@
 
 # packaging files
 i pkginfo
+i copyright
 i depend
 i i.manifest
 i r.manifest