hi David

> I think you'll actually have to store the daemon path in a property
> other than start/exec, and have start/exec set to a script which returns
> the appropriate error codes, since the legacy service's exit codes will
> probably not conform to the SMF interface.

good point.

> Indeed, when intent is spread across multiple locations,
> synchronizations problems appear.  So one of the ideas here is to
> concentrate intent in as few places as possible.  Since we can't get
> around the general/enabled property for each individual service, rather
> than having routeadm keep a list of services, it should derive that list
> from the general/enabled properties of the services.  So the svcadm
> disable route:default, in this case, should be interpreted the same as
> routeadm -d ipv4-routing -u.  (Note that this is just like inetadm's
> enable/disable behavior.  In essence, routeadm is just a convenience
> tool for being able to separate the enable part from the
> which-implementation part.)  

makes sense. so anytime routeadm is run, it should check
the general/enabled property of each v4 routing daemon. if
these values conflict with the persistent ipv4-routing value,
(e.g a daemon is enabled but ipv4-routing is disabled or vice versa)
it is updated accordingly. additionally, if ipv4-routing is
enabled say, yet a daemon specified on the "ipv4-routing-daemon"
list is disabled (through "svcadm disable" presumably), that daemon 
is removed from the list (i.e. we do all synchronization in routeadm, 
removing the need for each daemon start/stop method to deal with 
these issues).

> This may also eliminate the need for routeadm -u on boot.

the problem there is that routeadm settings may be changed
during boot on the basis of probing network configuration that 
may have changed since last boot, so i think we're stuck with it.
on a positive note, routeadm is much faster now that it
interacts with routing services rather than exec'ing them
itself - we actually shave about 2 seconds off boot between
this and breaking out routing configuration from network/intial
to network/routing-setup.

alan
 
 
This message posted from opensolaris.org

Reply via email to