Subject: [ipcdn] Issue#7 IPCDN RF MIBv2 - already closed -

From: "Eduardo Cardona" <[email-masked]>
Date: Mon, 6 Oct 2003 12:25:12 -0600

Hi everybody,
One informational item
 
Last week the IPCDN chairs sent out the list with pending issues, and
closed one,

In the closed list issue#7 was in original list as 'will not do', with a
set of reasons for that (see notes from IPCDN chairs rigth below)

We discuss the issue and below are notes for documenting the DEFVAL
clause added to docsIfUpChannelPreEqEnable  object. 

Thanks

Eduardo

+ Issue #7:
Status: Closed (will be in draft08)
(7) docsIfUpChannelPreEqEnable - add DEFVAL clause.
    Contributor - John Gillis ADC
David indicated that a defval is not required (DEFVAL not appropriate
here, also too many other items in same table do not have DEFVAL").
# category: "must fix"
# Eduardo recommends to add a default value of false for this object.
# Action Item: add DEFVAL false in draft 08

Some comments around the Decision of add DEFVAL Clause to object
docsIfUpChannelPreEqEnable            
docsIfUpstreamChannelTable ibjects in RFC 
  
            docsIfUpChannelId                     Integer32,
            docsIfUpChannelFrequency              Integer32,
            docsIfUpChannelWidth                  Integer32,
            docsIfUpChannelModulationProfile      Unsigned32,
            docsIfUpChannelSlotSize               Unsigned32,
            docsIfUpChannelTxTimingOffset         Unsigned32,
            docsIfUpChannelRangingBackoffStart    Integer32,
            docsIfUpChannelRangingBackoffEnd      Integer32,
            docsIfUpChannelTxBackoffStart         Integer32,
            docsIfUpChannelTxBackoffEnd           Integer32

Additions if  RFI Mibv2

            docsIfUpChannelScdmaActiveCodes       Unsigned32,
            docsIfUpChannelScdmaCodesPerSlot      Integer32,
            docsIfUpChannelScdmaFrameSize         Unsigned32,
            docsIfUpChannelScdmaHoppingSeed       Unsigned32,
            docsIfUpChannelType                   DocsisUpstreamType,
            docsIfUpChannelCloneFrom              InterfaceIndexOrZero,
            docsIfUpChannelUpdate                 TruthValue,
            docsIfUpChannelStatus                 RowStatus,
            docsIfUpChannelPreEqEnable            TruthValue

RFC 2670 the table entries were read-write, -dynamic entry created for
the agent-
In this case for operator definition of new entries in ifTable for type
129 and/or 205 
as defined in docsIfUpstreamChannelEntry 

Particularly the objects in this table (RFC 2670) does not define DEFVAL
clauses for its objects due its context. Although indications in some
object descriptions indicate methodologies for default values, like
"verbose" DEFVAL clauses into the DESCRIPTION clause.. See Annex at end

In rfimib v2, the inclusion of the clone Mechanism for SCDMA creates
modifies the SYNTAX from read-write to read-create, Any new created row
does not correspond to existing ifIndex (ifType 129|205)

In practice, still mapped entries to ifTable (Agent dynamically created,
RowStatus = 'active') are "read-write", but the MIB SYNTAX MUST be
read-create for RFC-2578, the only objects using the clone mechanism 

Annex below shows how the Interpretation of not requiring DEFVAL for all
objects listed there, expressed for David Raftus in the period comment
while updating draft v7. docsIfUpChannelPreEqEnable is intentionally out
of the list in the annex  to present its characteristics.

Object definition 
docsIfUpChannelPreEqEnable OBJECT-TYPE
        SYNTAX      TruthValue
...
        DESCRIPTION
            "At the CMTS, used to enable or disable pre-equalization on
             the upstream channel represented by this table instance. 
             At the CM, this object is read-only and reflects the
             status of pre-equalization as represented in the RNG-RSP.
             Pre-equalization is considered enabled at the CM if a 
             RNG-RSP with pre-equalization data has been received at 
             least once since the last mac reinit."

This is a control Object for CMTS and RO status in the CM; The object
apply to all Upstream Channels ( active -> real interfaces and cloning
process- CMTS only )

Due its characteristics, It could be better associate Pre-Equalizers
into the docsIfCmtsModulationTable 

because:
-  Modulation Table contains parameters to efficiently offer
bandwidth/efficiency vs channel robustness,    while UpstreamChannel
objects are more in terms of channel frequency and timing
characteristics. 

   The modulation table objects are more in the robustness design, like
FEC, Scrambler, interleave, Modulation Type. Pre-Equalizers do not
compromise bandwidth efficiency, but is a robustness parameter. 

The Object is not in Modulation table because:
- CM does not support docsIfCmtsModulationTable, and that's why it was
the desire to be reported by CMs
also, 
- Some sort of flexibility to handle in the CMTS the same Modulation
Profile for several channels and turns Equalization enabled/disabled on
a channel basis. 

DEFVAL considerations
The  recommending was defining a DEFVAL clause for the object, below are
some elements taken in the decision

- Considering the Object nature as explained above, 
  non DEFVAL style table might not be a strong factor, there is no
dependencies in other objects/states for switching enable/disable
pre-equalizers.
 
- For CM
  CM Default value is implicit in the definition of where is enabled at
the RNG-RSP time, 
  the DEFVAL clause just makes the initialization clear in the case no
Equalization data is received in RNG-RSP, if Equalization data is
received the object value is updated as normal objects

- For CMTS
  Cloning mechanism uses also this value at row creation, Will be clean 
  To choose between always enabled and always disabled, it is preferable
'disabled' 
  Match the initialization value in the CM.
  Dynamic entries are created via CLI configuration tools/ or SNMP
without RowStatus set, would be expected CLI commands to mandate
pre-equalizer value in the command or default to disabled if not
considered. (last one mainly for backward compatibility in CLI tools
with previous CMTS where pre-equalizers were not supported or not in MSO
lans).

Annex :

Initial objects in RFC 2670

docsIfUpChannelFrequency OBJECT-TYPE
        SYNTAX      Integer32 (0..1000000000)
...
        DESCRIPTION
            "... This object returns 0 if the frequency
             is undefined or unknown..."

docsIfUpChannelWidth OBJECT-TYPE
        SYNTAX      Integer32 (0..20000000)
...
        DESCRIPTION
            "... This object returns 0 if the channel width is 
             undefined or unknown..."
>> explicit default value

docsIfUpChannelModulationProfile OBJECT-TYPE
        SYNTAX      Unsigned32
...
        DESCRIPTION
            "... This object returns 0 if the 
             docsIfCmtsModulationTable entry does not 
             exist or docsIfCmtsModulationTable is empty..."
>> Explicit default value

docsIfUpChannelSlotSize OBJECT-TYPE
        SYNTAX      Unsigned32
...
        DESCRIPTION
            "... Returns zero if the value is undefined or unknown..."
>> Explicit default value

docsIfUpChannelTxTimingOffset OBJECT-TYPE
        SYNTAX      Unsigned32
...
        DESCRIPTION
            "..." 
>> Not explicit default value, it is a measurement value, --implicit
zero if unknown ? -- 
             
docsIfUpChannelRangingBackoffStart OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
...
        DESCRIPTION
            "The initial random backoff window to use when retrying
             Ranging Requests...".
>> Random Value, implicit random initialization

docsIfUpChannelRangingBackoffEnd OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
        DESCRIPTION
            "The final random backoff window to use when retrying
             Ranging Requests..."

>> Random Value, implicit random initialization

docsIfUpChannelTxBackoffStart OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
...
        DESCRIPTION
            "The initial random backoff window to use when retrying
             transmissions..."
>> Random Value, implicit random initialization

docsIfUpChannelTxBackoffEnd OBJECT-TYPE
        SYNTAX      Integer32 (0..16)
...
        DESCRIPTION
            "The final random backoff window to use when retrying
             transmissions..."
>> Random Value, implicit random initialization)
 
