Issue#23 revision 1 Extra clarifications.

"Eduardo Cardona" <[email protected]>
Newsgroups gmane.ietf.ipcdn
Message-ID <[email protected]>
All, 

Thanks to Dan Rice and Minnie Lu for the valuable input and suggestions

With today's discussions  about objects not proposed for modifications
in issue#23

Greg and I worked a proposal for clarifying the cloneFrom object ( Copy
from the pointed row to the temporarly entry explicitely ) and the
RowStatusObject to close vage interpretations of other status value, 

Attached is the updated file with issue#23


Let us know any comments

Regards

Greg, Eduardo



docsIfUpChannelStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object is generally intended to be used for the
             creation of a temporary upstream row for the purpose of 
             adjusting channel parameters of a permanent upstream
channel 
             row. 

             The following restrictions apply to this object:
             1) Entries with docsIfUpChannelStatus set to active(1) 
                are logically linked to a physical interface, 
                not temporarily created to clone parameters
             2) A status transition from active (1) to notInService(2) 
                or destroy (6) is not permitted.
                The Interface MIB [RFC2863] ifAdminStatus should be
                used to take an Upstream Channel offline.
             3) Temporary rows must be created using createAndWait(5).
             4) The only possible status change of a row created using
                createAndWait(5) (ie notInService(2) or notReady(3)) is 
                to destroy(6).
                These temporary rows must never be given the Status 
                active(1).

             A mandatory procedure for adjusting an specific row is:
             1) Create a temporary row through an SNMP SET using
                createAndWait(5). Use an ifIndex value outside the
                operational range of the system.
             2) Set the docsIfUpChannelCloneFrom field to the ifIndex
                value of the active row whose parameters require
                adjustment.
             3) Adjust the parameter values using the new
                temporary row. Ensure all parameters contain
                desired values before proceeding to step 4.
             4) Update the permanent row by setting object
                docsIfUpChannelUpdate to TRUE. This SET will fail if
                the adjusted parameters are not compatible with
                each other.
             5) Delete the temporary row through an SNMP SET using
                DELETE.
        ::= { docsIfUpstreamChannelEntry 18 }


docsIfUpChannelCloneFrom OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Intended for use when a temporary upstream table row is
created 
             for the purpose of manipulating parameters for a permanent 
             upstream channel.  Refer to the descriptions of
             docsIfUpChannelStatus and docsIfUpChannelUpdate for details
of 
             this procedure.

             This object contains the ifIndex value of the 
             permanent upstream row whose parameters are to be adjusted.
Upon 
             setting this object, the values of
docsIfUpChannelFrequency, 
             docsIfUpChannelWidth, docsIfUpChannelModulationProfile, 
             docsIfUpChannelSlotSize,
docsIfUpChannelRangingBackoffStart, 
             docsIfUpChannelRangingBackoffEnd,
docsIfUpChannelTxBackoffStart, 
             docsIfUpChannelTxBackoffEnd,
docsIfUpChannelScdmaActiveCodes, 
             docsIfUpChannelScdmaCodesPerSlot,
docsIfUpChannelScdmaFrameSize, 
             docsIfUpChannelScdmaHoppingSeed, docsIfUpChannelType, and
             docsIfUpChannelPreEqEnable for this row are populated with
the 
             corresponding values from the row referenced by this
object.
             Seting this object to a non-existent or temporary upstream
will 
             return the error 'wrongValue'.

             This object must contain a value of zero for permanent 
             upstream rows."
        ::= { docsIfUpstreamChannelEntry 16 }
issue#23-rev1.txt (text/plain, 10.6 KB)
+ Issue #23 (revision 1)
Status: Open
(23) Change the syntax of newly added RFIv2 MIB object 
     docsIfUpChannelType as read-only.
     The purpose of the change is to clarify, simplify and
     normalize the configuration of modulation profiles when 
     assigning them to upstream channels.
     Clarify other interdependencies between US channel and 
     Modulation Profile tables as currently present in up today
     OSS2-0-03092
     Contributors - Minnie Lu Cisco, David White Arris, Jim Fletcher ADC
     Greg White CableLabs, Eduardo Cardona CableLabs
