hi Mike

>- Multiple instances for IPv4 and v6 are bad: it's needlessly confusing
>  admins with low-level details, and making it annoyingly hard to manipulate
>  the service in what I suspect is the common use case: disable routing
>  or enable it.  i.e. that becomes multiple weird steps as opposed to just one.

this can be done, with the caveat that for routeadm backwards compatibility we'd
need to support "ipv4-enabled" and "ipv6-enabled" properties. v4/v6 daemons 
could  then query these properties on startup to determine if they run (so we'd
support the same level of granularity as before - we just wouldn't expose it in
SMF) while disabling  routing:default via smf would disable all routing 
daemons. 
we'd lose the ability to express the fact that a v4 routing daemon requires 
ipv4-routing to be enabled to run, but can replace this with an 
"ipv4(6)-enabled" 
property query in the start method of the  daemon. does this seem ok?
 
> - I strongly agree w/ Jim about the semantic difference between forwarding
>  and routing: he explained this earlier.  Don't confuse or conjoin them.

absolutely. now would it be useful to collapse the v4/v6 service distinction 
here
also? i.e. we use properties to specify ipv4(6)-enabled, and if enabled the
appropriate ndd flags are set.

> So I'd much prefer to just see network/routing:default (where instance other
> than :default could be used by someone else to add another routing daemon
> or protocol that were a useful thing to do), and have it support properties
> to permit tuning v4/v6 separately if you truly feel that is needed, and also
> a property group of static routes to add.

hmm, mixing static/dynamic routing is not something that we've done in the past.
from an implementation perspective, it's certainly doable (the current 
persistent storage location of static routes in /etc/inet/static_routes is
project-private, so moving these to SMF properties would be a fairly
simple change to "route -B"), but i'd like to see how other people feel about
this.

if we wish to preserve the static/dynamic distinction, we could go for 
something 
along the lines of

svc:/network/static-routing:default
svc:/network/dynamic-routing:default

or even

svc:/network/routing:static
svc:/network/routing:dynamic

with this setup, we could add a require_any dependency to 
svc:/network/forwarding such that for forwarding flags to be set, either
static or dynamic routing need to be enabled. this would also allow
users to control static and dynamic routing independently via SMF.
 
alan
 
 
This message posted from opensolaris.org

Reply via email to