Dot3OamEventConfigEntry ::= SEQUENCE { dot3OamErrSymPeriodWindowHi Unsigned32, dot3OamErrSymPeriodWindowLo Unsigned32, dot3OamErrSymPeriodThresholdHi Unsigned32, dot3OamErrSymPeriodThresholdLo Unsigned32, dot3OamErrSymPeriodEvNotifEnable TruthValue, dot3OamErrFramePeriodWindow Unsigned32, dot3OamErrFramePeriodThreshold Unsigned32, dot3OamErrFramePeriodEvNotifEnable TruthValue, dot3OamErrFrameWindow Unsigned32, dot3OamErrFrameThreshold Unsigned32, dot3OamErrFrameEvNotifEnable TruthValue, dot3OamErrFrameSecsSummaryWindow Integer32, dot3OamErrFrameSecsSummaryThreshold Integer32, dot3OamErrFrameSecsEvNotifEnable TruthValue, dot3OamDyingGaspEnable TruthValue, dot3OamCriticalEventEnable TruthValue } dot3OamErrSymPeriodWindowHi OBJECT-TYPE SYNTAX Unsigned32 UNITS "2^32 symbols" MAX-ACCESS read-write STATUS current DESCRIPTION "The two objects dot3OamErrSymPeriodWindowHi and dot3OamErrSymPeriodLo together form an unsigned 64-bit integer representing the number of symbols over which this threshold event is defined. This is defined as dot3OamErrSymPeriodWindow = ((2^32)*dot3OamErrSymPeriodWindowHi) + dot3OamErrSymPeriodWindowLo If dot3OamErrSymPeriodThreshold symbol errors occur within a window of dot3OamErrSymPeriodWindow symbols, an Event Notification OAMPDU should be generated with an Errored Symbol Period Event TLV indicating that the threshold has been crossed in this window. The default value for dot3OamErrSymPeriodWindow is the number of symbols in one second for the underlying physical layer. " REFERENCE "[802.3ah], 30.3.6.1.34" ::= { dot3OamEventConfigEntry 1 } dot3OamErrSymPeriodWindowLo OBJECT-TYPE SYNTAX Unsigned32 UNITS "symbols"
MAX-ACCESS read-write STATUS current DESCRIPTION "The two objects dot3OamErrSymPeriodWindowHi and dot3OamErrSymPeriodWindowLo together form an unsigned 64-bit integer representing the number of symbols over which this threshold event is defined. This is defined as dot3OamErrSymPeriodWindow = ((2^32)*dot3OamErrSymPeriodWindowHi) + dot3OamErrSymPeriodWindowLo If dot3OamErrSymPeriodThreshold symbol errors occur within a window of dot3OamErrSymPeriodWindow symbols, an Event Notification OAMPDU should be generated with an Errored Symbol Period Event TLV indicating that the threshold has been crossed in this window. The default value for dot3OamErrSymPeriodWindow is the number of symbols in one second for the underlying physical layer. " REFERENCE "[802.3ah], 30.3.6.1.34" ::= { dot3OamEventConfigEntry 2 } dot3OamErrSymPeriodThresholdHi OBJECT-TYPE SYNTAX Unsigned32 UNITS "2^32 symbols" MAX-ACCESS read-write STATUS current DESCRIPTION "The two objects dot3OamErrSymPeriodThresholdHi and dot3OamErrSymPeriodThresholdLo together form an unsigned 64-bit integer representing the number of symbol errors that must occur within a given window to cause this event. This is defined as dot3OamErrSymPeriodThreshold = ((2^32) * dot3OamErrSymPeriodThresholdHi) + dot3OamErrSymPeriodThresholdLo If dot3OamErrSymPeriodThreshold symbol errors occur within a window of dot3OamErrSymPeriodWindow symbols, an Event Notification OAMPDU should be generated with an Errored Symbol Period Event TLV indicating that the threshold has been crossed in this window. The default value for dot3OamErrSymPeriodThreshold is one symbol errors. If the threshold value is zero, then an Event
Notification OAMPDU is sent periodically (at the end of every window). This can be used as an asynchronous notification to the peer OAM entity of the statistics related to this threshold crossing alarm. " REFERENCE "[802.3ah], 30.3.6.1.34" ::= { dot3OamEventConfigEntry 3 } dot3OamErrSymPeriodThresholdLo OBJECT-TYPE SYNTAX Unsigned32 UNITS "symbols" MAX-ACCESS read-write STATUS current DESCRIPTION "The two objects dot3OamErrSymPeriodThresholdHi and dot3OamErrSymPeriodThresholdLo together form an unsigned 64-bit integer representing the number of symbol errors that must occur within a given window to cause this event. This is defined as dot3OamErrSymPeriodThreshold = ((2^32) * dot3OamErrSymPeriodThresholdHi) + dot3OamErrSymPeriodThresholdLo If dot3OamErrSymPeriodThreshold symbol errors occur within a window of dot3OamErrSymPeriodWindow symbols, an Event Notification OAMPDU should be generated with an Errored Symbol Period Event TLV indicating that the threshold has been crossed in this window. The default value for dot3OamErrSymPeriodThreshold is one symbol error. If the threshold value is zero, then an Event Notification OAMPDU is sent periodically (at the end of every window). This can be used as an asynchronous notification to the peer OAM entity of the statistics related to this threshold crossing alarm. " REFERENCE "[802.3ah], 30.3.6.1.34" ::= { dot3OamEventConfigEntry 4 } dot3OamErrSymPeriodEvNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If true, the OAM entity should send an Event Notification OAMPDU when an Errored Symbol Period Event occurs.
By default, this object should have the value true for Ethernet-like interfaces that support OAM. If the OAM layer does not support Event Notifications (as indicated via the dot3OamFunctionsSupported attribute), this value is ignored. " ::= { dot3OamEventConfigEntry 5 } dot3OamErrFramePeriodWindow OBJECT-TYPE SYNTAX Unsigned32 UNITS "frames" MAX-ACCESS read-write STATUS current DESCRIPTION "The number of frames over which the threshold is defined. The default value of the window is the number of minimum size Ethernet frames that can be received over the physical layer in one second. If dot3OamErrFramePeriodThreshold frame errors occur within a window of dot3OamErrFramePeriodWindow frames, an Event Notification OAMPDU should be generated with an Errored Frame Period Event TLV indicating that the threshold has been crossed in this window. " REFERENCE "[802.3ah], 30.3.6.1.38" ::= { dot3OamEventConfigEntry 6 } dot3OamErrFramePeriodThreshold OBJECT-TYPE SYNTAX Unsigned32 UNITS "frames" MAX-ACCESS read-write STATUS current DESCRIPTION "The number of frame errors that must occur for this event to be triggered. The default value is one frame error. If the threshold value is zero, then an Event Notification OAMPDU is sent periodically (at the end of every window). This can be used as an asynchronous notification to the peer OAM entity of the statistics related to this threshold crossing alarm. If dot3OamErrFramePeriodThreshold frame errors occur within a window of dot3OamErrFramePeriodWindow frames, an Event Notification OAMPDU should be generated with an Errored Frame Period Event TLV indicating that the threshold has been crossed in this window. " REFERENCE "[802.3ah], 30.3.6.1.38"
::= { dot3OamEventConfigEntry 7 } dot3OamErrFramePeriodEvNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If true, the OAM entity should send an Event Notification OAMPDU when an Errored Frame Period Event occurs. By default, this object should have the value true for Ethernet-like interfaces that support OAM. If the OAM layer does not support Event Notifications (as indicated via the dot3OamFunctionsSupported attribute), this value is ignored. " ::= { dot3OamEventConfigEntry 8 } dot3OamErrFrameWindow OBJECT-TYPE SYNTAX Unsigned32 UNITS "tenths of a second" MAX-ACCESS read-write STATUS current DESCRIPTION "The amount of time (in 100ms increments) over which the threshold is defined. The default value is 10 (1 second). If dot3OamErrFrameThreshold frame errors occur within a window of dot3OamErrFrameWindow seconds (measured in tenths of seconds), an Event Notification OAMPDU should be generated with an Errored Frame Event TLV indicating that the threshold has been crossed in this window. " REFERENCE "[802.3ah], 30.3.6.1.36" DEFVAL { 10 } ::= { dot3OamEventConfigEntry 9 } dot3OamErrFrameThreshold OBJECT-TYPE SYNTAX Unsigned32 UNITS "frames" MAX-ACCESS read-write STATUS current DESCRIPTION "The number of frame errors that must occur for this event to be triggered. The default value is one frame error. If the threshold value is zero, then an Event Notification OAMPDU is sent periodically (at the end of every window). This can be used as an asynchronous notification to the peer OAM entity of the statistics related to this threshold crossing alarm.
If dot3OamErrFrameThreshold frame errors occur within a window of dot3OamErrFrameWindow (in tenths of seconds), an Event Notification OAMPDU should be generated with an Errored Frame Event TLV indicating the threshold has been crossed in this window. " REFERENCE "[802.3ah], 30.3.6.1.36" DEFVAL { 1 } ::= { dot3OamEventConfigEntry 10 } dot3OamErrFrameEvNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If true, the OAM entity should send an Event Notification OAMPDU when an Errored Frame Event occurs. By default, this object should have the value true for Ethernet-like interfaces that support OAM. If the OAM layer does not support Event Notifications (as indicated via the dot3OamFunctionsSupported attribute), this value is ignored. " DEFVAL { true } ::= { dot3OamEventConfigEntry 11 } dot3OamErrFrameSecsSummaryWindow OBJECT-TYPE SYNTAX Integer32 (100..9000) UNITS "tenths of a second" MAX-ACCESS read-write STATUS current DESCRIPTION "The amount of time (in 100 ms intervals) over which the threshold is defined. The default value is 100 (10 seconds). If dot3OamErrFrameSecsSummaryThreshold frame errors occur within a window of dot3OamErrFrameSecsSummaryWindow (in tenths of seconds), an Event Notification OAMPDU should be generated with an Errored Frame Seconds Summary Event TLV indicating that the threshold has been crossed in this window. " REFERENCE "[802.3ah], 30.3.6.1.40" DEFVAL { 100 } ::= { dot3OamEventConfigEntry 12 } dot3OamErrFrameSecsSummaryThreshold OBJECT-TYPE SYNTAX Integer32 (1..900)
UNITS "errored frame seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "The number of errored frame seconds that must occur for this event to be triggered. The default value is one errored frame second. If the threshold value is zero, then an Event Notification OAMPDU is sent periodically (at the end of every window). This can be used as an asynchronous notification to the peer OAM entity of the statistics related to this threshold crossing alarm. If dot3OamErrFrameSecsSummaryThreshold frame errors occur within a window of dot3OamErrFrameSecsSummaryWindow (in tenths of seconds), an Event Notification OAMPDU should be generated with an Errored Frame Seconds Summary Event TLV indicating that the threshold has been crossed in this window. " REFERENCE "[802.3ah], 30.3.6.1.40" DEFVAL { 1 } ::= { dot3OamEventConfigEntry 13 } dot3OamErrFrameSecsEvNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If true, the local OAM entity should send an Event Notification OAMPDU when an Errored Frame Seconds Event occurs. By default, this object should have the value true for Ethernet-like interfaces that support OAM. If the OAM layer does not support Event Notifications (as indicated via the dot3OamFunctionsSupported attribute), this value is ignored. " DEFVAL { true } ::= { dot3OamEventConfigEntry 14 } dot3OamDyingGaspEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If true, the local OAM entity should attempt to indicate a dying gasp via the OAMPDU flags field to its peer OAM entity when a dying gasp event occurs. The exact definition of a dying gasp event is implementation dependent. If the system
does not support dying gasp capability, setting this object has no effect, and reading the object should always result in 'false'. By default, this object should have the value true for Ethernet-like interfaces that support OAM. If the OAM layer does not support Event Notifications (as indicated via the dot3OamFunctionsSupported attribute), this value is ignored. " DEFVAL { true } ::= { dot3OamEventConfigEntry 15 } dot3OamCriticalEventEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "If true, the local OAM entity should attempt to indicate a critical event via the OAMPDU flags to its peer OAM entity when a critical event occurs. The exact definition of a critical event is implementation dependent. If the system does not support critical event capability, setting this object has no effect, and reading the object should always result in 'false'. By default, this object should have the value true for Ethernet-like interfaces that support OAM. If the OAM layer does not support Event Notifications (as indicated via the dot3OamFunctionsSupported attribute), this value is ignored. " DEFVAL { true } ::= { dot3OamEventConfigEntry 16 } -- ************************************************************** -- -- Ethernet OAM Event Log group -- dot3OamEventLogTable OBJECT-TYPE SYNTAX SEQUENCE OF Dot3OamEventLogEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table records a history of the events that have occurred at the Ethernet OAM level. These events can include locally detected events, which may result in locally generated OAMPDUs, and remotely detected events, which are detected by the OAM peer entity and signaled to the local entity via
Ethernet OAM. Ethernet OAM events can be signaled by Event Notification OAMPDUs or by the flags field in any OAMPDU. This table contains both threshold crossing events and non-threshold crossing events. The parameters for the threshold window, threshold value, and actual value (dot3OamEventLogWindowXX, dot3OamEventLogThresholdXX, dot3OamEventLogValue) are only applicable to threshold crossing events, and are returned as all F's (2^32 - 1) for non-threshold crossing events. Entries in the table are automatically created when such events are detected. The size of the table is implementation dependent. When the table reaches its maximum size, older entries are automatically deleted to make room for newer entries. " ::= { dot3OamObjects 6 } dot3OamEventLogEntry OBJECT-TYPE SYNTAX Dot3OamEventLogEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the dot3OamEventLogTable. Entries are automatically created whenever Ethernet OAM events occur at the local OAM entity, and when Event Notification OAMPDUs are received at the local OAM entity (indicating that events have occurred at the peer OAM entity). The size of the table is implementation dependent, but when the table becomes full, older events are automatically deleted to make room for newer events. The table index dot3OamEventLogIndex increments for each new entry, and when the maximum value is reached, the value restarts at zero. " INDEX { ifIndex, dot3OamEventLogIndex } ::= { dot3OamEventLogTable 1 } Dot3OamEventLogEntry ::= SEQUENCE { dot3OamEventLogIndex Unsigned32, dot3OamEventLogTimestamp TimeStamp, dot3OamEventLogOui EightOTwoOui, dot3OamEventLogType Unsigned32, dot3OamEventLogLocation INTEGER, dot3OamEventLogWindowHi Unsigned32, dot3OamEventLogWindowLo Unsigned32, dot3OamEventLogThresholdHi Unsigned32,
dot3OamEventLogThresholdLo Unsigned32, dot3OamEventLogValue CounterBasedGauge64, dot3OamEventLogRunningTotal CounterBasedGauge64, dot3OamEventLogEventTotal Unsigned32 } dot3OamEventLogIndex OBJECT-TYPE SYNTAX Unsigned32(1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer for identifying individual events within the event log. " ::= { dot3OamEventLogEntry 1 } dot3OamEventLogTimestamp OBJECT-TYPE SYNTAX TimeStamp MAX-ACCESS read-only STATUS current DESCRIPTION "The value of sysUpTime at the time of the logged event. For locally generated events, the time of the event can be accurately retrieved from sysUpTime. For remotely generated events, the time of the event is indicated by the reception of the Event Notification OAMPDU indicating that the event occurred on the peer. A system may attempt to adjust the timestamp value to more accurately reflect the time of the event at the peer OAM entity by using other information, such as that found in the timestamp found of the Event Notification TLVs, which provides an indication of the relative time between events at the peer entity. " ::= { dot3OamEventLogEntry 2 } dot3OamEventLogOui OBJECT-TYPE SYNTAX EightOTwoOui MAX-ACCESS read-only STATUS current DESCRIPTION "The OUI of the entity defining the object type. All IEEE 802.3 defined events (as appearing in [802.3ah] except for the Organizationally Unique Event TLVs) use the IEEE 802.3 OUI of 0x0180C2. Organizations defining their own Event Notification TLVs include their OUI in the Event Notification TLV that gets reflected here. " ::= { dot3OamEventLogEntry 3 } dot3OamEventLogType OBJECT-TYPE SYNTAX Unsigned32
MAX-ACCESS read-only STATUS current DESCRIPTION "The type of event that generated this entry in the event log. When the OUI is the IEEE 802.3 OUI of 0x0180C2, the following event types are defined: erroredSymbolEvent(1), erroredFramePeriodEvent(2), erroredFrameEvent(3), erroredFrameSecondsEvent(4), linkFault(256), dyingGaspEvent(257), criticalLinkEvent(258) The first four are considered threshold crossing events, as they are generated when a metric exceeds a given value within a specified window. The other three are not threshold crossing events. When the OUI is not 71874 (0x0180C2 in hex), then some other organization has defined the event space. If event subtyping is known to the implementation, it may be reflected here. Otherwise, this value should return all F's (2^32 - 1). " REFERENCE "[802.3ah], 30.3.6.1.10 and 57.5.3." ::= { dot3OamEventLogEntry 4 } dot3OamEventLogLocation OBJECT-TYPE SYNTAX INTEGER { local(1), remote(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "Whether this event occurred locally (local(1)), or was received from the OAM peer via Ethernet OAM (remote(2)). " ::= { dot3OamEventLogEntry 5 } dot3OamEventLogWindowHi OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "If the event represents a threshold crossing event, the two objects dot3OamEventWindowHi and dot3OamEventWindowLo, form an unsigned 64-bit integer yielding the window over which the value was measured for the threshold crossing event (for example, 5, when 11 occurrences happened in 5 seconds while the threshold was 10). The two objects are combined as:
dot3OamEventLogWindow = ((2^32) * dot3OamEventLogWindowHi) + dot3OamEventLogWindowLo Otherwise, this value is returned as all F's (2^32 - 1) and adds no useful information. " REFERENCE "[802.3ah], 30.3.6.1.37 and 57.5.3.2." ::= { dot3OamEventLogEntry 6 } dot3OamEventLogWindowLo OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "If the event represents a threshold crossing event, the two objects dot3OamEventWindowHi and dot3OamEventWindowLo form an unsigned 64-bit integer yielding the window over which the value was measured for the threshold crossing event (for example, 5, when 11 occurrences happened in 5 seconds while the threshold was 10). The two objects are combined as: dot3OamEventLogWindow = ((2^32) * dot3OamEventLogWindowHi) + dot3OamEventLogWindowLo Otherwise, this value is returned as all F's (2^32 - 1) and adds no useful information. " REFERENCE "[802.3ah], 30.3.6.1.37 and 57.5.3.2." ::= { dot3OamEventLogEntry 7 } dot3OamEventLogThresholdHi OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "If the event represents a threshold crossing event, the two objects dot3OamEventThresholdHi and dot3OamEventThresholdLo form an unsigned 64-bit integer yielding the value that was crossed for the threshold crossing event (for example, 10, when 11 occurrences happened in 5 seconds while the threshold was 10). The two objects are combined as: dot3OamEventLogThreshold = ((2^32) * dot3OamEventLogThresholdHi) + dot3OamEventLogThresholdLo Otherwise, this value is returned as all F's (2^32 -1) and adds no useful information. "
REFERENCE "[802.3ah], 30.3.6.1.37 and 57.5.3.2." ::= { dot3OamEventLogEntry 8 } dot3OamEventLogThresholdLo OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "If the event represents a threshold crossing event, the two objects dot3OamEventThresholdHi and dot3OamEventThresholdLo form an unsigned 64-bit integer yielding the value that was crossed for the threshold crossing event (for example, 10, when 11 occurrences happened in 5 seconds while the threshold was 10). The two objects are combined as: dot3OamEventLogThreshold = ((2^32) * dot3OamEventLogThresholdHi) + dot3OamEventLogThresholdLo Otherwise, this value is returned as all F's (2^32 - 1) and adds no useful information. " REFERENCE "[802.3ah], 30.3.6.1.37 and 57.5.3.2." ::= { dot3OamEventLogEntry 9 } dot3OamEventLogValue OBJECT-TYPE SYNTAX CounterBasedGauge64 MAX-ACCESS read-only STATUS current DESCRIPTION "If the event represents a threshold crossing event, this value indicates the value of the parameter within the given window that generated this event (for example, 11, when 11 occurrences happened in 5 seconds while the threshold was 10). Otherwise, this value is returned as all F's (2^64 - 1) and adds no useful information. " REFERENCE "[802.3ah], 30.3.6.1.37 and 57.5.3.2." ::= { dot3OamEventLogEntry 10 } dot3OamEventLogRunningTotal OBJECT-TYPE SYNTAX CounterBasedGauge64 MAX-ACCESS read-only STATUS current DESCRIPTION "Each Event Notification TLV contains a running total of the number of times an event has occurred, as well as the number of times an Event Notification for the event has been
transmitted. For non-threshold crossing events, the number of events (dot3OamLogRunningTotal) and the number of resultant Event Notifications (dot3OamLogEventTotal) should be identical. For threshold crossing events, since multiple occurrences may be required to cross the threshold, these values are likely different. This value represents the total number of times this event has happened since the last reset (for example, 3253, when 3253 symbol errors have occurred since the last reset, which has resulted in 51 symbol error threshold crossing events since the last reset). " REFERENCE "[802.3ah], 30.3.6.1.37 and 57.5.3.2." ::= { dot3OamEventLogEntry 11 } dot3OamEventLogEventTotal OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Each Event Notification TLV contains a running total of the number of times an event has occurred, as well as the number of times an Event Notification for the event has been transmitted. For non-threshold crossing events, the number of events (dot3OamLogRunningTotal) and the number of resultant Event Notifications (dot3OamLogEventTotal) should be identical. For threshold crossing events, since multiple occurrences may be required to cross the threshold, these values are likely different. This value represents the total number of times one or more of these occurrences have resulted in an Event Notification (for example, 51 when 3253 symbol errors have occurred since the last reset, which has resulted in 51 symbol error threshold crossing events since the last reset). " REFERENCE "[802.3ah], 30.3.6.1.37 and 57.5.3.2." ::= { dot3OamEventLogEntry 12 } -- *************************************************************** -- -- Ethernet OAM Notifications -- dot3OamThresholdEvent NOTIFICATION-TYPE OBJECTS { dot3OamEventLogTimestamp, dot3OamEventLogOui,
dot3OamEventLogType, dot3OamEventLogLocation, dot3OamEventLogWindowHi, dot3OamEventLogWindowLo, dot3OamEventLogThresholdHi, dot3OamEventLogThresholdLo, dot3OamEventLogValue, dot3OamEventLogRunningTotal, dot3OamEventLogEventTotal } STATUS current DESCRIPTION "A dot3OamThresholdEvent notification is sent when a local or remote threshold crossing event is detected. A local threshold crossing event is detected by the local entity, while a remote threshold crossing event is detected by the reception of an Ethernet OAM Event Notification OAMPDU that indicates a threshold event. This notification should not be sent more than once per second. The OAM entity can be derived from extracting the ifIndex from the variable bindings. The objects in the notification correspond to the values in a row instance in the dot3OamEventLogTable. The management entity should periodically check dot3OamEventLogTable to detect any missed events." ::= { dot3OamNotifications 1 } dot3OamNonThresholdEvent NOTIFICATION-TYPE OBJECTS { dot3OamEventLogTimestamp, dot3OamEventLogOui, dot3OamEventLogType, dot3OamEventLogLocation, dot3OamEventLogEventTotal } STATUS current DESCRIPTION "A dot3OamNonThresholdEvent notification is sent when a local or remote non-threshold crossing event is detected. A local event is detected by the local entity, while a remote event is detected by the reception of an Ethernet OAM Event Notification OAMPDU that indicates a non-threshold crossing event. This notification should not be sent more than once per
second. The OAM entity can be derived from extracting the ifIndex from the variable bindings. The objects in the notification correspond to the values in a row instance of the dot3OamEventLogTable. The management entity should periodically check dot3OamEventLogTable to detect any missed events." ::= { dot3OamNotifications 2 } -- *************************************************************** -- -- Ethernet OAM Compliance group -- dot3OamGroups OBJECT IDENTIFIER ::= { dot3OamConformance 1 } dot3OamCompliances OBJECT IDENTIFIER ::= { dot3OamConformance 2 } -- Compliance statements dot3OamCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for managed entities supporting OAM on Ethernet-like interfaces. " MODULE -- this module MANDATORY-GROUPS { dot3OamControlGroup, dot3OamPeerGroup, dot3OamStatsBaseGroup } GROUP dot3OamLoopbackGroup DESCRIPTION "This group is mandatory for all IEEE 802.3 OA implementations that support loopback functionality. " GROUP dot3OamErrSymbolPeriodEventGroup DESCRIPTION "This group is mandatory for all IEEE 802.3 OA implementations that support event functionality. " GROUP dot3OamErrFramePeriodEventGroup DESCRIPTION "This group is mandatory for all IEEE 802.3 OA implementations that support event functionality. " GROUP dot3OamErrFrameEventGroup
DESCRIPTION "This group is mandatory for all IEEE 802.3 OA implementations that support event functionality. " GROUP dot3OamErrFrameSecsSummaryEventGroup DESCRIPTION "This group is mandatory for all IEEE 802.3 OA implementations that support event functionality. " GROUP dot3OamFlagEventGroup DESCRIPTION "This group is optional for all IEEE 802.3 OA implementations. The ability to send critical events or dying gasp events is not required in any system." GROUP dot3OamEventLogGroup DESCRIPTION "This group is optional for all IEEE 802.3 OA implementations. Entries in this table are dependent on what event functionality is supported in the local OA implementation. At least one type of event must be supported for entries to appear in this table. " GROUP dot3OamNotificationGroup DESCRIPTION "This group is optional for all IEEE 802.3 OA implementations. Since the information in the notifications is dependent on the dot3OamEventLogTable, that table must be implemented for notifications. " ::= { dot3OamCompliances 1} dot3OamControlGroup OBJECT-GROUP OBJECTS { dot3OamAdminState, dot3OamOperStatus, dot3OamMode, dot3OamMaxOamPduSize, dot3OamConfigRevision, dot3OamFunctionsSupported } STATUS current DESCRIPTION "A collection of objects providing the abilities, configuration, and status of an Ethernet OAM entity. " ::= { dot3OamGroups 1 } dot3OamPeerGroup OBJECT-GROUP OBJECTS { dot3OamPeerMacAddress,
dot3OamPeerVendorOui, dot3OamPeerVendorInfo, dot3OamPeerMode, dot3OamPeerFunctionsSupported, dot3OamPeerMaxOamPduSize, dot3OamPeerConfigRevision } STATUS current DESCRIPTION "A collection of objects providing the abilities, configuration, and status of a peer Ethernet OAM entity. " ::= { dot3OamGroups 2 } dot3OamStatsBaseGroup OBJECT-GROUP OBJECTS { dot3OamInformationTx, dot3OamInformationRx, dot3OamUniqueEventNotificationTx, dot3OamUniqueEventNotificationRx, dot3OamDuplicateEventNotificationTx, dot3OamDuplicateEventNotificationRx, dot3OamLoopbackControlTx, dot3OamLoopbackControlRx, dot3OamVariableRequestTx, dot3OamVariableRequestRx, dot3OamVariableResponseTx, dot3OamVariableResponseRx, dot3OamOrgSpecificTx, dot3OamOrgSpecificRx, dot3OamUnsupportedCodesTx, dot3OamUnsupportedCodesRx, dot3OamFramesLostDueToOam } STATUS current DESCRIPTION "A collection of objects providing the statistics for the number of various transmit and receive events for OAM on an Ethernet-like interface. Note that all of these counters must be supported even if the related function (as described in dot3OamFunctionsSupported) is not supported. " ::= { dot3OamGroups 3 } dot3OamLoopbackGroup OBJECT-GROUP OBJECTS { dot3OamLoopbackStatus, dot3OamLoopbackIgnoreRx } STATUS current DESCRIPTION "A collection of objects for controlling the OAM remote
loopback function. " ::= { dot3OamGroups 4 } dot3OamErrSymbolPeriodEventGroup OBJECT-GROUP OBJECTS { dot3OamErrSymPeriodWindowHi, dot3OamErrSymPeriodWindowLo, dot3OamErrSymPeriodThresholdHi, dot3OamErrSymPeriodThresholdLo, dot3OamErrSymPeriodEvNotifEnable } STATUS current DESCRIPTION "A collection of objects for configuring the thresholds for an Errored Symbol Period Event. Each [802.3ah] defined Event Notification TLV has its own conformance group because each event can be implemented independently of any other. " ::= { dot3OamGroups 5 } dot3OamErrFramePeriodEventGroup OBJECT-GROUP OBJECTS { dot3OamErrFramePeriodWindow, dot3OamErrFramePeriodThreshold, dot3OamErrFramePeriodEvNotifEnable } STATUS current DESCRIPTION "A collection of objects for configuring the thresholds for an Errored Frame Period Event. Each [802.3ah] defined Event Notification TLV has its own conformance group because each event can be implemented independently of any other. " ::= { dot3OamGroups 6 } dot3OamErrFrameEventGroup OBJECT-GROUP OBJECTS { dot3OamErrFrameWindow, dot3OamErrFrameThreshold, dot3OamErrFrameEvNotifEnable } STATUS current DESCRIPTION "A collection of objects for configuring the thresholds for an Errored Frame Event. Each [802.3ah] defined Event Notification TLV has its own conformance group because each event can be implemented independently of any other. "
::= { dot3OamGroups 7 } dot3OamErrFrameSecsSummaryEventGroup OBJECT-GROUP OBJECTS { dot3OamErrFrameSecsSummaryWindow, dot3OamErrFrameSecsSummaryThreshold, dot3OamErrFrameSecsEvNotifEnable } STATUS current DESCRIPTION "A collection of objects for configuring the thresholds for an Errored Frame Seconds Summary Event. Each [802.3ah] defined Event Notification TLV has its own conformance group because each event can be implemented independently of any other. " ::= { dot3OamGroups 8 } dot3OamFlagEventGroup OBJECT-GROUP OBJECTS { dot3OamDyingGaspEnable, dot3OamCriticalEventEnable } STATUS current DESCRIPTION "A collection of objects for configuring the sending OAMPDUs with the critical event flag or dying gasp flag enabled. " ::= { dot3OamGroups 9 } dot3OamEventLogGroup OBJECT-GROUP OBJECTS { dot3OamEventLogTimestamp, dot3OamEventLogOui, dot3OamEventLogType, dot3OamEventLogLocation, dot3OamEventLogWindowHi, dot3OamEventLogWindowLo, dot3OamEventLogThresholdHi, dot3OamEventLogThresholdLo, dot3OamEventLogValue, dot3OamEventLogRunningTotal, dot3OamEventLogEventTotal } STATUS current DESCRIPTION "A collection of objects for configuring the thresholds for an Errored Frame Seconds Summary Event and maintaining the event information. " ::= { dot3OamGroups 10 } dot3OamNotificationGroup NOTIFICATION-GROUP
NOTIFICATIONS { dot3OamThresholdEvent, dot3OamNonThresholdEvent } STATUS current DESCRIPTION "A collection of notifications used by Ethernet OAM to signal to a management entity that local or remote events have occurred on a specified Ethernet link. " ::= { dot3OamGroups 11 } END7. Security Considerations
The readable objects in this module can provide information about network traffic, and therefore may be considered sensitive. In particular, OAM provides mechanisms for reading the IEEE 802.3 Clause 30 MIB attributes from a link partner via a specialized layer two protocol. Unlike SNMP, IEEE P802.3ah OAM does not include encryption or authentication mechanisms. It should be used in environments where either this interface information is not considered sensitive, or where the facility terminations are protected. By default, OAM is disabled on Ethernet-like interfaces and is therefore not a risk. IEEE 802.3ah OAM is designed to support deployment in access and enterprise networks. In access networks, one end of a link is the CO-side, and the other is the CPE-side, and the facilities are often protected in wiring cages or closets. In such deployments, it is often the case that the CO-side is protected from access from the CPE-side. Within IEEE P802.3ah OAM, this protection from remote access is accomplished by configuring the CPE-side in passive mode using the dot3OamMode attribute. This prevents the CPE from accessing functions and information at the CO-side of the connection. In enterprise networks, read-only interface information is often considered non-sensitive. The frequency of OAM PDUs on an Ethernet interface does not adversely affect data traffic, as OAM is a slow protocol with very limited bandwidth potential, and it is not required for normal link operation. And although there are a number of objects in this module with read-write or read-create MAX-ACCESS, they have limited effects on user data. The loopback capability of OAM can have potentially disruptive effects in that the when enabling remote loopback, the remote station automatically transmits all received traffic back to the local station except for OAM traffic. This completely disrupts all higher
layer protocols such as bridging, IP, and SNMP. Therefore an attribute (dot3OamLoopbackIgnoreRx) was introduced to control whether the local station processes or ignores received loopback commands. The administrative state and mode are also read-write objects. Disabling OAM can interrupt management activities between peer devices, potentially causing serious problems. Setting the dot3OamMode to an undesired value can allow access to Ethernet monitoring, events, and functions that may not be acceptable in a particular deployment scenario. In addition to loopback functionality, Ethernet interface statistics and events can be accessed via the OAM protocol, which may not be desired in some circumstances. OAM event configuration also contains read-write objects. These objects control whether events are sent, and at what thresholds. Note that the frequency of event communication is limited by the frequency limits of Slow Protocols on Ethernet interfaces. Also, the information available via OAM events is also available via OA Variable Requests. Access to this information via either OAM events or Variable Requests is controlled by the dot3OamAdminState and dot3OamMode objects. As mentioned previously, inadequate protection of these variables can result in access to link information and functions. SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), even then, there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module. It is RECOMMENDED that implementers consider the security features as provided by the SNMPv3 framework (see [RFC3410], section 8), including full support for the SNMPv3 cryptographic mechanisms (for authentication and privacy). Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them.
8. IANA Considerations
The Ethernet OAM MIB requires the allocation of a single object identifier for its MODULE-IDENTITY under the MIB-2 tree. The MIB module in this document uses the following IANA-assigned OBJECT IDENTIFIER values recorded in the SMI Numbers registry: Descriptor OBJECT IDENTIFIER ---------- ----------------- dot3OamMIB { mib-2 158 }9. References
9.1. Normative References
[802.3ah] Institute of Electrical and Electronic Engineers, IEEE Std 802.3ah-2004, "Part 3: Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications - Amendment: Media Access Control Parameters, Physical Layers and Management Parameters for Subscriber Access Networks", October 2004. [802.3-2002] Institute of Electrical and Electronic Engineers, IEEE Std 802.3-2003, "IEEE Standard for Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications - Draft amendment to - Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks - Specific requirements - Part 3: Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications - Media Access Control Parameters, Physical Layers and Management Parameters", March 2002.
[802.3-2005] Institute of Electrical and Electronic Engineers, IEEE Std 802.3-2005, "IEEE Standard for Carrier Sense Multiple Access with Collision Detection (CSMA/CD) Access Method and Physical Layer Specifications - Draft amendment to - Information technology - Telecommunications and information exchange between systems - Local and metropolitan area networks - Specific requirements - Part 3: Carrier sense multiple access with collision detection (CSMA/CD) access method and physical layer specifications - Media Access Control Parameters, Physical Layers and Management Parameters", December 2005. [802-2001] Institute of Electrical and Electronic Engineers, IEEE Std 802-2001, "Standard for Local and Metropolitan Area Networks: Architecture and Overview", March 2002. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2578] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC2856] Bierman, A., McCloghrie, K., and R. Presuhn, "Textual Conventions for Additional High Capacity Data Types", RFC 2856, June 2000. [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000.9.2. Informative References
[802.3ah-copper] Beili, Ed, "Ethernet in the First Mile Copper (EFMCu) Interfaces MIB", Work in Progress, February 2007.
[802.3ah-epon] Khermosh, L., "Managed Objects of Ethernet Passive Optical Networks (EPON)", RFC 4837, June 2007. [RFC3410] Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction and Applicability Statements for Internet-Standard Management Framework", RFC 3410, December 2002. [RFC3635] Flick, J., "Definitions of Managed Objects for the Ethernet-like Interface Types", RFC 3635, September 2003.10. Acknowledgments
The author is grateful to all of the participants in the IEEE 802.3ah EFM (Ethernet in the First Mile) taskforce. In particular, the strong leadership and dedication of the following individuals is noted: Kevin Daines (Editor, IEEE 802.3ah OAM clauses) Ben Brown (Editor, IEEE 802.3ah Logic clauses) David Law (Editor, IEEE 802.3ah Management clauses) Scott Simon (Editor, IEEE 802.3ah Clause 45) Howard Frazier (Chair, IEEE 802.3ah) Hugh Barass (Vice-Chair, IEEE 802.3ah) Wael Diab (Editor, IEEE 802.3ah) Additionally, certain devoted attendees and contributors to the IEEE 802.3ah OAM sub-taskforce deserve recognition. Although there were many contributors, the following individuals contributed heavily over a long period of time. Brian Arnold Brad Booth Al Braga Floyd Gerhardt Bob Grow Eric Lynskey David Martin John Messenger Dan Romascanu (Ex-Chair, IETF HUBMIB WG) Jonathan Thatcher Geoff Thompson
Author's Address
Matt Squire Hatteras Networks 529 Davis Drive Durham, NC 27713 EMail: msquire@hatterasnetworks.com
Full Copyright Statement Copyright (C) The IETF Trust (2007). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Intellectual Property The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society.