# category: "must fix"
# Action Item: New item presented, to the IPCDN group for considerations
# chair will make a decision.

Issue Details

Setting a modulation profile for an US channel involves:

1 Define a Modulation profile in docsIfCmtsModulationTable
2 Assign the modulation profile and other parameters to the US interface 
  (ifIndex) in docsIfUpstreamChannelTable by setting 
  docsIfUpChannelModulationProfile to the value of docsIfCmtsModIndex of the 
  desired profile
  
The current problem results from an ambiguity in the mib relating to some 
interdependencies between the two tables. In particular, both tables currently 
have ChannelType objects (docsIfUpChannelType and docsIfCmtsModChannelType).

Based on the current MIB, there is a strong likelihood that the two objects 
could conflict, and CMTS vendors would need to develop mechanisms to resolve 
the conflicts. 

This proposal changes docsIfUpChannelType to read-only, the value reported  
is taken from the docsIfCmtsModChannelType object of the currently selected 
modulation profile.

This change will apply to all docsIfUpChannelType entries e.g. physical 
existing ones (e.g. docsIfUpChannelStatus = 'active' ) and cloned entries 
(e.g. docsIfUpChannelStatus = 'createAndWait'-> 'notInService').

 
As written in OSS2-O-03092, an extra restriction is needed:

In order for a modulation profile to be considered valid, all IUCs in the 
modulation profile MUST have the same docsIfCmtsModChannelType.  The validation 
is to be performed whenever a profile is assigned to an upstream channel.  
Additionally, the values of docsIfCmtsModChannelType for a profile MUST NOT be 
changed while the profile is assigned to one or more upstream channels.
 
Not directly related to this issue, but also from OSS2-O-03092:   A modulation 
profile MUST NOT be destroyed if it assigned to one or more active channels. 
 

Revision 1
Clarify the object description of mib objects:
docsIfUpChannelRowStatus and docsIfUpChannelCloneFrom 
source comment are in IPCDN logs:

[ipcdn] RE: Channel Types in RFMIBv2  (was RE: DOCSIS 2.0 : rules for   assigning modulation profiles to upstream channels)"


 
Proposed new descriptions for current MIB objects:


docsIfCmtsModulationEntry OBJECT-TYPE
        SYNTAX      DocsIfCmtsModulationEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Describes a modulation profile for an Interval Usage Code
             for one or more upstream channels.
             Entries in this table are created by the operator. Initial
             default entries may be created at system initialization
             time. No individual objects have to be specified in order
             to create an entry in this table.
             Note that some objects do not have DEFVALs, but do have
             calculated defaults and need not be specified during row
             creation.
             There is no restriction on the changing of values in this
             table while their associated rows are active with the 
             exception of:
             
             1.  If a modulation profile is in use by one or more upstream 
                 channels, the value of docsIfCmtsModChannelType MUST NOT 
                 be changed
             2.  If a modulation profile is in use by one or more upstream 
                 channels, it docsIfCmtsModControl MUST NOT be set to 
                 'destroy' or 'notInService'."
        INDEX { docsIfCmtsModIndex, docsIfCmtsModIntervalUsageCode}
        ::= { docsIfCmtsModulationTable 1 }


docsIfUpChannelModulationProfile OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "An entry identical to the docsIfModIndex in the
             docsIfCmtsModulationTable that describes this channel.
             This channel is further instantiated there by a grouping
             of interval usage codes (IUCs) which together fully describe 
             the channel modulation. This object returns 0 if the
             docsIfCmtsModulationTable entry does not exist or
             docsIfCmtsModulationTable is empty. See
             the associated conformance object for write conditions
             and limitations.
             
             Setting this object MUST return an error if the following 
             conditions are not satisfied:
             1. All the IUC entries in the selected modulation profile 
             MUST have the same value of docsIfCmtsModChannelType. 
             2. All of the modulation parameters in the selected 
             modulation profile MUST be consistent with the other 
             parameters in this docsIfUpChannelEntry. 
        REFERENCE
            "Data-Over-Cable Service Interface Specifications: Radio
             Frequency Interface Specification SP-RFIv2.0-I04-030730,
             Table 8-19."
        ::= { docsIfUpstreamChannelEntry 4 }

