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