RE: WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt

"Wijnen, Bert (Bert)" <[email protected]> Wed, 18 Oct 2006 17:44:48 +0200
Newsgroups gmane.ietf.hubmib
Message-ID <7D5D48D2CAA3D84C813F5B154F43B1550ADAA766@nl0006exch001u.nl.lucent.com>
Having looked at the MIB itself now, it seems to me that
the object
      ifCapStackStatus  OBJECT-TYPE
        SYNTAX      RowStatus
would be much better represented by 
      ifCapStackPossible  OBJECT-TYPE
        SYNTAX      TruthValue
where 'true' means it CAN be stacked this way and 'false' means
it cannot. That way you re-use an existing TC, and you can 
exactly represent what you need, no?

Same for ifInvCapStackStatus

Bert


> -----Original Message-----
> From: Keith McCloghrie [mailto:[email protected]]
> Sent: Wednesday, October 18, 2006 16:41
> To: [email protected]
> Cc: [email protected]; [email protected]; [email protected]; 
> [email protected]
> Subject: Re: [Hubmib] WGLC for: draft-ietf-hubmib-efm-cu-mib-06.txt
> 
> 
> > The reason I changed the syntax of ifCapStackStatus and 
> > ifInvCapStackStatus objects from a new enum to the RowStatus was to 
> > emphasize the similarity between the 
> ifCapStackTable/ifInvCapStackTable 
> > and ifStackTable/ifInvStackTable as well as to try to reuse 
> an existing 
> > textual convention instead of inventing yet another enum.
>  
> The motivation is good but it's only valid if the semantics match.
> 
> > I don't think making the ifCapStackStatus/ifInvCapStackStatus to be 
> > read-only is illegal or problematic - the ifInvStackStatus 
> object from 
> > IF-INV-STACK-MIB with a RowStatus syntax is read-only as well.
>  
> The ifInvStackTable table has exactly the same structure and content,
> and exactly the same number of rows as the ifStackTable.  
> Semantically,
> ifInvStackStatus *could* be read-create, but if it were, a SetRequest
> to ifStackStatus and a SetRequest to ifInvStackStatus would have
> exactly the same result, i.e., to make it read-create would be
> redundant because it would provide two means of achieving the same
> behaviour.  So, making it read-only is a simplification.
> 
> > I would also argue that overloading of NotInService value 
> is ok - this 
> > value is defined as:
> > "- 'NotInService', which indicates that the conceptual row 
> exists in the 
> > agent, but is unavailable for use by the managed device".
> 
> 'notInService' is "unavailable for use by the managed device" because
> it normally requires an SNMP operation on a RowStatus object 
> to make it
> available.  Normally, the necessary operation is on the same RowStatus
> object but in the case of ifInvStackStatus (see above comment on
> simplification), the operation needs to be on ifStackStatus.  In
> contrast,
> 
>              notInService(2) - the sub-layer interfaces cannot be
>                               connected temporarily due to
>                               unavailability of the interface(s), 
> 
> The semantics are different here.  It is not an SNMP operation on a
> RowStatus object which prevents this row from being "available for use
> by the managed device".
> 
> > Since these tables are static (read-only) there is no question of 
> > resource consumption - these rows are never deleted and 
> thus can stay in 
> > NotInService state indefinitely. RFC2579 states that "It is the 
> > responsibility of the DESCRIPTION clause of the status column to 
> > indicate what an abnormally long period of time would be." 
> I can add a 
> > sentence in the DESCRIPTION clause saying that an 
> > ifCapStackStatus/ifInvCapStackStatus may be in the 
> NotInService state 
> > indefinitely, formally complying with RFC2579.
>  
> ifInvStackStatus *could* semantically be read-create, but is read-only
> so as to remove redundancy.  In contrast, it is the semantics of
> ifCapStackStatus and ifInvCapStackStatus which prevent them from being
> read-create.
> 
> Keith.
> 
> > However I'm not bent on staying with RowStatus - I'll move 
> back to the 
> > enum if the group feels it is best.
> > 
> > Regards,
> > -E.
> > 
> >   _____ 
> > 
> > > From: Clay Sikes [mailto:[email protected]]
> > > Sent: Tuesday, October 17, 2006 23:11
> > > To: [email protected]
> > > Cc: [email protected]
> > > Subject: Re: [Hubmib] WGLC for: 
> draft-ietf-hubmib-efm-cu-mib-06.txt
> > 
> > 
> > > Hi,
> > 
> > > I have run into an issue with the ifCapStackStatus and 
> > ifInvCapStackStatus objects.  Although the ifCapStackMIB 
> passes smilint, 
> > I have seen compilation issues with these objects.  It 
> seems that the 
> > root cause is the combination RowStatus  syntax and the read-only 
> > max-access (A RowStatus that is read-only seems a bit 
> strange to me).  
> > The compiler does not generate all the code that is 
> required.  Although 
> > there may or may not be an issue with the compiler, I would 
> beg that the 
> > objects be changed from a RowStatus syntax to a enumeration 
> like what 
> > was in the -05 version of the ID.  This may resolve Keith's 
> issue as 
> > well.
> > 
> > > Thoughts?
> > 
> > > Thanks,
> > > Clay
> > 
> > > On 10/17/2006 12:09 PM, Keith McCloghrie wrote:
> > 
> > > > > This is a formal WG Last Call for
> > > > >   
http://www.ietf.org/internet-drafts/draft-ietf-hubmib-efm-cu-mib-06.txt
> > > >    
> 
> > > 
> > >       ifCapStackStatus  OBJECT-TYPE
> > >         SYNTAX      RowStatus
> > >         MAX-ACCESS  read-only
> > >         STATUS      current
> > >         DESCRIPTION
> > >           "The status of the 'cross-connect capability' relationship
> > >           between two sub-layers. The following values can be returned:
> > >             active(1)       - indicates that the sub-layer interface,
> > >                               identified by the ifStackLowerLayer MAY
> > >                               be connected to run 'below' the sub-layer
> > >                               interface, identified by the
> > >                               ifStackHigherLayer index.
> > >             notInService(2) - the sub-layer interfaces cannot be
> > >                               connected temporarily due to
> > >                               unavailability of the interface(s), e.g.
> > >                               one of the interfaces is located on a
> > >                               pluggable module which is absent.
> > 
> > > I suggest this is an ill-advised overloading of 'notInService'.
> > > RFC 2579 says:
> > 
> > >             If the management station is prevented from setting the
> > >             status column to `active' (e.g., due to management station
> > >             or network failure) the conceptual row will be left in the
> > >             `notInService' or `notReady' state, consuming resources
> > >             indefinitely.  The agent must detect conceptual rows that
> > >             have been in either state for an abnormally long period of
> > >             time and remove them.  It is the responsibility of the
> > >             DESCRIPTION clause of the status column to indicate what an
> > >             abnormally long period of time would be.  This period of
> > >             time should be long enough to allow for human response time
> > >             (including `think time') between the creation of the
> > >             conceptual row and the setting of the status to `active'.
> > >             In the absence of such information in the DESCRIPTION
> > >             clause, it is suggested that this period be approximately 5
> > >             minutes in length.  This removal action applies not only to
> > >             newly-created rows, but also to previously active rows which
> > >             are set to, and left in, the notInService state for a
> > >             prolonged period exceeding that which is considered normal
> > >             for such a conceptual row.
> > 
> > > In other words, the 'notInService' of RowStatus is for a temporary
> > > delay in a management station setting it to `active'.  The "temporary"
> > > situation of a "pluggable module which is absent" is liable to be
> > > much longer than the 5 minutes before the agent is required to delete
> > > the row.
> > 
> > > Keith.
> > 
> > > _______________________________________________
> > > Hubmib mailing list
> > > [email protected]
> > > https://www1.ietf.org/mailman/listinfo/hubmib
> > >