docsIfUpChannelType OBJECT-TYPE
        SYNTAX      DocsisUpstreamType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
             "Reflects the Upstream channel type. 
             This object returns the value of docsIfCmtsModChannelType
             for the Modulation Profile selected in 
             docsIfUpChannelModulationProfile for this row."
        REFERENCE
            "Data-Over-Cable Service Interface Specifications: Radio
             Frequency Interface Specification SP-RFIv2.0-I04-030730,
             Section 6.2.1."
        ::= { docsIfUpstreamChannelEntry 15 }
        
docsIfCmtsModChannelType              OBJECT-TYPE
        SYNTAX      DocsisUpstreamType
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Describes the modulation channel type for this modulation
             entry.
             In order to be considered a valid modulation profile for 
             assignment to an upstream channel, all entries (IUCs) in
             the modulation profile must have the same channel type."
        REFERENCE
            "Data-Over-Cable Service Interface Specifications: Radio
             Frequency Interface Specification SP-RFIv2.0-I04-030730,
             Table 8-19."
        DEFVAL { tdma }
        ::= { docsIfCmtsModulationEntry 21 }        

revision 1 Adds



docsIfUpChannelStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "This object is generally intended to be used for the
             creation of a temporary upstream row for the purpose of 
             adjusting channel parameters of a permanent upstream channel 
             row. 

             The following restrictions apply to this object:
             1) Entries with docsIfUpChannelStatus set to active(1) 
                are logically linked to a physical interface, 
                not temporarily created to clone parameters
             2) A status transition from active (1) to notInService(2) 
                or destroy (6) is not permitted.
                The Interface MIB [RFC2863] ifAdminStatus should be
                used to take an Upstream Channel offline.
             3) Temporary rows must be created using createAndWait(5).
             4) The only possible status change of a row created using
                createAndWait(5) (ie notInService(2) or notReady(3)) is 
                to destroy(6).
                These temporary rows must never be given the Status 
                active(1).

             A mandatory procedure for adjusting an specific row is:
             1) Create a temporary row through an SNMP SET using
                createAndWait(5). Use an ifIndex value outside the
                operational range of the system.
             2) Set the docsIfUpChannelCloneFrom field to the ifIndex
                value of the active row whose parameters require
                adjustment.
             3) Adjust the parameter values using the new
                temporary row. Ensure all parameters contain
                desired values before proceeding to step 4.
             4) Update the permanent row by setting object
                docsIfUpChannelUpdate to TRUE. This SET will fail if
                the adjusted parameters are not compatible with
                each other.
             5) Delete the temporary row through an SNMP SET using
                DELETE.
        ::= { docsIfUpstreamChannelEntry 18 }




docsIfUpChannelCloneFrom OBJECT-TYPE
        SYNTAX      InterfaceIndexOrZero
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Intended for use when a temporary upstream table row is created 
             for the purpose of manipulating parameters for a permanent 
             upstream channel.  Refer to the descriptions of
             docsIfUpChannelStatus and docsIfUpChannelUpdate for details of 
             this procedure.

             This object contains the ifIndex value of the 
             permanent upstream row whose parameters are to be adjusted. Upon 
             setting this object, the values of docsIfUpChannelFrequency, 
             docsIfUpChannelWidth, docsIfUpChannelModulationProfile, 
             docsIfUpChannelSlotSize, docsIfUpChannelRangingBackoffStart, 
             docsIfUpChannelRangingBackoffEnd, docsIfUpChannelTxBackoffStart, 
             docsIfUpChannelTxBackoffEnd, docsIfUpChannelScdmaActiveCodes, 
             docsIfUpChannelScdmaCodesPerSlot, docsIfUpChannelScdmaFrameSize, 
             docsIfUpChannelScdmaHoppingSeed, docsIfUpChannelType, and
             docsIfUpChannelPreEqEnable for this row are populated with the 
             corresponding values from the row referenced by this object.
             Seting this object to a non-existent or temporary upstream will 
             return the error 'wrongValue'.

             This object must contain a value of zero for permanent 
             upstream rows."
        ::= { docsIfUpstreamChannelEntry 16 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.