Subject: dsx0BundleTable issues

From: Gary Hanson <[email-masked]>
Date: Tue, 16 Jun 1998 11:46:55 -0700 (PDT)

Hi all,

We've recently identified a few areas where the DS0BUNDLE-MIB is
less convenient to use than we would have liked.  I thought I
would share this implementation experience with the WG to get it
on the record.  I want to stress that this feedback does NOT
indicate a belief that the DS0BUNDLE-MIB needs to be fixed relative
to these points at this time (prior to release as part of a Proposed
Standard), but that it may be desirable to consider these points at
the next opportunity to revise the MIB.

1.  There is no convenient way to locate the dsx0BundleTable entry
    that corresponds to a given ds0Bundle interface.  If a manager
    wishes to delete a ds0Bundle, it must potentially walk through
    the dsx0BundleIfIndex attribute column looking for the matching
    entry.

    A helpful solution would be to add a new table that provides a
    mapping from ds0Bundle ifIndex values to the corresponding
    dsx0BundleIndex values for the entries in the dsx0BundleTable.

2.  The TestAndIncr SYNTAX of the dsx0BundleNextIndex object seems
    cumbersome when compared with similar objects in other MIBs
    (e.g., the atmVpCrossConnectIndexNext object in the ATM-MIB).

    If used as recommended, the dsx0BundleNextIndex object requires
    a GET followed by a SET prior to each attempt to create an entry
    in the dsx0BundleTable, whereas atmVpCrossConnectIndexNext and
    similar index-dispensing objects require just a GET prior to
    each attempt to create an entry in their corresponding tables.
    The TestAndIncr approach thus requires a total of 3 consecutive
    SNMP operations to create a new table entry, whereas the other
    approach only requires 2 consecutive SNMP operations.

    In addition, for a management application to be robust, it
    needs to be prepared to run into theoretical cases where the
    dsx0BundleNextIndex value wraps (or is randomly set during agent
    initialization) and then the management application runs into a
    potentially long sequence of dispensed values that are found to
    be already in use.  In this case, the need for 3 instead of 2
    consecutive operations becomes more painful, perhaps to the
    point that the management application punts and decides to just
    avoid using dsx0BundleNextIndex and tries randomly using index
    values in an effort to more quickly find unused entries.

    If the goal is to facilitate the dispensing of a usable index
    value for the dsx0BundleNextIndex, it would be helpful to define
    an object that works more like atmVpCrossConnectIndexNext does,
    which intelligently provides only a value that is already NOT in
    use, or provides a special value to indicate that ALL entries
    ARE in use.  Since 0 is unfortunately a legal index value for
    the dsx0BundleIndex, presumably a value like -1 would have to be
    used to indicate that no more table entries are available.

Regards,
Gary

 ______
| ///  |       TM   Gary Hanson                [email-masked]
|   ADC|Kentrox     14375 NW Science Park Dr.  503-641-3321 (FAX)
|______|            Portland, Oregon  97229    800-733-5511 x6333