Re: [Disman] draft-ietf-disman-event-mib-v2-06.txt: Issue-1 -> "MAY not"

Benoit Claise <bclaise@cisco.com> Tue, 19 July 2005 09:40 UTC

Received: from localhost.localdomain ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1DuoaM-0001Qp-C8; Tue, 19 Jul 2005 05:40:22 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1DuoaL-0001QM-HS for disman@megatron.ietf.org; Tue, 19 Jul 2005 05:40:21 -0400
Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id FAA25215 for <disman@ietf.org>; Tue, 19 Jul 2005 05:40:19 -0400 (EDT)
Received: from weird-brew.cisco.com ([144.254.15.118] helo=av-tac-bru.cisco.com) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Dup3w-0005T6-OZ for disman@ietf.org; Tue, 19 Jul 2005 06:10:57 -0400
X-TACSUNS: Virus Scanned
Received: from strange-brew.cisco.com (localhost [127.0.0.1]) by av-tac-bru.cisco.com (8.11.7p1+Sun/8.11.7) with ESMTP id j6J9eBj24738; Tue, 19 Jul 2005 11:40:11 +0200 (CEST)
Received: from [10.61.65.46] (ams-clip-vpn-dhcp302.cisco.com [10.61.65.46]) by strange-brew.cisco.com (8.11.7p1+Sun/8.11.7) with ESMTP id j6J9eAp24729; Tue, 19 Jul 2005 11:40:10 +0200 (CEST)
Message-ID: <42DCCA79.7090102@cisco.com>
Date: Tue, 19 Jul 2005 11:40:09 +0200
From: Benoit Claise <bclaise@cisco.com>
User-Agent: Mozilla Thunderbird 1.0.2 (Windows/20050317)
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: Randy Presuhn <randy_presuhn@mindspring.com>
Subject: Re: [Disman] draft-ietf-disman-event-mib-v2-06.txt: Issue-1 -> "MAY not"
References: <42DC03B7.5020309@cisco.com> <004301c58be6$b9286b60$7f1afea9@oemcomputer>
In-Reply-To: <004301c58be6$b9286b60$7f1afea9@oemcomputer>
Content-Type: multipart/alternative; boundary="------------000803030409010508070700"
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 1ba0ec39a747b7612d6a8ae66d1a873c
Cc: "Disman (E-mail)" <disman@ietf.org>
X-BeenThere: disman@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: Distributed Management <disman.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/disman>, <mailto:disman-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/disman>
List-Post: <mailto:disman@ietf.org>
List-Help: <mailto:disman-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/disman>, <mailto:disman-request@ietf.org?subject=subscribe>
Sender: disman-bounces@ietf.org
Errors-To: disman-bounces@ietf.org

Hi Randy,

