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