They control the time and the order in which policies are evaluated on the system. This gives operators the ability to have one policy override another based on a user-defined precedence value.
At the heart of the policy module are two objects, pmPolicyFilter and pmPolicyAction, which contain expressions for the filter. The pmPolicyAction contains an expression with the commands the system will perform on elements that match the filter expression. The expression language will be familiar to those experienced in PERL, since it is a selected subset of PERL and adjusted for this environment.
The policy module can be thought of as the brains of the managed system, and the mechanism-, implementation- and instance-specific MIB modules are the arms and legs. The other MIB modules carry out the instructions of the pmPolicyAction object, which uses local mechanisms for efficient setting of MIB objects.
The snmpconf working group does not require the creation of mechanism- or implementation-specific modules for a policy-enabled system to function. The policy module can act directly on instance-specific MIB modules, the only kind that currently exist. The snmpconf working group is creating a mechanism-specific MIB module for DiffServ, and others are under discussion.
One purpose of these higher-level modules is to make it easier to write pmPolicyAction objects. The mechanism- and implementation-specific MIB modules carry the defaults that are applied to the instance-specific MIB objects. These mechanism- and implementation-specific objects can be set by any SNMP-based management application. Mechanism- and implementation-specific objects and their values need not be contained in the pmPolicyAction, only the pointer to the rows of the tables that contain these defaults. This flexibility allows for future expansion of higher-level modules while preserving current investment in implementations and making the incremental addition of policy capabilities possible.
These modules also make visible the defaults stamped on every instance selected by the pmPolicyFilter. This facility can serve as an important debugging capability in the future.
To appreciate this system's gain in efficiency, imagine a small network with 20 routers, each of which has 10 interfaces. If 10 parameters are to be set in common for each interface, that could translate into as many as 100 commands for each router, or 2,000 for this one configuration operation in this small network. Using the snmpconf policy-based approach, you could reduce this number to as few as one SNMP set operation for each router. This set would contain the information necessary to select the interfaces to which you would apply the templates, with details about what the default values should be.
As IP networks become more complex, basic SNMP counter and per-box management control based on character interfaces to one box at a time will no longer scale. The inclusion of the levels of abstraction in new systems addresses many of the concerns people have about much of the existing SNMP-based management software. It makes third-party development of new features less costly, because some of the details of the variability from one system to the next will not be visible.
This work also offers an excellent platform for a new generation of service-level monitoring and real-time fault and performance tools that can use the network and other resources far more efficiently. Data will be moved at a higher level of abstraction more often, resulting in far less data.
Let's face it -- at many sites, systems-management packages are nothing but shelfware. The snmpconf work has great potential for ending this situation and moving SNMP systems-management software away from being a simple checklist item that no one really cares about to being truly useful. If the users support the standard, the vendors will come. For more detail on the snmpconf working group, see www.ietf.org/html.charters/snmpconf-charter.html.
Jon Saperia, co-chair of the IETF SNMP Configuration Working Group, is co-author of several recent Internet drafts in the area of policy and configuration management. He is also the founder of JDS Consulting. Send your comments on this article to him at saperia@jdscons.com.