Alarm Reporting Control Management Information Base (MIB)
Extracted elements (18)
The alm state (alarm reporting allowed) is not enumerated in the arcState object. Instead, it is implicitly supported: once a resource enters alm state for a specified alarm type, the corresponding row is automatically deleted from the arc table. Manual transition to alm is achieved by setting RowStatus to 'destroy'.
The ARC feature provides automatic in-service provisioning by suppressing alarm reporting during service setup, customer testing, and maintenance activities. Once a resource is problem-free, alarm reporting can be automatically or manually turned on, reducing unnecessary work items and maintenance costs.
If the total size of arcIndex and arcNotificationId exceeds 114 sub-IDs, OIDs of column instances in the arcTable will exceed 128 sub-IDs and cannot be accessed using SNMPv1, SNMPv2c, or SNMPv3.
Alarm conditions raised prior to entering ARC mode are reported normally (both raised and cleared). Conditions raised after entering ARC mode and cleared before exiting are not reported at all. Conditions raised after entering ARC mode but not cleared at exit have their raised notification deferred until exit, with cleared notifications sent at actual clear time.
Deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Implementers SHOULD consider the security features of the SNMPv3 framework, including full support for SNMPv3 cryptographic mechanisms for authentication and privacy. It is RECOMMENDED to deploy SNMPv3 with cryptographic security enabled.
Instances of arcTITimeInterval and arcCDTimeInterval SHOULD persist across agent restarts.
Setting arcRowStatus to 'destroy' removes the ARC setting and resumes normal alarm reporting for the resource and alarm type. Only arcState, arcNalmTimeRemaining, and arcRowStatus can be updated when a row is active. All objects except arcNalmTimeRemaining must be set before a row can be activated.
arcIndex (ResourceId) uniquely identifies the managed resource under ARC control, e.g., pointing to an ifIndex instance. arcAlarmType (IANAItuProbableCauseOrZero) identifies the alarm condition type; value 0 implies all applicable probable causes. arcNotificationId (OBJECT IDENTIFIER) identifies the notification type to suppress; value 0.0 implies all applicable notification types.
arcNalmTimeRemaining (Unsigned32, seconds) indicates the time remaining in nalmTI or nalmQICD state. It is initialized to arcTITimeInterval or arcCDTimeInterval respectively when entering those states, decrements over time, and can be read-create modified by management. Its value is zero when the resource is not in nalmTI or nalmQICD.
arcState is a read-create INTEGER with values nalm(1), nalmQI(2), nalmTI(3), nalmQICD(4) controlling the alarm reporting inhibit state for a resource. The alm state is not enumerated; row deletion represents the alm state. A resource must support alm and at least one of nalm, nalmTI, or nalmQI; nalmQICD is optional.
arcStorageType (StorageType) with default nonVolatile controls persistence of ARC table rows. Rows with value 'permanent' must allow write-access to arcState at minimum. No row can be created with 'readOnly'; an attempt to set 'readOnly' must return 'inconsistentValue'.
arcTITimeInterval (Unsigned32, seconds) is the pre-defined duration for the nalmTI state before automatic transition to alm. arcCDTimeInterval (Unsigned32, seconds) is the countdown duration for the nalmQICD state before transition to alm after the resource is qualified problem-free.
Conformance is defined by one mandatory group (arcSettingGroup: arcState, arcRowStatus, arcStorageType) and two conditional groups: arcTIGroup (arcTITimeInterval, arcNalmTimeRemaining) required for TI function support, and arcQICDGroup (arcCDTimeInterval, arcNalmTimeRemaining) required for QICD function support.
The arcTable is a conceptual table of ARC settings indexed by arcIndex (ResourceId), arcAlarmType (IANAItuProbableCauseOrZero), and arcNotificationId (OBJECT IDENTIFIER). Each row controls alarm reporting suppression for a specific resource, alarm type, and notification type combination.
The IANAItuProbableCauseOrZero textual convention extends IANAItuProbableCause with the value 0, which implies all applicable probable causes for a resource. It is defined as INTEGER (0..2147483647) and used to identify alarm condition types in the ARC table.
Readable objects (arcTITimeInterval, arcCDTimeInterval, arcState, arcNalmTimeRemaining, arcRowStatus, arcStorageType) reveal alarm notification control settings and should have GET and NOTIFY access controlled; values should be encrypted when transmitted via SNMP.
The read-write/read-create objects arcTITimeInterval, arcCDTimeInterval, arcState, arcNalmTimeRemaining, arcRowStatus, and arcStorageType are sensitive; unauthorized SET operations can cause omission of alarm notifications or flooding of unwanted alarms. Suppressing or deferring alarm reporting can prevent timely delivery of diagnostic information, including information that could help identify an attack.
Five ARC states are defined: alm (reporting allowed), nalm (reporting off indefinitely), nalmQI (reporting off until problem-free), nalmQICD (countdown substate of nalmQI after problem-free qualification), and nalmTI (reporting off for a specified time interval). The alm state is implicit; a row is deleted from the arc table when a resource enters alm state.