Subject: RFC 2592 revision implementation experience

From: Juergen Schoenwaelder <[email-masked]>
Date: Thu, 5 Apr 2001 16:12:25 +0200

Our Jasmin Script MIB implementation has been updated to be inline
with <draft-ietf-disman-script-mib-v2-02.txt>.

During our implementation exercise, we found a few minor nits in the
specification.

(a) The description of smLaunchLastChange says:

        "The date and time when this launch table entry was last
         modified. The value '0000000000000000'H is returned if
         the launch table entry has not yet been modified. Note
         that a change of smLaunchRunIndexNext is not considered
         a change of this launch table entry."

    Note that smLaunchRowExpireTime changes every centi-seconds and it
    is more or less obvious that this should not influence the
    smLaunchLastChange value. We also believe that any changes to the
    smLaunchStart and smLaunchControl objects should not affect the
    smLaunchLastChange object since these changes do not change the
    template used to launch scripts.

(b) The description of smLaunchRowExpireTime does not say what happens
    if someone tries to modify this object while the associated
    smLaunchOperStatus is already `expired'. We decided that attempts
    to change smLaunchRowExpireTime while the smLaunchOperStatus is
    expired should lead to an inconsistentValue error.

(c) The description of smLaunchRowExpireTime is ambiguous. The first
    sentence says:

         The value of this object specifies how long this row remains
         in the `enabled' operational state.    

    The last sentence says:

         Note that the timer ticks backwards independent of the
         operational state of the launch table entry.

    The underlying question here is whether the timer continues to
    tick backward, independ of whether the operational state is
    `enabled' or `disabled'. We believe that this is the desired
    behaviour.

Taking (a), (b) and (c) together, we get the following diff relative
to <draft-ietf-disman-script-mib-v2-02.txt>:

@@ -1551,49 +1563,55 @@
     ::= { smLaunchEntry 17 }
 
 smLaunchLastChange OBJECT-TYPE
     SYNTAX	DateAndTime
     MAX-ACCESS	read-only
     STATUS	current
     DESCRIPTION
 	"The date and time when this launch table entry was last
 	 modified. The value '0000000000000000'H is returned if 
 	 the launch table entry has not yet been modified. Note 
-	 that a change of smLaunchRunIndexNext is not considered
-	 a change of this launch table entry."
+	 that a change of smLaunchStart, smLaunchControl, 
+	 smLaunchRunIndexNext, and smLaunchRowExpireTime, is not
+	 considered a change of this launch table entry."
     DEFVAL { '0000000000000000'H }
     ::= { smLaunchEntry 18 }
 
 smLaunchRowExpireTime OBJECT-TYPE
     SYNTAX	TimeInterval
     UNITS	"centi-seconds"
     MAX-ACCESS	read-create
     STATUS	current
     DESCRIPTION
         "The value of this object specifies how long this row remains
-         in the `enabled' operational state. The value reported by
-         this object ticks backwards. When the value reaches 0 it
-         stops ticking backward, and the row gets deleted if there are
-         no smRunTable entries associated with this smLaunchTable
-         entry. Otherwise, the smLaunchOperStatus changes to `expired'
-         and the row deletion is delayed.
+         in the `enabled' or `disabled' operational state. The value
+	 reported by this object ticks backwards. When the value 
+	 reaches 0, it stops ticking backward and the row is
+	 deleted if there are no smRunTable entries associated with
+	 this smLaunchTable entry. Otherwise, the smLaunchOperStatus
+	 changes to `expired' and the row deletion is delayed.
 
          The smLaunchRowExpireTime will not tick backwards if it is
          set to its maximum value (2147483647). In other words,
          setting this object to its maximum value turns the timer off.
 
 	 The value of this object may be set in order to increase
 	 or reduce the remaining time that the launch table entry
 	 may be used. Setting the value to 0 will cause an immediate
 	 row deletion or transition into the `expired' operational
 	 state, respectively.
 
+	 It is not possible to set this object while the operational
+	 status is `expired'. Attempts to modify this object while 
+	 the operational status is `expired' leads to an 
+	 inconsistentValue error.
+
 	 Note that the timer ticks backwards independent of the
 	 operational state of the launch table entry."
     DEFVAL { 2147483647 }
     ::= { smLaunchEntry 19 }

 smRunTable OBJECT-TYPE
     SYNTAX	SEQUENCE OF SmRunEntry
     MAX-ACCESS  not-accessible
     STATUS	current

Comments? Is there someone uncomfortable with these changes?

/js

-- 
Juergen Schoenwaelder      Technical University Braunschweig
<[email-masked]>  Dept. Operating Systems & Computer Networks
Phone: +49 531 391 3289    Bueltenweg 74/75, 38106 Braunschweig, Germany
Fax:   +49 531 391 5936    <URL:http://www.ibr.cs.tu-bs.de/~schoenw/>