[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fwd: Last Call: Stream Control Transmission Protocol Management Information Base to Proposed Standard



[ iesg cc'd because the document is in last call ]

On Sun, 13 Apr 2003, Harrie Hazewinkel wrote:
>  From draft-ietf-sigtran-sctp-mib-09.txt I noticed this.
> 
> > 5. Compiling notes
> >    When compiling the MIB the following type of warning can occur:
> >
> >    . index of row 'sctpLookupRemPrimIPAddrEntry' can exceed OID size
> >       limit by 141 subidentifier(s)
> >
> >    This is due to the fact that sctpAssocRemPrimAddr has the default
> >    InetAddress size of (0..255), which exceeds OID size limitations.
> >    Introducing a size restriction on sctpAssocRemPrimAddr would make 
> >    the warning go away -- although it would be one of those arbitrary
> >    restrictions.
> 
> How should this be handled, I am not sure if this is the correct
> way. They specify in the description of sctpAssocRemPrimAddr that it
> is 'expected' to be used only for IPv4 and IPv6, but expectation
> can mean that the 'dns' type can be used.
> If so, then entries in this table become ambiguous. Or am I incorrect??

We've discussed this issue quite a bit on the mreview list when we
were working on the review guidelines document.  Given the
structure of the MIB module, I'm surprised (and disappointed) to
see that the warnings were not disposed of with SIZE constraints,
because this MIB module is one where they do the exact job you want.

Specifically, the InetAddress objects in this MIB module that are
used as indices appear as the only variable-length index object, and
all of the tables where InetAddress object appear in the INDEX
clause have similar index structure.  So in every case constraining
the size to 114 octets fixes the problem.  Notice that in this
situation the SIZE constraint is NOT an arbitrary limit, it
expresses a real limit imposed by the SNMP.  For that reason I would
recommend to add the appropriate SIZE constraints and get rid of the
weasel-words saying that the problem is only theoretical.  The the
language about MIB compilation warnings could be removed too.

A set of diffs showing what would need to be changed in the MIB
module is attached below my initials.  Harrie, I think additional
edits may be needed to address all of your concerns.

As an aside, I notice that sctpAssocRemPrimAddr is a read-only
column that's not an index in the table where it resides, but
is used as an index in another table.  This is a bit unusual.

//cmh

***************
*** 573,588 ****
  
     sctpAssocRemPrimAddr OBJECT-TYPE
!      SYNTAX         InetAddress
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
            "The primary remote IP address. The type of this address is
            determined by the value of sctpAssocRemPrimAddrType.
  
            The client side will know this value after INIT_ACK message
            reception, the server side will know this value when sending
            INIT_ACK message. However, values will be filled in at
!           established(4) state."
  
       ::= { sctpAssocEntry 6 }
  
--- 573,591 ----
  
     sctpAssocRemPrimAddr OBJECT-TYPE
!      SYNTAX         InetAddress (SIZE(0..114))
       MAX-ACCESS     read-only
       STATUS         current
       DESCRIPTION
            "The primary remote IP address. The type of this address is
            determined by the value of sctpAssocRemPrimAddrType.
  
            The client side will know this value after INIT_ACK message
            reception, the server side will know this value when sending
            INIT_ACK message. However, values will be filled in at
!           established(4) state.
! 
!           Note:  this object has a SIZE constraint because it appears
!           in the INDEX clause of sctpLookupRemPrimIPAddrEntry."
  
       ::= { sctpAssocEntry 6 }
  
***************
*** 861,877 ****
  
  
     sctpAssocLocalAddr OBJECT-TYPE
!      SYNTAX         InetAddress
       MAX-ACCESS     not-accessible
       STATUS         current
       DESCRIPTION
            "The value of a local IP address available for this
            association. The type of this address is determined by the
!           value of sctpAssocLocalAddrType.
!            Theoretically this could result in a more than 128 subid
!           index, but that in practice it is only required to support
!           IPv4 and IPv6 addresses, so it would never be more than 20
!           octets."
  
       ::= { sctpAssocLocalAddrEntry 2 }
  
--- 864,876 ----
  
  
     sctpAssocLocalAddr OBJECT-TYPE
!      SYNTAX         InetAddress (SIZE(0..114))
       MAX-ACCESS     not-accessible
       STATUS         current
       DESCRIPTION
            "The value of a local IP address available for this
            association. The type of this address is determined by the
!           value of sctpAssocLocalAddrType."
  
       ::= { sctpAssocLocalAddrEntry 2 }
  
***************
*** 944,960 ****
  
  
     sctpAssocRemAddr OBJECT-TYPE
!      SYNTAX         InetAddress
       MAX-ACCESS     not-accessible
       STATUS         current
       DESCRIPTION
            "The value of a remote IP address available for this
            association. The type of this address is determined by the
!           value of sctpAssocLocalAddrType.
!            Theoretically this could result in a more than 128 subid
!           index, but that in practice it is only required to support
!           IPv4 and IPv6 addresses, so it would never be more than 20
!           octets."
  
       ::= { sctpAssocRemAddrEntry 2 }
  
--- 943,955 ----
  
  
     sctpAssocRemAddr OBJECT-TYPE
!      SYNTAX         InetAddress (SIZE(0..114))
       MAX-ACCESS     not-accessible
       STATUS         current
       DESCRIPTION
            "The value of a remote IP address available for this
            association. The type of this address is determined by the
!           value of sctpAssocLocalAddrType."
  
       ::= { sctpAssocRemAddrEntry 2 }
  
***************
*** 1220,1241 ****
     sctpLookupRemPrimIPAddrEntry OBJECT-TYPE
       SYNTAX         SctpLookupRemPrimIPAddrEntry
       MAX-ACCESS     not-accessible
       STATUS         current
       DESCRIPTION
            "This table is indexed by primary address and association ID.
            Specifying a primary address, we would get a list of the
            associations that have the specified remote IP address marked
!           as primary.
!           Theoretically this could result in a more than 128 subid
!           index, but that in practice it is only required to support
!           IPv4 and IPv6 addresses, so it would be always below the
!           limit.
!           "
  
       INDEX                    { sctpAssocRemPrimAddrType,
                      sctpAssocRemPrimAddr,
                      sctpAssocId }
  
       ::= { sctpLookupRemPrimIPAddrTable 1 }
  
  
--- 1215,1231 ----
     sctpLookupRemPrimIPAddrEntry OBJECT-TYPE
       SYNTAX         SctpLookupRemPrimIPAddrEntry
       MAX-ACCESS     not-accessible
       STATUS         current
       DESCRIPTION
            "This table is indexed by primary address and association ID.
            Specifying a primary address, we would get a list of the
            associations that have the specified remote IP address marked
!           as primary."
  
       INDEX                    { sctpAssocRemPrimAddrType,
                      sctpAssocRemPrimAddr,
                      sctpAssocId }
  
       ::= { sctpLookupRemPrimIPAddrTable 1 }