Subject: draft-ietf-snmpconf-pm-05.txt

From: Steve Waldbusser <[email-masked]>
Date: Sat, 03 Mar 2001 17:38:54 -0800

I submitted the updated Policy Based Management MIB to the Internet
Drafts editor.

It probably won't be available in the repository till midweek. Until
then you can download and read it from:
  http://www.nextbeacon.com/snmpconf/pm.txt

From the published todo list, the following are now completed (or
otherwise resolved):
3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
25, 26, 28, 29, 30, 31, 32, 34, 35, 36,
37, 38, 39, 40, 41, 43, 44, (there's no #46), and 48.

- added parseindex() function
- added strtodotted() function
- updated searchcolumn() function argument list order
- Added regexp() and regexp_replace()
- Updated variable format for calling convention for SNMP functions
- Unparsable OID is a run-time exception 
- Added regexp and partial match to searchcolumn()
- Updated searchcolumn() description to be more readable.
- Added counter32delta()
- Reference to ECMAScript
- Protection from looping
- Deleted roleStringSETable
- Added QuickStart guide, including helpful hints to
  C/Perl/TCL/... programmers
- References to policy language or policy code change to PolicyScript
- Added a notational convention for optional arguments
- Single scope
- Clarifications on element discovery added to pmElementTypeRegTable
  and discovery text in "front matter"
- Fixed up comments in MIB, ensuring that everything that was in a
  comment was also in the MIB objects and deleting text that wasn't
  appropriate for a high-level intro to a table.
- // comments
- Added rule for out of bounds array refererence: run-time exception
- Explicitely listed the reserved words
- Added rules for index (string[integer]) semantics 
- rewrote pmPolicyMatches description in cool new style of
  pmPolicyAbnormalTerminations description.
- Added context and address to roletable
- Added pmPolicyMaxIterations object
- Added rules for what authority scripts run under locally
- Added inherited access rights discussion to security considerations
- Automatic deletion of defunct policies
- Added varargs for snmpsend for context, target, and security info
- setvar will automaticilally convert value to string using tostring()
- changed argument order of scratchpad arguments (Wes's email)
- Clarified return value of modifiable arguments in case of error
  (most will not change the argument).
- Added storageType variables to policy, elementTypeReg, and
  notificationReg tables.
- Added counter32Delta() accessor function.
- A few code examples
- Many, many clarifying edits/rewrites and typos fixed.

Steve

---

From: Steve Waldbusser <[email-masked]>
Date: Sun, 18 Mar 2001 02:00:00 -0800

Here's a description of how the items on the official todo list were
dispatched.

    3. Addition of two objects that help with the test/verification and
    status of policies in the policy table.

        This item was completed with the addition of the
        pmPolicyAdminStatus object.

    4. Example Scripts - these should show some basic scripts as
    examples of the language and will be generally useful.

      See section 6.3.

    5. Need to define element "0.0" for "this system" (think of it of
    policies for scalar elements). This work item needs further
    clarification.

      See section 5.2 and def'n for pmElementTypeRegOIDPrefix.

    6. Potentially need more thinking about how policies clean up when
    no longer active. See comments/suggestions presentation made by Jon
    at October Interim. Follow up on WG discussion on error conditions
    based on termination or override.

      See pmPolicyAdminStatus object (activeAutoRemove(2))

   7. Make changes for pass by reference.

      See section 9, page 27.
   
   8.Might be nice to have "Notes for C programmers", "Notes for Perl
   programmers", etc. each with several things to consider (e.g. C
   programmers should be reminded of implicit pass by reference, Perl
   programmers should be reminded that comments don't start with '#' and
   vars don't start with '$'. Be nice to show how small these lists are
   to prove this is the 'esperanto' language

     Section 6.3.1 - 6.3.5

   9. Change to C++ reference

     Section 6

   10. Add automatic initialization

     Section 6.2.1 page 18

   12. regexp accessor function

     Section 9.4.1 and 9.4.2

   13. regexp and partial match for searchcolumn

     Section 9.1.2.4
     
   15. Add newPDU()

     Section 9.1.3.1

   16. Explicit element addresses as varargs for roleMatch and capMatch
   for example, when processing DLCI, what is role of containing port?

     Section 9.3.1 and 9.3.2.

   17. Add signalError() accessor function and enumeration per execution
   context (also for abnormalTermination) and pmSignalErrors gauge

     Section 9.3.9

   18. Define terms like execution context and "this element" - This
   might go in a glossary section.

     Top of page 6.
     
   19. loosely-typed variables - If the WG decided to go with this the
   fixes for the BNF and other text needs to be added.

     Section 6.2

   20. Varargs for snmpsend for context, targer, and security info

     Section 9.1.3.4.

   21. add rules for what authority scripts run under

    See pmPolicyFilter, pmPolicyAction

   22. Add inherited access rights discussion to security considerations

     See Security Considerations    

   23. Sscanf?

     section 9.5

   24. Replace string "access functions" -> "accessor functions"

     Everywhere.

   25. Incorporate (by value) schedule mib with changes presented by Jon
   at the San Diego IETF. We should add some examples to show different
   types of schedules and how they are used.

     Section 10 and pmSchedTable

   26. Protection from looping

     See pmPolicyMaxIterations

   28. More text about "this element" being index, context + address.

     Top of page 6

   29. Policy state object for showing inactive due to precedence.

     See pmTrackingPolicyToElementInfo object.

   30. How about the index of the next-higher overriding policy?

      Withdrawn.

   31. Need context and address added to role tables

      See pmRoleTable

   32. Show an example of 2 repeaters in different contexts on the same
   box - This is a specific example of examples, we should add them as
   time permits.

      See pmRoleTable.

    34. Delete roleStringSETable?

      See page 74 and notice there is no roleStringSETable.

    35. Do we want to provide a parameter to a script (see Docsis
    example for why (address of NMS))

      See pmPolicyParameters and getParameters() accessor function

    36. Error to use a varbind that wasn't set

      Section 9.1.3, page 36

    37. Can we get a reference for the biblio for EBNF?

      There isn't any single EBNF to reference. Instead I included a
      definition of the syntax we are using. It is the second
      paragraph of page 14.

    38. Mention:
    implementation specific limits on scratchpad variables per policy
    implementation specific limits on global scratchpad may be lower

      Section 9.3.6.

    39. Consider (in examples), having descriptor-style OIDs not in
    quotes so they aren't confused

      Considered but the decision was to continue to use quotes for
      readability and clarity that they are, in fact, strings. The
      confusion was addressed with very explicit text that warns
      (repeatedly) that descriptors are never used "over the wire".

    40. Be very explicit that examples are using descriptors despite the
    fact that this is not the "over the wire" representation.

      See the entire document. Repeated references are made to this.

    41. Make sure casting rules are clear for snmp functions

      See 9.1.1

    43. Counter delta function another benefit is that it takes away
    time keeping functions from the script

      See counterRate Accessor Function (Section 9.1.2.6).

    44. Details regarding casting ints (sign conversion, etc.).

      Overtake by events. Not needed with loosely-typed variables.

    48. We need to add text to clarify pmPolicyAbnormalTerminations.

      See pmPolicyAbnormalTerminations

Steve