(For those thinking this looks like a repeat, I initially sent this to our internal mailing lists due to a misunderstanding on my part. I am now sending it again to the proper mailing lists with external coverage. Note that the Exposure on this case has been set to open.)
I am self-sponsoring this fast-track, which expires March 14, 2007 per below. The requested release binding is Minor and the Interface Taxonomy is Volatile. This is the first phase of the Network Auto-Magic Project. We are essentially productizing our prototype as an interim fix while we do the implementation of the larger project, PSARC 2007/132, which is scheduled for inception next Wednesday, March 14. The idea is that at the conclusion of the inception review, we will go over this fast-track, by which time it should be clear how it is a step in the right direction. As for the details of this fast-track, see the attached nwamd.1m man page which explains it all; I have also placed a copy of this man page in the materials directory of this case. -- John http://blogs.sun.com/jbeck -------------- next part -------------- System Administration Commands nwamd(1M) NAME nwamd - network auto-magic daemon SYNOPSIS /lib/inet/nwamd DESCRIPTION nwamd is a system daemon to manage network interfaces. This daemon is started automatically and should not be invoked directly. It does not constitute a programming interface, but is classified as a private interface. OPERATION Whether this daemon is enabled or not depends on your installation medium. To check: % svcs svc:/network/physical If the value listed in the FMRI column is "svc:/network/physical:default", then the daemon is disabled; conversely, if the value listed is "svc:/network/physical:nwam", then the daemon is enabled. To go from manual mode to auto-magic mode: % svcadm disable svc:/network/physical:default % svcadm enable svc:/network/physical:nwam To go from auto-magic mode to manual mode: % svcadm disable svc:/network/physical:nwam % svcadm enable svc:/network/physical:default Warning: when switching modes like this, all network interfaces will be brought down then back up, thus if a different IP address is configured in this process, existing applications and sessions may be disrupted. PROFILES Note that all interfaces list here are Volatile and may change in a future release. They are documented here so that those wishing to experiment with this may do so. Profiles are a mechanism for making multiple related changes to the system configuration after IP service is available. There is not direct support for them yet, but a "roll your own" mechanism is provided for now. Once an interface is brought up and an IP address is configured for it, the daemon looks for /etc/nwam/ulp/check-conditions; if it exists and is executable, it is run as a non-root user with basic permissions. This is expected to print a single line of output, which is the name of the profile which the user wishes to be activated based on the current conditions. If such a line is read successfully (foo in this example), then /etc/nwam/ulp/foo/bringup is executed. Likewise, when the interface gets torn down for whatever reason, /etc/nwam/ulp/foo/teardown is executed. The bringup and teardown scripts are invoked via pfexec(1) with default basic privileges. Samples for each of these scripts can be found at: * http://opensolaris.org/os/project/nwam/prototype/check-conditions * http://opensolaris.org/os/project/nwam/prototype/bringup * http://opensolaris.org/os/project/nwam/prototype/teardown ATTRIBUTES See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ | Availability | SUNWcsr | +-----------------------------+-----------------------------+ | Interface Stability | Volatile | +-----------------------------+-----------------------------+ SEE ALSO svcs(1), svcadm(1M), attributes(5), smf(5) NOTES The networking service is managed by the service management facility, smf(5), under the service identifier: svc:/network/physical:default Administrative actions on this service, such as enabling, disabling, or requesting restart, can be performed using svcadm(1M). The service's status can be queried using the svcs(1) command.