>Hi -
>
>  
>
>>From: "Benoit Claise" <bclaise@cisco.com>
>>To: "Disman (E-mail)" <disman@ietf.org>
>>Sent: Monday, July 18, 2005 12:32 PM
>>Subject: [Disman] draft-ietf-disman-event-mib-v2-06.txt: Issue-1 -> "MAY not"
>>
>>    
>>
>
>  
>
>>Dear all,
>>
>>As pointed it out by Dave Shield in
>>http://www1.ietf.org/mail-archive/web/disman/current/msg00648.html, one
>>of the remaining issues in the draft is:
>>
>>Another question:
>>   In a couple of places in this draft (mteObjectEntryStatus,
>>mteEventEntryStatus, etc), the description refers to the term
>>"MAY not".  What does this actually mean?
>>
>>RFC 2119 defines "MAY" as referring to optional features,
>>and makes no mention of "MAY not".  Is this intended to be
>>a prohibition on making any changes to an active row?
>>
>>If so:
>>  a)  Shouldn't the text use  "MUST NOT" ?
>>  b)  What's the purpose of the mteEventEnabled column
>>        if the value can't be changed?
>>  c)  What is the reason for this prohibition?
>>
>>Specifically, we speak about:
>>
>>mteObjectsEntryStatus OBJECT-TYPE
>>    SYNTAX      RowStatus
>>    MAX-ACCESS  read-create
>>    STATUS      current
>>    DESCRIPTION
>>        "The control that allows creation and deletion of entries.
>>        Once made active an entry MAY not be modified except to
>>        delete it."
>>    ::= { mteObjectsEntry 5 }
>>
>>mteEventEntryStatus OBJECT-TYPE
>>    SYNTAX      RowStatus
>>    MAX-ACCESS  read-create
>>    STATUS      current
>>    DESCRIPTION
>>        "The control that allows creation and deletion of entries.
>>        Once made active an entry MAY not be modified except to
>>        modify the value of mteEventEnabled or to delete the entry."
>>    ::= { mteEventEntry 5 }
>>
>>I share Dave's concern. It seems to me that MUST NOT is more appropriate in those two cases.
>>
>>Feedback?
>>    
>>
>
>Depending on what the WG would like the DESCRIPTION to mean,
>let me suggest one of the two following for mteObjectsEntryStatus.
>What implementations currently do could help us choose.
>
>   This object allows creation and deletion of entries.
>   When its value is 'active', attempts to set this object to any
>   value other than 'destroy' MUST be rejected.  Likewise, attempts
>   to set any of the of the other object instances in an active row
>   MUST be rejected.
>
>--or--
>
>   This object allows creation and deletion of entries.
>   When its value is 'active', implementations MAY reject requests
>   to set this object to any value other than 'destroy'.  Likewise,
>   implementations MAY reject requests to set any of the other
>   object instances in an active row.
>
>I would hope that the changes to mteEventEntryStatus would be similar.
>My guess is that the first one was probably what was intended.
>  
>
Unless I hear otherwise ... Let me modify the mteObjectsEntryStatus 
DESCRIPTION with your first proposition and the mteObjectsEntryStatus 
DESCRIPTION with:

mteEventEntryStatus OBJECT-TYPE

 DESCRIPTION "This object allows creation and deletion of 
                         
              entries. When its value is 'active', attempts to
              set this object to any value other than 'destroy'
              MUST be rejected, except to modify the value of
              mteEventEnabled."


>In both cases, note these requirements from the mib review guidelines:
>
>     - The DESCRIPTION clause of the status column MUST specify which
>       columnar objects (if any) have to be set to valid values before
>       the row can be activated.  If any objects in cascading tables
>       have to be populated with related data before the row can be
>       activated, then this MUST also be specified.
>  
>
Before the mteTriggerEntryStatus is set to active, the mteTriggerObjects 
must point to the mteObjectsName in the mteObjectsTable. Right now, the 
corresponding mteObjectsEntryStatus doesn't have to be active before the 
mteTriggerEntryStatus.
I like this flexibility (the EVENT-MIB is complex enough already) but is 
it as designed?
Should we complement the mteTriggerEntryStatus DESCRIPTION with a 
sentence such as: The entry in the mteObjectsTable corresponding to the 
mteTriggerObject MUST be active before activating this entry?

Same remark with the mteTrigger*Event. Before the mteTriggerEntryStatus 
is set to active, the mteTrigger*Event must point to the mteEventName in 
the mteEventTable . Right now, the corresponding mteEventEntryStatus 
doesn't have to be active before the mteTriggerEntryStatus. Again, I 
like this flexibility, but is it as initially designed?

Regards, Benoit.

>     - The DESCRIPTION clause of the status column MUST specify whether
>       or not it is possible to modify other columns in the same
>       conceptual row when the status value is active(1).  Note that in
>       many cases it will be possible to modify some writeable columns
>       when the row is active but not others.  In such cases the
>       DESCRIPTION clause for each writeable column SHOULD state whether
>       or not that column can be modified when the row is active, and
>       the DESCRIPTION clause for the status column SHOULD state that
>       modifiability of other columns when the status value is active(1)
>       is specified in the DESCRIPTION clauses for those columns (rather
>       than listing the modifiable columns individually).
>
>   - For conceptual rows that include a StorageType column:
>
>     - The DESCRIPTION clause of the StorageType column MUST specify
>       which read-write or read-create columnar objects in permanent(4)
>       rows an agent must, at a minimum, allow to be writable.
>
>Randy
>
>  
>