Subject: Re: [MIB-DOCTORS] The RowStatus issue

From: "Bert (IETF) Wijnen" <[email-masked]>
Date: Tue, 22 Dec 2009 08:49:33 +0100

Richard, I think this looks good.

You really need the opinion of some CAPWAP experts.
They can best determine what it means if you change an attribute
of a row during operational time (so while the row is active).

One extra remark inline

young wrote:
> Hi, Bert:
>
> Thanks. Frankly, for me, it is very difficult to decide the flexibility 
> Of the RowStatus object. 
> Hope you and mailing list would give more opinion.
> Combing with your and Zhang Yong's opinion, my suggestion is:
>
> 1) Give more flexibility to the capwapBaseAcNameListRowStatus and 
> capwapBaseMacAclRowStatus.
>
> capwapBaseAcNameListRowStatus OBJECT-TYPE
>     SYNTAX      RowStatus
>     MAX-ACCESS  read-create
>     STATUS      current
>     DESCRIPTION
>         "This object is used to create, modify, and/or delete a row 
>          in this table.
>          The value of capwapBaseAcNameListName and 
>          capwapBaseAcNameListPriority can be changed when this 
>          object is in state ''active'' or in ''notInService''.
>   
the above is great. However, I think that a row can ALWAYS be changed when
it is in "notInService" state, so it is not needed to mention that. At
the other hand,
it does not hurt to do so either.

Bert
>          The capwapBaseAcNameListRowStatus may be changed to ''active'' 
>          if all the managed objects in the conceptual row with 
>          MAX-ACCESS read-create have been assigned valid values."         
>     ::= { capwapBaseAcNameListEntry 4 }
>
> capwapBaseMacAclRowStatus OBJECT-TYPE
>     SYNTAX      RowStatus
>     MAX-ACCESS  read-create
>     STATUS      current
>     DESCRIPTION
>         "This object is used to create, modify, and/or delete a row 
>          in this table.
>          The value of capwapBaseMacAclStationId can be changed when 
>          this object is in state ''active'' or in ''notInService''.
>          The capwapBaseMacAclRowStatus may be changed to ''active'' 
>          if all the managed objects in the conceptual row with 
>          MAX-ACCESS read-create have been assigned valid values."
>
>     ::= { capwapBaseMacAclEntry 3 }
>
> 2) Give some  flexibility to the capwapBaseWtpProfileRowStatus
> Yes, I think it should be ok to allow more freely changing the 
> value of capwapBaseWtpProfileName
> capwapBaseWtpProfileWtpName and capwapBaseWtpProfileWtpLocation,
> since these object are to give a description.
>
> It is not ok to freely change the capwapBaseWtpProfileWtpMacAddr, 
> capwapBaseWtpProfileWtpModelNumber, 
> capwapBaseWtpProfileWtpStaticIpEnable,
> capwapBaseWtpProfileWtpStaticIpType,
> capwapBaseWtpProfileWtpStaticIp,
> capwapBaseWtpProfileWtpNetmask,
> capwapBaseWtpProfileWtpGateway   
> since they are very important properties (configuration) influencing the
> behaviour.
> Also, their value need not frequent change.
>
> It is acceptable to freely change the object left such as
> capwapBaseWtpProfileWtpIdleTimeout. But I choose  a conservative way: No
> free change on them.
>
> According to this logic, I give the description as followed.
> capwapBaseWtpProfileRowStatus OBJECT-TYPE
>     SYNTAX      RowStatus
>     MAX-ACCESS  read-create
>     STATUS      current
>     DESCRIPTION
>         "This object is used to create, modify, and/or delete a row
>          in this table.         
>          The value of capwapBaseWtpProfileName, 
>          capwapBaseWtpProfileWtpName and capwapBaseWtpProfileWtpLocation
>          can be changed when this object is in state ''active'' or in 
>          ''notInService''.
>          The other objects in a row can be modified only when the value
>          of this object in the corresponding conceptual row is not
>          ''active''. Thus to modify one or more of the objects in 
>          this conceptual row,
>               a. change the row status to ''notInService''
>               b. change the values of the row
>               c. change the row status to ''active''
>          The capwapBaseWtpProfileRowStatus may be changed to ''active'' 
>          if the managed objects capwapBaseWtpProfileName, 
>          capwapBaseWtpProfileWtpMacAddr, 
>          capwapBaseWtpProfileWtpModelNumber, capwapBaseWtpProfileWtpName 
>          and capwapBaseWtpProfileWtpLocation in the conceptual row 
>          have been assigned valid values. 
>                  
>          Deleting a WTP profile in use will disconnect the WTP to 
>          the AC. So the network management system SHOULD
>          ask the operator to confirm such an operation.
>          When a WTP profile entry is removed from the table, 
>          the corresponding WTP Virtual Radio Interfaces are also 
>          removed from the CapwapBaseWirelessBindingTable and 
>          ifTable [RFC2863].
>          Also, the related object instances SHOULD be removed from
>          the wireless binding MIB modules such as IEEE 802.11 
>          MIB module [IEEE.802-11.2007]."
>     ::= { capwapBaseWtpProfileEntry 21 }      
>
> 4) Since there are no frequent change required and service based.
> I suggest to keep current text.
>
> capwapDot11WlanBindRowStatus OBJECT-TYPE
>     SYNTAX      RowStatus
>     MAX-ACCESS  read-create
>     STATUS      current
>     DESCRIPTION
>         "This variable is used to create, modify, and/or delete a row
>          in this table.
>          All the objects in a row can be modified only when the value
>          of this object in the corresponding conceptual row is not
>          ''active''. Thus to modify one or more of the objects in 
>          this conceptual row,
>               a. change the row status to ''notInService'',
>               b. change the values of the row
>               c. change the row status to ''active''"      
>     ::= { capwapDot11WlanBindEntry 3 }
>    
> capwapDot11WlanRowStatus OBJECT-TYPE
>     SYNTAX      RowStatus
>     MAX-ACCESS  read-create
>     STATUS      current
>     DESCRIPTION
>         "This variable is used to create, modify, and/or delete a row
>          in this table.
>          All the objects in a row can be modified only when the value
>          of this object in the corresponding conceptual row is not
>          ''active''. Thus to modify one or more of the objects in 
>          this conceptual row,
>               a. change the row status to ''notInService'',
>               b. change the values of the row
>               c. change the row status to ''active''
>          The capwapDot11WlanRowStatus may be changed to ''active'' 
>          if all the managed objects in the conceptual row with 
>          MAX-ACCESS read-create have been assigned valid values.         
>          
>          When the operator deletes a WLAN profile, the AC SHOULD 
>          check whether the WLAN profile is bound with a radio. 
>          If yes, the value of the Response-PDU's error-status field 
>          is set to `inconsistentValue', and the value of its 
>          error-index field is set to the index of the failed variable
>          binding. If not, the row object could be deleted."
>     ::= { capwapDot11WlanEntry 5 }
>