Version 0.10, 2009-Mar-11
We need to have a way to specify NCP policy in terms of the individual elements (Network Configuration Units, or NCUs) that comprise it. We would like to be able to specify policy preferences such as "prefer wired over wireless", "one interface at a time", etc.
Activation policy will be described in each Link NCU. As all IP NCUs must be associated with an underlying link, IP NCUs will not have an individual policy; rather, the activation of an IP NCU will happen automatically when the underlying link NCU is activated. Therefore, the properties described in the following section will only be defined for link NCUs.
Four properties in the NCU data structure will be used to represent the activation policy. They are "activation-mode", "enabled", "priority-group", and "priority-mode". These properties are discussed in more detail in the following sections.
property: activation-mode
type: enum
value: MANUAL, PRIORITIZED
The meaning of each value is:
property: enabled (activation-mode == MANUAL)
type: boolean
value: true or false
Specifies the current state of a manually activated NCU.
property: priority-group (activation-mode == PRIORITIZED)
type: int
value: An integer, with 0 being the lowest priority. Negative values
are invalid.
Among all the available priority-groups, only the NCU(s) in the highest available priority-group will be activated. Activation behavior when more than one NCU with the same priority is available is defined by "priority group mode" below.
Note: The priority number should not be viewed as an absolute value; it is subject to change when the NCP repository is updated. But the priority order will be strictly enforced.
property: priority-mode (activation-mode == PRIORITIZED)
type: enum
values: EXCLUSIVE, SHARED, ALL
The meaning of each value is:
For all physical links:
For all physical links:
In NWAM phase 1, we will have 2 NCPs: the Automatic and User-Configured NCPs. The former will specify DHCP for address acquisition method, and will default to a policy of one active link at a time, preferring plugged-in, wired links over wireless, and plumbing IP and IPv6 on that link. If network links are hotplug inserted, these will be automatically added to the Automatic NCP, and if the new link is wired and plugged in, a switch of active link is possible.
On a fresh install, the Automatic NCP will be the only NCP available until the user has created an NCP via the UI; NWAM will therefore run with the Automatic NCP active until the user makes a change. In the upgrade case, if a phase 0 /etc/nwam/llp file existed on the previous installation, that file will be used to create the initial User-Configured NCP, and NWAM will run with that NCP by default. If there was no pre-existing NWAM configuration, the behavior on upgrade will be the same as on initial install, with the Automatic NCP being the default active NCP.
| Revision | Date | Changes |
|---|---|---|
| 0.1 | 2008-Apr-17 | initial draft |
| 0.2 | 2008-Apr-21 | added UI switching approach suggested by Darren |
| 0.3 | 2008-Apr-24 | added initial thoughts on GUI representation of policy |
| 0.4 | 2008-Apr-25 | editorial/formatting updates |
| 0.5 | 2008-Sep-09 | update property names/values |
| 0.6 | 2008-Oct-21 | update property details |
| 0.7 | 2008-Dec-23 | update based on implementation experience: activation policy is specific to link NCUs. |
| 0.8 | 2009-Jan-27 | miscellaneous clean-up |
| 0.9 | 2009-Feb-13 | Design review feedback; more implementation changes |
| 0.10 | 2009-Mar-11 | clarify details about manual activation, the enabled property, and priority numbers |