------------------------------------------------------------------------
----

Added Objects in RFI v2 MIB

There are tree conditions here:

Dynamic entries (RowStatus = 'active') 
1) SCDMA 
2) non-SCDMA channels
and 

cloning Entry (RowStatus 'createAndWait' -> 'notInService'
3) (CMTS only) for SCDMA channels and optionally if creating non-SCDMA
channels 

docsIfUpChannelScdmaActiveCodes  OBJECT-TYPE
        SYNTAX     Unsigned32 (0 | 64..128)
...
        DESCRIPTION
            "...Returns zero for Non-SCDMA channel types..."
>> Default covers 2)

docsIfUpChannelScdmaCodesPerSlot OBJECT-TYPE
        SYNTAX      Integer32(0 | 2..32)
...
        DESCRIPTION
            "...Returns zero if the value is undefined, unknown
             or in case of a TDMA or ATDMA channel..."
>> Default covers 1), 2), 3)  

docsIfUpChannelScdmaFrameSize OBJECT-TYPE
        SYNTAX      Unsigned32 (0..32)
...
        DESCRIPTION
            "... This value returns zero for non SCDMA Profiles."
>> Default covers 2)

docsIfUpChannelScdmaHoppingSeed OBJECT-TYPE
...
        STATUS     current
        DESCRIPTION
            "...Returns zero for non-SCDMA channel types..."
>> Default covers 2)

docsIfUpChannelType OBJECT-TYPE
        SYNTAX      DocsisUpstreamType
...
        DESCRIPTION
            "...Given the channel type, other channel attributes can be
             checked for value validity at the time of entry creation
             and update."

>> Default covers 3) -> based on DocsisUpstreamType TC value 'unknown' 
   e.g. after RowStatus = 'createAndWait'

docsIfUpChannelCloneFrom OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
...
        DESCRIPTION
            "This object must contain a value of zero for active
             upstream rows."
>> Default Covers 1), 2) 

   3) Might be covered by InterfaceIndexOrZero TC of unknown value
      e.g. after RowStatus = 'createAndWait'

docsIfUpChannelUpdate OBJECT-TYPE
        SYNTAX      TruthValue
...
        DESCRIPTION
            "...An SNMP GET of this object always returns FALSE."
>> Default covers 1), 2), 3)

docsIfUpChannelStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "...
             1) Create an inactive row through an SNMP SET using
                createAndWait(5). Use an ifIndex value outside the
                operational range of the system.
             ...
             1) This object must contain a value of active(1) for
                active rows.
              ...
             The following restrictions apply to this object:
             3) The only possible status change of a row created using
                createAndWait(5) (ie notInService(2)) is to destroy(6).
                These temporary rows must never become active.
             4) ... Entries with docsIfUpChannelStatus set
                to active(1) are logically linked to a physical
                interface..." 

>>  RowStatus description covers 1), 2), 3)

_______________________________________________
IPCDN mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/ipcdn