V2 Changes for next RFI v2 MIB (draft 10)

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

Please find attached the summary of changes after all your feedback,
special thanks to Randy Presuhn for all the detailed comments.

Please note that the storageType objects are being set as CMTS only
requirement docsIfCmtsGroupV2  since the CM compliances are read-only or
any other tables do not apply to CMs.

Change #9 for the docsIfCmRangingTimeout please review the other
question sent to the list and OSSI reflector

Please see if the coments are being captured properly.

 
PDF has the color change, also attached text file for convenience.


Thanks

Eduardo
Considerations for adding StorageType objects RFIMibv2_revision2.pdf (application/octet-stream, 24.9 KB) - not displayed
Considerations for adding StorageType objects RFIMibv2_revision2.txt (text/plain, 24.7 KB)






         Considerations for adding StorageType objects to MIB Module DOCS-
         IF-MIB in draft draft-ietf-ipcdn-docs-rfmibv2-10.txt 
         Revision-2 
          
         Modifications based on "Guidelines for MIB Authors and Reviewers" draft-ietf-
         ops-mib-review-guidelines-02.txt, sections 4.6.2 and 4.6.4 pertain 
         initialization and persistence conditions upon reboot for read-write and read-
         create MIB objects.  
          
          
         changes for draft-ietf-ipcdn-docs-rfmibv2-10.txt 
          
         Change       Note 
         Change #1     New requirement WG Last Call 
         Change #2     New requirement WG Last Call (updated) 
         Change #3     New requirement WG Last Call 
         Change #4     New requirement WG Last Call 
         Change #5     Clarification OPS MIB guidelines (updated) 
         Change #6     Clarification OPS MIB guidelines  
                      Changed: 
                      #6a, #6b, #6c 
         Change #7     Clarification OPS MIB guidelines 
                      Changed: 
                      #7a, #7b, #7c 
         Change #8     Clarification OPS MIB guidelines 
                      Changed: 
                      #8a, #8b, #8c 
         Change #9     Tentative changes for docsIfCmRangingTimeout  
         others       Update document keys to uppercase 
                      MAY MUST, MUST NOT, updated RFI references to SP-
                      RFIv2.0-I05-040407 
          
          
          
         docsIfCmtsModulationTable 
         Read-create 
          
         Added:  
          
         Change #1 
          
        DocsIfCmtsModulationEntry ::= SEQUENCE { 
                    docsIfCmtsModIndex                    Integer32, 
                    docsIfCmtsModIntervalUsageCode        INTEGER, 
                    docsIfCmtsModControl                  RowStatus, 
                    docsIfCmtsModType                     INTEGER, 
                    docsIfCmtsModPreambleLen              Integer32, 
                    docsIfCmtsModDifferentialEncoding     TruthValue, 
                    docsIfCmtsModFECErrorCorrection       Integer32, 
                    docsIfCmtsModFECCodewordLength        Integer32, 
                    docsIfCmtsModScramblerSeed            Integer32, 
                    docsIfCmtsModMaxBurstSize             Integer32, 
                    docsIfCmtsModGuardTimeSize            Unsigned32, 
                    docsIfCmtsModLastCodewordShortened    TruthValue, 
                    docsIfCmtsModScrambler                TruthValue, 





                    docsIfCmtsModByteInterleaverDepth     Unsigned32, 
                    docsIfCmtsModByteInterleaverBlockSize Unsigned32, 
                    docsIfCmtsModPreambleType             INTEGER, 
                    docsIfCmtsModTcmErrorCorrectionOn     TruthValue, 
                    docsIfCmtsModScdmaInterleaverStepSize Unsigned32, 
                    docsIfCmtsModScdmaSpreaderEnable      TruthValue, 
                    docsIfCmtsModScdmaSubframeCodes       Unsigned32, 
                    docsIfCmtsModChannelType              DocsisUpstreamType, 
                    docsIfCmtsModStorageType              StorageType 
                } 
          
         Note Also added StorageType TC to IMPORTS section. 
          
         Change #2 
          
        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, which could report a value  
                     'permanent' or 'readOnly' for docsIfCmtsModStorageType. 
                     A CMTS may reject the creation of additional Interval 
                     Usage Codes for a modulation profile being defined at  
                     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 default value ,  
                     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, the value of docsIfCmtsModControl  
                        MUST NOT be set to destroy(6) or notInService(2)." 
                INDEX { docsIfCmtsModIndex, docsIfCmtsModIntervalUsageCode} 
                ::= { docsIfCmtsModulationTable 1 } 
         
          
         Change #3 
         
         
         docsIfCmtsModStorageType OBJECT-TYPE 
                 SYNTAX       StorageType 





                 MAX-ACCESS   read-create 
                 STATUS       current 
                 DESCRIPTION  
                     "The storage type for this conceptual row. 
                      Conceptual rows having the value 'permanent' need not 
                      allow write-access to any columnar objects in the row." 
                 DEFVAL      { nonVolatile } 
                 ::= { docsIfCmtsModulationEntry 22 } 
          
          
        docsIfBasicComplianceV2 MODULE-COMPLIANCE 
                STATUS      current 
                DESCRIPTION 
                    "The compliance statement for devices that implement 
                     MCNS/DOCSIS compliant Radio Frequency Interfaces." 
         
        MODULE  -- docsIfMib 
         
        -- unconditionally mandatory groups 
        MANDATORY-GROUPS { 
                docsIfBasicGroupV2 
                } 
         
        -- conditionally mandatory group 
        GROUP docsIfCmGroupV2 
                DESCRIPTION 
                    "This group is implemented only in Cable Modems, not in 
                     Cable Modem Termination Systems." 
         
        -- conditionally mandatory group 
        GROUP docsIfCmtsGroupV2 
                DESCRIPTION 
                    "This group is implemented only in Cable Modem Termination 
                     Systems, not in Cable Modems." 
         
        -- Optional groups 
         
        GROUP docsIfCmtsOptionalGroupV2 
                DESCRIPTION 
                    "This group is optional for Cable Modem Termination Systems, 
                     and not applicable for Cable Modems." 
         
         ... (multiple OBJECT compliances ) ... 
         
        OBJECT  docsIfCmtsModStorageType 
                SYNTAX StorageType { nonVolatile(3) } 
                DESCRIPTION 
                    "It is compliant to only support nonvolatile storage." 
         
                ::= { docsIfCompliancesV2 1 } 
         
         
          
         Change #4 
         





        Note that objects  docsIfDownChannelStorageType and docsIfQosProfStorageType 
        corresponding tables are in docsIfBasicGroupV2 group but this specific two 
        objects are placed in docsIfCmtsGroupV2 since those parameters are not needed 
        due CM's read-only compliance requirements. 
         
        docsIfCmtsGroupV2 OBJECT-GROUP 
                OBJECTS { 
                    docsIfCmtsCapabilities, 
                    docsIfCmtsSyncInterval, 
                    docsIfCmtsUcdInterval, 
                    docsIfCmtsMaxServiceIds, 
                    docsIfCmtsInvitedRangingAttempts, 
                    docsIfCmtsInsertInterval, 
                    docsIfCmtsMacStorageType, 
                    docsIfCmtsStatusInvalidRangeReqs, 
                    docsIfCmtsStatusRangingAborteds, 
                    docsIfCmtsStatusInvalidRegReqs, 
                    docsIfCmtsStatusFailedRegReqs, 
                    docsIfCmtsStatusInvalidDataReqs, 
                    docsIfCmtsStatusT5Timeouts, 
                    docsIfCmtsCmStatusMacAddress, 
                    docsIfCmtsCmStatusDownChannelIfIndex, 
                    docsIfCmtsCmStatusUpChannelIfIndex, 
                    docsIfCmtsCmStatusRxPower, 
                    docsIfCmtsCmStatusTimingOffset, 
                    docsIfCmtsCmStatusEqualizationData, 
                    docsIfCmtsCmStatusValue, 
                    docsIfCmtsCmStatusUnerroreds, 
                    docsIfCmtsCmStatusCorrecteds, 
                    docsIfCmtsCmStatusUncorrectables, 
                    docsIfCmtsCmStatusSignalNoise, 
                    docsIfCmtsCmStatusMicroreflections, 
                    docsIfCmtsCmStatusExtUnerroreds, 
                    docsIfCmtsCmStatusExtCorrecteds, 
                    docsIfCmtsCmStatusExtUncorrectables, 
                    docsIfCmtsCmStatusDocsisRegMode, 
                    docsIfCmtsCmStatusModulationType, 
                    docsIfCmtsCmStatusInetAddressType, 
                    docsIfCmtsCmStatusInetAddress, 
                    docsIfCmtsCmStatusValueLastUpdate, 
                    docsIfCmtsCmStatusHighResolutionTimingOffset, 
                    docsIfCmtsServiceAdminStatus, 
                    docsIfCmtsServiceQosProfile, 
                    docsIfCmtsServiceCreateTime, 
                    docsIfCmtsServiceInOctets, 
                    docsIfCmtsServiceInPackets, 
                    docsIfCmtsServiceNewCmStatusIndex, 
                    docsIfCmtsModType, 
                    docsIfCmtsModControl, 
                    docsIfCmtsModPreambleLen, 
                    docsIfCmtsModDifferentialEncoding, 
                    docsIfCmtsModFECErrorCorrection, 
                    docsIfCmtsModFECCodewordLength, 
                    docsIfCmtsModScramblerSeed, 
                    docsIfCmtsModMaxBurstSize, 
                    docsIfCmtsModGuardTimeSize, 
                    docsIfCmtsModLastCodewordShortened, 





                    docsIfCmtsModScrambler, 
                    docsIfCmtsModByteInterleaverDepth, 
                    docsIfCmtsModByteInterleaverBlockSize, 
                    docsIfCmtsModPreambleType, 
                    docsIfCmtsModTcmErrorCorrectionOn, 
                    docsIfCmtsModScdmaInterleaverStepSize, 
                    docsIfCmtsModScdmaSpreaderEnable, 
                    docsIfCmtsModScdmaSubframeCodes, 
                    docsIfCmtsModChannelType, 
                    docsIfCmtsModStorageType, 
                    docsIfCmtsQosProfilePermissions, 
                    docsIfCmtsCmPtr, 
                    docsIfCmtsChannelUtilizationInterval, 
                    docsIfCmtsChannelUtUtilization, 
                    docsIfCmtsDownChnlCtrId, 
                    docsIfCmtsDownChnlCtrTotalBytes, 
                    docsIfCmtsDownChnlCtrUsedBytes, 
                    docsIfCmtsDownChnlCtrExtTotalBytes, 
                    docsIfCmtsDownChnlCtrExtUsedBytes, 
                    docsIfCmtsUpChnlCtrId, 
                    docsIfCmtsUpChnlCtrTotalMslots, 
                    docsIfCmtsUpChnlCtrUcastGrantedMslots, 
                    docsIfCmtsUpChnlCtrTotalCntnMslots, 
                    docsIfCmtsUpChnlCtrUsedCntnMslots, 
                    docsIfCmtsUpChnlCtrExtTotalMslots, 
                    docsIfCmtsUpChnlCtrExtUcastGrantedMslots, 
                    docsIfCmtsUpChnlCtrExtTotalCntnMslots, 
                    docsIfCmtsUpChnlCtrExtUsedCntnMslots 
                    docsIfDownChannelStorageType, 
                    docsIfQosProfStorageType  
                } 
                STATUS      current 
                DESCRIPTION 
                    "Group of objects implemented in Cable Modem Termination 
                     Systems." 
                ::= { docsIfGroupsV2 3 } 
         
        Related changes for Document consistency. 
         
         
         docsIfUpstreamChannelTable 
          
         By RFC 2670 this table is read-write, and is an extension of ifTable for DOCSIS 
         upstream channels and upstream logical channels 
         The read-create syntax was introduced by RFI MIBv2 as a method for creation of 
         temporary rows used for off-line parameters adjustments. 
          
          
         For the mandatory procedure, It was suggested by Randy Presuhn using error code 
         'inconsistentValue'. Currently the object 'docsIfUpChannelUpdate  
         has other error codes depending on SNMPv1 or SNMPv2/v3. 
         It is convenient to remove this overlapping requirement  
         
                     4. Update the physical row by setting the object 
                        docsIfUpChannelUpdate to true(1). 
          





         From docsIfUpChannelUpdate 
         
                DESCRIPTION 
                    " Used to perform the transfer of adjusted parameters  
                     from the temporary upstream row to the physical upstream  
                     row indicated by the docsIfUpChannelCloneFrom object.  The  
                     transfer is initiated through an SNMP SET to 'true' of  
                     this object.  The SNMP SET failure returns an error  
                     genError (snmpv1) or commitFailed (snmpv2c/v3) if the 
                     adjusted parameter values are not compatible with each 
                     other.  Reading this object always return 'false'." 
          
          
         CHANGE # 5 
         
        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 physical upstream 
                     channel row. 
         
                     The following restrictions apply to this object: 
                     1. Entries with this object set to active(1) are  
                        extensions of defined physical interfaces in  
                        the interface MIB RFC 2863. Entries created by 
                        RowStatus createandWait(5) are temporarily created to 
                        clone parameters. 
                     2. A status transition from active(1) to notInService(2) 
                        or destroy(6) is not permitted. 
                     3. ifAdminStatus from the Interface MIB RFC 2863 is used 
                        to take an Upstream Channel offline. 
                     4. Temporary inactive rows MUST be created using 
                        createAndWait(5). 
                     5. The only possible status change of a row created using 
                        createAndWait(5) (i.e. notInService(2)) or notReady(3)  
                        is to destroy(6). 
                     6. Temporary created rows MUST never be given the status 
                        active(1). 
         
                     A Mandatory procedure for adjusting an specific physical  
                     Upstream channel 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 physical 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 physical row by setting the object 
                        docsIfUpChannelUpdate to true(1).  This operation fails 





                        with error genErr if the adjusted parameters are not  
                        compatible with each other. 
                     5. Delete the temporary row through an SNMP SET using 
                        DELETEdestroy(6). 
                        Temporary entries MUST NOT persist at reinitialization  
                        of the managed system." 
                ::= { docsIfUpstreamChannelEntry 18 }   
          
         docsIfQosProfileTable 
          
         RFIv2 Updates 
         docsIfQosProfMaxTransmitBurst replaces deprecated docsIfQosProfMaxTxBurst 
          
         From RFC 2670 it is compliant to be read-only (as well 
         docsIfCmtsQosProfilePermissions which should then be set to 0x80)  
         RFC 2670 does not cover Persistent requirements. 
          
         Although the option of being a read-create table may indicates merits to well 
         define the persistent requirements under MIB revision guidelines. The 
         docsIfQosProfileTable covers only the DOCSIS 1.0 Class of Service profiling, 
         which is supported for DOCSIS 1.1 and 2.0 CMTSes for device and services 
         backward compatibility. 
          
         As all systems continue transitioning to DOCSIS 1.1 QOS, this table will be in 
         the future deprecated, therefore it may not worth to update the MIB for 
         StorageType requirements to impose persistent requirements for systems 
         supporting RFI MIB v2. 
          
         Add object docsIfQosProfStorageType read-only 
          
          
          
         CHANGE #6a 
          
        DocsIfQosProfileEntry ::= SEQUENCE { 
                    docsIfQosProfIndex                Integer32, 
                    docsIfQosProfPriority             Integer32, 
                    docsIfQosProfMaxUpBandwidth       Integer32, 
                    docsIfQosProfGuarUpBandwidth      Integer32, 
                    docsIfQosProfMaxDownBandwidth     Integer32, 
                    docsIfQosProfMaxTxBurst           Integer32,  -- deprecated 
                    docsIfQosProfBaselinePrivacy      TruthValue, 
                    docsIfQosProfStatus               RowStatus, 
                    docsIfQosProfMaxTransmitBurst     Integer32, 
                    docsIfQosProfStorageType          StorageType 
                } 
          
         CHANGE #6b 
          
         docsIfQosProfStorageType OBJECT-TYPE 
                 SYNTAX       StorageType 
                 MAX-ACCESS   read-only 
                 STATUS       current 
                 DESCRIPTION  
                     "The storage type for this conceptual row. 
                 ::= { docsIfQosProfileEntry 10 } 





          
         CHANGE #6c 
          
         See change #4 pertain docsIfQosProfStorageType 
          
          
         Object syntax read-write different of Read-create tables 
         (OPS MIB guidelines section 6.4.2)  
          
          
         docsIfDownstreamChannelTable  
          
         MAX-ACCESS read-only 
         docsIfDownChannelAnnex  
          
         MAX-ACCESS read-write, MIN-ACCESS read-only 
         docsIfDownChannelFrequency 
         docsIfDownChannelWidth 
         docsIfDownChannelModulation 
         docsIfDownChannelInterleave 
         docsIfDownChannelPower 
          
         MIN-ACCESS read-only for docsIfDownstreamChannelTable implies the minimal 
         implementation has no persistent requirement.  
          
         As a minimal requirement, a StorageType read-only object is added to indicate 
         the SNMP persistence capabilities of docsIfDownstreamChannelTable. 
          
         No DEFVAL is defined due the different compliance statements for CMs and 
         CMTSes, and requirements. 
          
          
          
         CHANGE # 7a 
          
        DocsIfDownstreamChannelEntry ::= SEQUENCE { 
                    docsIfDownChannelId               Integer32, 
                    docsIfDownChannelFrequency        Integer32, 
                    docsIfDownChannelWidth            Integer32, 
                    docsIfDownChannelModulation       INTEGER, 
                    docsIfDownChannelInterleave       INTEGER, 
                    docsIfDownChannelPower            TenthdBmV, 
                    docsIfDownChannelAnnex            INTEGER, 
                    docsIfDownChannelStorageType      StorageType 
                } 
         
         CHANGE # 7b 
         
         docsIfDownChannelStorageType OBJECT-TYPE 
                 SYNTAX       StorageType 
                 MAX-ACCESS   read-only 
                 STATUS       current 
                 DESCRIPTION  
                     "The storage type for this conceptual row. 
                 ::= { docsIfDownstreamChannelEntry 8 } 





         
         CHANGE # 7c 
         See change #4 pertain docsIfDownChannelStorageType 
         
         docsIfCmtsMacTable 
         docsIfCmtsSyncInterval, docsIfCmtsUcdInterval, 
         docsIfCmtsInvitedRangingAttempts, docsIfCmtsInsertInterval: 
          
           - It is compliant for this table objects to be read-only  
           - (MIN-ACCESS read-only) 
         
        Similar to docsIfDownstreamChannelTable 
          
         CHANGE # 8a 
          
        DocsIfCmtsMacEntry ::= SEQUENCE { 
                    docsIfCmtsCapabilities            BITS, 
                    docsIfCmtsSyncInterval            Integer32, 
                    docsIfCmtsUcdInterval             Integer32, 
                    docsIfCmtsMaxServiceIds           Integer32, 
                    docsIfCmtsInsertionInterval       TimeTicks,   -- Obsolete  
                    docsIfCmtsInvitedRangingAttempts  Integer32, 
                    docsIfCmtsInsertInterval          TimeInterval, 
                    docsIfCmtsMacStorageType          Storagetype 
                } 
          
         CHANGE # 8b 
          
         docsIfCmtsStorageType OBJECT-TYPE 
                 SYNTAX       StorageType 
                 MAX-ACCESS   read-only 
                 STATUS       current 
                 DESCRIPTION  
                     "The storage type for this conceptual row. 
                 ::= { docsIfCmtsMacEntry 8 } 
         
          
         CHANGE # 8c 
          
         See Change #4 pertain docsIfCmtsMacStorageType 
         
         
         docsIfCmtsServiceTable 
          
         Object docsIfCmtsServiceAdminStatus is read-write, and indicates the 
         administrative Status of an active CM upstream queue service, upon reboot all 
         queues are deleted and CMs will re-register. Therefore persistence does not 
         apply. 
          
         docsIfCmMacTable 
         This is a CMs specific object. 
         docsIfCmRangingTimeout MAX-ACCESS is read-write with DEFVAL clause. 
         It is believed that the presence of the DEFVAL and the MIB object reference to 
         the spec is sufficient to not detail CM persistent requirements. 
          





         CHANGE #9 
          
         Tentative change 
          
        docsIfCmRangingTimeout OBJECT-TYPE 
                SYNTAX      TimeInterval 
                MAX-ACCESS  read-write 
                STATUS      current 
                DESCRIPTION 
                    "Waiting time for a Ranging Response packet. 
                     This object MUST not persist at reinitialization 
                     of the managed system." 
                REFERENCE 
                    "Data-Over-Cable Service Interface Specifications: Radio 
                     Frequency Interface Specification SP-RFIv2.0-I05-040407, 
                     Section 9.1.6, timer T3." 
                DEFVAL { 20 } 
                ::= { docsIfCmMacEntry 4 } 
         
          
          
         
         
         Tables read-only  
          
         docsIfSignalQualityTable 
         docsIfCmStatusTable 
         docsIfCmServiceTable 
         docsIfCmtsStatusTable 
         docsIfCmtsCmStatusTable 
         docsIfCmtsMacToCmTable 
         docsIfCmtsChannelUtilizationInterval 
         docsIfCmtsChannelUtilizationTable 
         docsIfCmtsDownChannelCounterTable 
         docsIfCmtsUpChannelCounterTable 
         
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.