On Tue, Nov 20, 2007 at 08:51:55PM +0800, Max Zhen wrote:
> 
[...] 
> So, what we have now are network/datalink:default, network/ip:default, and
> network/physical:default/nwam:
> 
> Network/datalink:default will:
> + start dlmgmtd
> + create or remove 'network/datalink:<UV-name>' as requested
>    by dladm or hotplugging event.
> 
> Network/ip:default will:
> + create or remove (if needed) 'network/ip:<UV-name>' to match
>    existing /etc/hostname.intf files (and as requested by ifconfig and 
> nwamcfg?).
> 
> Network/physical:default/nwam will:
> + be the policy engine
> + enable or disable each individual 'network/datalink:<UV-name>' or
>    'network/ip:<UV-name>', if it sees fit.
> 
> Network/datalink:<UV-name> will:
> + set up or tear down the corresponding datalink (for 
> vlan/aggr/iptun/vnic) based on the
>    parameters stored in it
> + notify policy engine about the result of the operation
> 
> Network/ip:<UV-name> will:
> + plumb or unplumb the corresponding interface
> + notify policy engine about the result of the operation
> 
> Not sure if I'm summarizing it right, or not... :-P , please correct me, 
> if I'm wrong.

I think that's a good summary.  It does bring up a question about dependencies,
though.  Given this distribution of tasks, it seems that you would want services
to be started in this order:

network/datalink:default
network/ip:default
network/physical:default|nwam
network/datalink:<uv-name>
network/ip:<uv-name>

Can we split instances of the same service this way?  That is, if we call
network/datalink service A and network/physical service B:

A:foo -> B:default -> A:default

I suppose each service instance has its own properties, so this should work.
Is it too convoluted?

-renee

Reply via email to