RFC 2558

Definitions of Managed Objects for the SONET/SDH Interface Type

๐Ÿ“… published March 1999, from ietf

bestie, okay, RFC 2558 is here and it's literally about managing SONET/SDH interfaces ๐ŸŽ€

Quick title-block tea: this one's called Definitions of Managed Objects for the SONET/SDH Interface Type โœจ. K. Tesink from Telcordia Technologies wrote it in March 1999, and it's a Standards Track doc ๐Ÿ’…. It obsoletes RFC 1595, which means this is the new and improved version. Nothing in the header says it updates anything, so I'm not gonna pretend it does ๐Ÿ™ˆ.

Status of This Memo ๐Ÿ“œ

Ngl this part is important. This document specifies an Internet standards track protocol for the Internet community, and it asks for discussion and suggestions for improvements ๐Ÿซถ. If you want to know where this protocol stands, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited, so share it with everyone ๐ŸŒˆ.

Copyright (C) The Internet Society (1999). All Rights Reserved. ๐Ÿ’œ

1. Abstract โœจ

Okay so this memo defines a piece of the Management Information Base (MIB) for network management protocols in TCP/IP-based internets ๐Ÿฆ‹. The main focus is objects for managing Synchronous Optical Network/Synchronous Digital Hierarchy (SONET/SDH) interfaces ๐Ÿ”ฅ. It's basically a companion to the docs that define Managed Objects for the DS1/E1/DS2/E2 and DS3/E3 Interface Types [24][25] ๐Ÿ“.

Textual Conventions used in this MIB are defined in [6] and [36] ๐Ÿงš.

This memo replaces RFC 1595 [30]. All the changes from RFC 1595 are summarized in the MIB module's REVISION clause, so go check there if you're curious ๐Ÿ‘‘.

Table of Contents ๐Ÿ—บ๏ธ

   1 Abstract ..............................................    1
   2 The SNMP Network Management Framework .................    2
   3 Overview ..............................................    3
   3.1 Use of the ifTable ..................................    4
   3.2 Use of ifTable for  SONET/SDH  Medium/Section/Line
       Layer ...............................................    5
   3.3 Use of ifTable for SONET/SDH Paths ..................    6
   3.4 Use of ifTable for SONET/SDH VTs/VCs ................    7
   3.5 SONET/SDH Terminology ...............................    8
   4 Object Definitions ....................................   16
   4.1 The SONET/SDH Medium Group ..........................   19
   4.2 The SONET/SDH Section Group .........................   23
   4.2.1 The SONET/SDH Section Current Group ...............   23
   4.2.2 The SONET/SDH Section Interval Group ..............   26
   4.3 The SONET/SDH Line Group ............................   28
   4.3.1 The SONET/SDH Line Current Group ..................   28
   4.3.2 The SONET/SDH Line Interval Group .................   30
   4.4 The SONET/SDH Far End Line Group ....................   32
   4.4.1 The SONET/SDH Far End Line Current Group ..........   33
   4.4.2 The SONET/SDH Far End Line Interval Group .........   34
   4.5 The SONET/SDH Path Group ............................   37
   4.5.1 The SONET/SDH Path Current Group ..................   37
   4.5.2 The SONET/SDH Path Interval Group .................   39
   4.6 The SONET/SDH Far End Path Group ....................   42
   4.6.1 The SONET/SDH Far End Path Current Group ..........   42
   4.6.2 The SONET/SDH Far End Path Interval Group .........   44
   4.7 The SONET/SDH Virtual Tributary Group ...............   46
   4.7.1 The SONET/SDH VT Current Group ....................   46
   4.7.2 The SONET/SDH VT Interval Group ...................   49
   4.8 The SONET/SDH Far End VT Group ......................   51
   4.8.1 The SONET/SDH Far End VT Current Group ............   51
   4.8.2 The SONET/SDH Far End VT Interval Group ...........   53
   4.9 Conformance Information .............................   55
   4.10 Compliance Statements ..............................   56
   5 Acknowledgments .......................................   65
   6 Security Considerations ...............................   65
   7 References ............................................   66
   8 Author's Address ......................................   69
   9 Intellectual Property .................................   69
   Appendix A ..............................................   70
   Appendix B ..............................................   72
   Full Copyright Statement ................................   74

2. The SNMP Network Management Framework ๐Ÿง 

The SNMP Management Framework currently has five major components ๐Ÿ’–:

  • An overall architecture, described in RFC 2271 [1].
  • Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and is described in STD 16, RFC 1155 [2], STD 16, RFC 1212 [3] and RFC 1215 [4]. The second version, called SMIv2, is described in RFC 1902 [5], RFC 1903 [6] and RFC 1904 [7].
  • Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and is described in STD 15, RFC 1157 [8]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and is described in RFC 1901 [9] and RFC 1906 [10]. The third version of the message protocol is called SNMPv3 and is described in RFC 1906 [10], RFC 2272 [11] and RFC 2274 [12].
  • Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [8]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [13].
  • A set of fundamental applications described in RFC 2273 [14] and the view-based access control mechanism described in RFC 2275 [15].

Managed objects are accessed via a virtual information store, called the Management Information Base or MIB ๐ŸŒธ. Objects in the MIB are defined using the mechanisms defined in the SMI โœจ.

This memo specifies a MIB module that is compliant to the SMIv2 ๐Ÿ’…. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (e.g., use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the MIB ๐Ÿซถ.

3. Overview ๐Ÿฆ‹

These objects are used when the particular media being used to realize an interface is a SONET/SDH interface ๐Ÿ’œ. Right now, this applies to these values of the ifType variable in the Internet-standard MIB ๐ŸŽ€:

     sonet (39), sonetPath (50), sonetVT (51)

The definitions in here are based on the SONET/SDH specifications in ANSI T1.105 and T1.106-1988 [19][20][21] and CCITT G.707, 708, 709, and G.783 [26][27][28][29] ๐Ÿ“š.

3.1. Use of the ifTable ๐ŸŒˆ

This section specifies how the MIB II interfaces group, as defined in [23], is used for SONET/SDH interfaces. The SONET/SDH layers support several multiplexing possibilities ๐Ÿ”ฅ.

For example, in SONET, an Synchronous Transport Signal 3 (STS-3) has 3 SONET Paths, and an STS-3c has 1 SONET Path. Another example is an STS-12 having 4 SONET STS-3c Paths. Similarly, a SONET Synchronous Payload Envelope (SPE) can carry many Virtual Tributaries (VTs). For example, one SONET SPE can carry 28 VT1.5s. It's important to note that an SPE and a VT in SONET are collectively referred to as a Virtual Container (VC) in SDH ๐Ÿ“. Also, an STS is called a Synchronous Transport Module (STM) in SDH ๐Ÿ‘‘.

Not all SONET/SDH equipment terminates all SONET/SDH layers ๐Ÿ™ˆ. For example, a SONET/SDH STE regenerator terminates SONET/SDH Sections only, and is transparent for all layers above that. SONET/SDH Add-Drop multiplexers and Digital Cross Connect Systems terminate SONET/SDH Lines. SONET/SDH Terminal Multiplexers may also terminate SONET/SDH Paths and VTs/VCs ๐Ÿงš.

MIB II [16], as extended by [23], accommodates these cases by appropriate use of the MIB II system group and the interfaces group. The system group can name and describe the type of managed resource. The interfaces group defines which SONET/SDH layers apply and how these layers are configured and multiplexed. This is achieved by proper representation of SONET/SDH Layers by ifEntries as defined in [23], as follows ๐Ÿ’–:

                 _____________________________
                |             |          |    |  >
                |             |          |    |  |
                |    VT 1     |..........|VT K|   > K ifEntries
                |             |          |    |  |
                |_____________|__________|____|  >
                |               |      |      |  >
                |               |      |      |  |
                |    Path 1     |......|Path L|   > L ifEntries
                |               |      |      |  |
                |_______________|______|______|  >
                |                             |  >
                |                             |  |
                |    Line                     |  |
                |                             |  |
                |_____________________________|  |
                |                             |  |
                |                             |  |
                |    Section Layer            |   > 1 ifEntry
                |                             |  |
                |_____________________________|  |
                |                             |  |
                |                             |  |
                |    Physical Medium Layer    |  |
                |                             |  |
                |_____________________________|  >

                Use of ifTable for a SONET/SDH port

The exact configuration and multiplexing of the layers is maintained in the ifStackTable [23] ๐ŸŽ€.

3.2. Use of ifTable for SONET/SDH Medium/Section/Line Layer ๐Ÿ’…

Only the ifGeneralInformationGroup needs to be supported ๐Ÿซถ. Here's how each ifTable object gets used for the combined SONET/SDH Medium/Section/Line Layer โœจ:

 ifTable Object    Use for combined SONET/SDH
                   Medium/Section/Line Layer
 ======================================================================
  ifIndex           Interface index.

  ifDescr           SONET/SDH Medium/Section/Line

  ifType            sonet(39)

  ifSpeed           Speed of line rate for SONET/SDH,
                    (e.g., 155520000 bps).

  ifPhysAddress     The value of the Circuit Identifier.
                    If no Circuit Identifier has been assigned
                    this object should have an octet string with
                    zero length.

  ifAdminStatus     Supports read-only access.
                    The desired administrative status of the
                    interface.

  ifOperStatus      The value testing(3) is not used.
                    This object assumes the value down(2),
                    if the objects sonetSectionCurrentStatus
                    and sonetLineCurrentStatus have
                    any other value than sonetSectionNoDefect(1)
                    and sonetLineNoDefect(1), respectively.

  ifLastChange      sysUpTime at the last change in ifOperStatus.

  ifName            Textual name of the interface or an OCTET STRING
                    of zero length.

  ifLinkUpDownTrapEnable   Default value is enabled(1).
                           Just read-only access may be supported.

  ifHighSpeed       Speed of line in Mega-bits per second
                    (e.g., 155 Mbps)

  ifConnectorPresent Set to true(1).

  ifAlias            The (non-volatile) alias name for this interface
                     as assigned by the network manager.

3.3. Use of ifTable for SONET/SDH Paths โœจ

okay bestie, so for SONET/SDH paths we only need to support the ifGeneralInformationGroup ๐ŸŽ€ that's the whole squad we're cool with. here's how each ifTable object gets used for a path ๐Ÿ’…

   ifTable Object    Use for SONET/SDH Paths
   =========================================
    ifIndex           Interface index.

    ifDescr           SONET/SDH Path

    ifType            sonetPath(50)

    ifSpeed           set to speed of SONET/SDH path
                      (e.g., an STS-1 path has a
                      rate of 50112000 bps.)

    ifPhysAddress     Circuit Identifier or OCTET STRING of zero length.

    ifAdminStatus     Supports read-only access.
                      The desired administrative status of the
                      interface.

    ifOperStatus      This object assumes the value down(2),
                      if the object sonetPathCurrentStatus has
                      any other value than sonetPathNoDefect(1).

    ifLastChange      sysUpTime at the last change in ifOperStatus.

    ifName            Textual name of the interface or an OCTET STRING
                      of zero length.

    ifLinkUpDownTrapEnable   Default value is disabled(2).
                             Just read-only access may be supported.

    ifHighSpeed       Set to rate of SONET/SDH path
                      in Mega-bits per second.

    ifConnectorPresent Set to false(2).

    ifAlias            The (non-volatile) alias name for this interface
                       as assigned by the network manager.

3.4. Use of ifTable for SONET/SDH VTs/VCs ๐Ÿฆ‹

same energy as the last one, bestie ๐Ÿซถ only the ifGeneralInformationGroup needs to be supported, and this is the table for VTs/VCs:

   ifTable Object    Use for SONET/SDH VTs/VCs
   ===========================================
    ifIndex           Interface index.

    ifDescr           SONET/SDH VT/VC

    ifType            sonetVT(51)


    ifSpeed           Set to speed of VT/VC
                      (e.g., a VT1.5 has a rate of
                      1728000 bps.)

    ifPhysAddress     Circuit Identifier or OCTET STRING of zero length.

    ifAdminStatus     Supports read-only access.
                      The desired administrative status of the
                      interface.

    ifOperStatus      This object assumes the value down(2),
                      if the object sonetVTCurrentStatus has
                      any other value than sonetVTNoDefect(1).

    ifLastChange      sysUpTime at the last change in ifOperStatus.

    ifName            Textual name of the interface or an OCTET STRING
                      of zero length.

    ifLinkUpDownTrapEnable   Default value is disabled(2).
                             Just read-only access may be supported.

    ifHighSpeed       Set to rate of VT in Mega-bits per second.

    ifConnectorPresent Set to false(2).

    ifAlias            The (non-volatile) alias name for this interface
                       as assigned by the network manager.

3.5. SONET/SDH Terminology ๐ŸŒˆ

okay so this is the part where we talk about error conditions ๐Ÿ˜ญ the SONET side is from T1.231 [22][31][35], and the SDH side is from CCITT G.783 [29]. this doc only defines the SONET Performance Monitoring terms. the SDH ones are similar but not identical and you can find them in [29] ๐Ÿ’€

if the definition here doesn't match T1.231, the implementer should follow the definition in this document. ngl that's the main character rule ๐Ÿ‘‘ and in some cases other or additional references are used, and the text will point that out.

Section Loss Of Frame Failure (Out of Frame Event, Severely Errored Frame Defect) ๐Ÿงš

an Out of Frame (OOF) event (or Severely Errored Frame defect) is when you get four contiguous errored frame alignment words. the frame alignment word lives in the A1 and A2 bytes of an STS frame, and it's defined in T1.105. the SEF defect ends when two contiguous error-free frame words are detected.

any frame recovery circuitry that gets realigned after an OOF within the 250 microsecond (two frames) interval implied by this definition is acceptable ๐Ÿ™Œ

a Loss of Frame (LOF) defect gets declared when an OOF/SEF defect persists for 3 milliseconds. it's terminated when the incoming signal stays continuously in-frame for 1 ms to 3 ms โœจ

a LOF failure is declared when the LOF defect persists for 2.5 +/- 0.5 seconds, except when an LOS defect or failure is present. the LOF failure gets cleared when the LOS failure is declared, or when the LOF defect is absent for 10 +/- 0.5 seconds ๐Ÿ’…

Loss of Signal ๐Ÿ”ฅ

the Loss of Signal (LOS) defect gets declared when no transitions are detected on the incoming signal (before descrambling). it's detected upon observing 2.3 to 100 microseconds of no transitions, and it's cleared after a 125 microsecond interval (one frame) during which no LOS defect is detected ๐Ÿ“

the LOS failure is declared when the LOS defect persists for 2.5 +/- 0.5 seconds, or if the LOS defect is present when the criteria for LOF failure declaration have been met. the LOS failure is cleared when the LOS defect is absent for 10 +/- 0.5 seconds. declaring an LOS failure clears any existing LOF failure, and clearing the LOS failure allows an immediate declaration of the LOF failure if conditions warrant ๐ŸŒธ

STS-Path Loss of Pointer ๐Ÿ’œ

a Loss of Pointer (LOP) defect is declared when either a valid pointer isn't detected in eight consecutive frames, or when eight consecutive frames are detected with the New Data Flag (NDF) set to "1001" without a valid concatenation indicator (see ANSI T1.105). an LOP defect is terminated when either a valid pointer with a normal NDF set to "0110", or a valid concatenation indicator, is detected for three contiguous frames.

incoming STS-Path AIS shall not result in the declaration of an LOP defect ๐Ÿ™ˆ

an STS-Path LOP failure is declared when the STS-Path LOP defect persists for 2.5 +/- 0.5 seconds. it's cleared when the STS-Path LOP defect is absent for 10 +/- 0.5 seconds โญ

VT Loss of Pointer ๐Ÿฆ‹

a VT LOP defect is declared when either a valid pointer isn't detected in eight consecutive VT superframes, or when eight consecutive VT superframes are detected with the NDF set to "1001" without a valid concatenation indicator. a VT LOP defect is terminated when either a valid pointer with a normal NDF set to "0110", or a valid concatenation indicator, is detected for three contiguous VT superframes.

incoming VT-Path AIS shall not result in declaring a VT LOP defect ๐Ÿ™ˆ

a VT LOP failure is declared when the VT LOP defect persists for 2.5 +/- 0.5 seconds, and it's cleared when the VT LOP defect is absent for 10 +/- 0.5 seconds ๐Ÿ’–

Line Alarm Indication Signal ๐ŸŽ€

a Line Alarm Indication Signal (L-AIS) is defined in ANSI T1.105. these are the criteria that are specific to the L-AIS defect:

  • Line AIS defect is detected as a "111" pattern in bits 6, 7, and 8 of the K2 byte in five consecutive frames.
  • Line AIS defect is terminated when bits 6, 7, and 8 of the K2 byte do not contain the code "111" for five consecutive frames.

a Line AIS failure is declared when the Line AIS defect persists for 20.5 +/- 0.5 seconds. it's cleared when the Line AIS defect is absent for 10 +/- 0.5 seconds ๐Ÿ“

STS-Path Alarm Indication Signal ๐ŸŒˆ

the STS-Path Alarm Indication Signal (AIS) is defined in ANSI T1.105 as all ones in bytes H1, H2, and H3, plus all ones in the entire STS SPE. these are the criteria specific to the STS-Path AIS defect:

  • STS-Path AIS defect is detected as all ones in bytes H1 and H2 in three contiguous frames.
  • The STS-Path AIS defect is terminated when a valid STS Pointer is detected with the NDF set to "1001" (inverted) for one frame, or "0110" (normal) for three contiguous frames.

an STS-Path AIS failure is declared when the STS-Path AIS defect persists for 2.5 +/- 0.5 seconds. it's cleared when the STS-Path AIS defect is absent for 10 +/- 0.5 seconds ๐Ÿ’…

VT-Path Alarm Indication Signal ๐Ÿงš

the VT-Path Alarm Indication Signal (AIS) is only applicable for VTs in the floating mode of operation. VT-Path AIS is used to alert the downstream VT Path Terminating Entity (PTE) of an upstream failure. when an STS PTE detects a failure, Line AIS, or STS-Path AIS, it will generate downstream VT-Path AIS if the STS Synchronous Payload Envelope (SPE) is carrying floating VTs ๐Ÿซถ

VT-Path AIS is specified in ANSI T1.105 as all ones in bytes V1, V2, V3, and V4, plus all ones in the entire VT SPE. these criteria are specific to the VT-Path AIS defect:

  • VT-Path AIS defect is detected by a VT PTE as all ones in bytes V1 and V2 in three contiguous VT superframes.
  • VT-Path AIS defect is terminated when a valid VT pointer with a valid VT size is detected with the NDF set to "1001" (inverted) for one VT superframe, or "0110" (normal) for three contiguous VT superframes are detected.

a VT-Path AIS failure is declared when the VT-Path AIS defect persists for 2.5 +/- 0.5 seconds. it's cleared when the VT-Path AIS defect is absent for 10 +/- 0.5 seconds โœจ

Line Remote Defect Indication ๐Ÿ’€

Line Remote Defect Indication (RDI) (aka Line FERF) is the occurrence of a "110" pattern in bit positions 6, 7, and 8 of the K2 byte in STS-1 #1 of the STS-N signal. Line RDI is defined in ANSI T1.105. these are the criteria specific to the Line RDI defect:

  • Line RDI defect is a "110" code in bits 6, 7, and 8 of the K2 byte of in STS-1 #1 in x consecutive frames, where x = 5 [31][35] or 10 [35].
  • Line RDI defect is terminated when any code other than "110" is detected in bits 6, 7, and 8 of the K2 byte in x consecutive frames, where x = 5 [31][35] or 10 [35].

a Line Remote Failure Indication (RFI) failure is declared when the incoming Line RDI defects last for 2.5 +/- 0.5 seconds. the Line RFI failure is cleared when no Line RDI defects are detected for 10 +/- 0.5 seconds ๐Ÿ™Œ

STS-Path Remote Defect Indication ๐Ÿ”ฅ

STS-Path RDI (aka STS-Path FERF) signal shall be generated within 100 milliseconds by the STS PTE upon detection of an AIS or LOP defect. transmission of the STS-Path RDI signal shall cease within 100 milliseconds when the STS PTE no longer detects STS-Path AIS or STS-Path LOP defect. the STS-Path RDI shall accurately report the presence or absence of STS-Path AIS or STS-Path LOP defects. STS-Path RDI defect is defined in ANSI T1.105. the following requirements are specific to the STS-Path RDI defect:

STS-Path RDI is detected by all STS PTEs ๐Ÿ‘€ The upstream STS PTE spots it as a "1" in bit five of the Path Status byte (G1) for x consecutive frames, where x = 5 [31] or 10 [35].

  • Removal of STS-Path Remote Defect Indication is detected by a "0" in bit 5 of the G1 byte in x consecutive frames, where x = 5 [31] or 10 [35].

An STS-Path Remote Failure Indication (RFI) failure is declared when the incoming STS-Path RDI defects last for 2.5 +/- 0.5 seconds. The STS-Path RFI failure is cleared when no STS-Path RDI defects are detected for 10 +/- 0.5 seconds. ๐Ÿซถ

VT-Path Remote Defect Indication ๐Ÿฆ‹

VT Path RDI (aka VT Path FERF) signal shall be generated within 100 milliseconds by the VT PTE once it detects a VT-Path AIS or LOP defect. Transmission of the VT-Path RDI signal shall cease within 100 milliseconds when the VT PTE no longer detects VT-Path AIS or VT-Path LOP defect. The VT-Path RDI shall accurately report whether VT-Path AIS or VT-Path LOP defects are present or absent. VT-Path RDI defect is defined in ANSI T1.105. The following requirements are specific to the VT-Path RDI defect: ๐Ÿ’…

  • VT-Path RDI defect is the occurrence of a "1" in bit 4 of the VT-Path Overhead byte (V5) in x consecutive frames, where x = 5 [31] or 10 [35].
  • VT-Path RDI defect is terminated when a "0" is detected in bit 4 of the V5 byte for x consecutive frames, where x = 5 [31] or 10 [35].

A VT-Path Remote Failure Indication (RFI) (derived) failure is declared when the incoming VT-Path RDI defects last for 2.5 +/- 0.5 seconds. The VT-Path RFI failure is cleared when no VT-Path RDI defects are detected for 10 +/- 0.5 seconds. โœจ

VT-Path Remote Failure Indication ๐ŸŒธ

The VT-Path RFI signal is only required for the case of byte synch mapped DS1s where the DS1 frame bit is not mapped. The VT-Path RFI is specified in ANSI T1.105, where it is currently called VT path yellow. When it is provided, the VT-Path RFI signal is used to indicate the occurrence of far-end failures. When the VT-Path RFI is not provided, far-end failures are derived from local timing of the VT-Path RDI defect. The VT-Path RFI failure is declared within 5 ms of detecting the incoming VT-Path RFI Signal. The VT-Path Remote Failure Indication (RFI) failure is cleared within 50 ms of detecting the removal of the incoming VT-Path RFI signal. ๐Ÿงš

Coding Violation ๐Ÿ”ฅ

Coding Violations (CV) are Bit Interleaved Parity (BIP) errors detected in the incoming signal. CV counters are incremented for each BIP error detected. That means each BIP-8 can detect up to eight errors per STS-N frame, with each error incrementing the CV counter. Section CVs shall be collected using the BIP-8 in the B1 byte located in the Section Overhead of STS-1 #1. Line CVs shall be collected using the BIP-8s in B2 bytes located in the Line Overhead of each STS-1. Since all CVs on an STS-N line are counted together, this is equivalent to counting each error in the BIP-8*N contained in the B2 bytes of the STS-N Line Overhead. Thus, on an STS-N signal, up to 8 x N CVs may occur in each frame. Path CVs shall be collected using the BIP-8 in the B3 byte of the STS-Path Overhead of the STS SPE. VT CVs shall be collected using the BIP-2 in the V5 overhead byte of the floating VT. ๐Ÿ’–

Errored Seconds ๐Ÿ’€

At each layer, an Errored Second (ES) is a second with one or more Coding Violations at that layer, OR one or more incoming defects (e.g., SEF, LOS, AIS, LOP) at that layer has occurred. ๐Ÿ™ˆ

Severely Errored Seconds ๐Ÿ‘‘

According to [22][31][32][34][35], at each layer, a Severely Errored Second (SES) is a second with x or more CVs at that layer, or a second during which at least one or more incoming defects at that layer has occurred. The values of x in RFC1595[30] were based on [22] and [32] (see Appendix B). These values have subsequently been relaxed in [31][34][35]. In addition, according to G.826 [33], SESs are measured as a percentage of errored blocks.

To deal with these sets of definitions, this memo defines an object sonetSESThresholdSet that determines the correct interpretation of SES. For backward compatibility, if this object is not implemented, the interpretation of Appendix B shall apply. Otherwise, a more recent interpretation is suggested. An agent is not required to support all sets of definitions.

Note that if a manager changes the value of this object, all SES statistics collected prior to this change shall be invalidated. ๐ŸŒˆ

Severely Errored Framing Seconds โญ

A Severely Errored Framing Second (SEFS) is a second containing one or more SEF events. This counter is only counted at the Section Layer. ๐Ÿ“

Unavailable Seconds ๐ŸŽ€

At the Line, Path, and VT layers, unavailable seconds are calculated by counting the number of seconds that the interface is unavailable. At each layer, the SONET/SDH interface is said to be unavailable at the onset of 10 contiguous SESs. The 10 SESs are included in unavailable time. Once unavailable, the SONET/SDH interface becomes available at the onset of 10 contiguous seconds with no SESs. The 10 seconds with no SESs are excluded from unavailable time. With respect to the SONET/SDH error counts at each layer, all counters at that layer are incremented while the SONET/SDH interface is deemed available at that layer. While the interface is deemed unavailable at that layer, the only count that is incremented is UASs at that layer. ๐Ÿฆ‹

Note that this definition implies the agent cannot determine, until after a ten second interval has passed, whether a given one-second interval belongs to available or unavailable time. If the agent chooses to update the various performance statistics in real time, then it must be prepared to retroactively reduce the ES, SES, and SEFS counts by 10 and increase the UAS count by 10 when it determines that available time has been entered. It must also be prepared to reduce the CV count by the number of violations counted since the onset of unavailable time. The agent must be similarly prepared to retroactively decrease the UAS count by 10 and increase the ES and CV counts as necessary upon entering available time. A special case exists when the 10 second period leading to available or unavailable time crosses a 900 second statistics window boundary, as the foregoing description implies that the CV, ES, SES, SEFS, and UAS counts of the PREVIOUS interval must be adjusted. In this case, successive GETs of the affected sonetPathIntervalSES and sonetPathIntervalUAS objects (and the analogous Line and VT objects also) will return differing values if the first GET occurs during the first few seconds of the window. ๐Ÿ™ˆ

According to ANSI T1.231, unavailable time begins at the _onset_ of 10 contiguous severely errored seconds. That is, unavailable time starts with the _first_ of the 10 contiguous SESs. Also, while an interface is deemed unavailable, all counters for that interface are frozen except for the UAS count. It follows that an implementation which strictly complies with this standard must _not_ increment any counters other than the UAS count, even temporarily, as a result of anything that happens during those 10 seconds. Since changes in the signal state lag the data to which they apply by 10 seconds, an ANSI-compliant implementation must pass the one-second statistics through a 10-second delay line prior to updating any counters. That can be done by performing the following steps at the end of each one second interval.

  • i) Read near/far end CV counter and alarm status flags from the hardware.
  • ii) Accumulate the CV counts for the preceding second and compare them to the ES and SES threshold for the layer in question. Update the signal state and shift the one-second CV counts and ES/SES flags into the 10-element delay line. Note that far-end one-second statistics are to be flagged as "absent" during any second in which there is an incoming defect at the layer in question or at any lower layer.
  • iii) Update the current interval statistics using the signal state from the _previous_ update cycle and the one-second CV counts and ES/SES flags shifted out of the 10-element delay line.

This approach is further described in Appendix A. An agent may choose to use this approach in lieu of retroactive adjustments to the counters.

In any case, a linkDown trap shall be sent only after the agent has determined for certain that the unavailable state has been entered, but the time on the trap will be that of the first UAS (i.e., 10 seconds earlier). A linkUp trap shall be handled similarly. ๐Ÿงš

Unequipped ๐Ÿ’…

If a Path or VT connection is not provisioned (idle), the SONET equipment will signal this state by transmitting the Path or VT Signal Label as follows:

  • byte C2 of the STS Path Overhead equal to 0 for an unequipped Path,
  • byte V5 of the VT Path Overhead equal to 0 for an unequipped VT.

Signal Label Mismatch โœจ

A Path or VT connection is not correctly provisioned if a received Path or VT Signal Label mismatch occurs. A received Signal Label is considered mismatched if it does not equal either the locally provisioned value or the value 'equipped non-specific' (1 hex). Note that any received non-zero Signal Label is considered a locally provisioned value of 'equipped non-specific'. Only in-service, provisioned Path Terminating equipment can detect mismatched Signal labels. It is considered provisioned if it has been configured for a mapping and has been assigned signals to and from which the mapping takes place. While a Path is unequipped or has mismatched signal labels, ES/SES counts continue, but these conditions do not themselves contribute to ES/SES. ๐ŸŒธ

Circuit Identifier ๐ŸŽ€

This is a character string specified by the circuit vendor, and it is useful when communicating with the vendor during the troubleshooting process. ๐Ÿ’œ


4. Object Definitions โœจ

SONET-MIB DEFINITIONS ::= BEGIN


IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, transmission
          FROM SNMPv2-SMI
    DisplayString, TruthValue
          FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
          FROM SNMPv2-CONF
    ifIndex
          FROM IF-MIB
    PerfCurrentCount, PerfIntervalCount
          FROM PerfHist-TC-MIB;

--  This is the MIB module for the SONET/SDH Interface objects.

Okay bestie, the MIB module is where the real magic lives ๐ŸŽ€ Here's the module identity, with its whole revision history, exactly as it's written.

sonetMIB MODULE-IDENTITY
    LAST-UPDATED "9810190000Z"
    ORGANIZATION "IETF AToM MIB Working Group"
    CONTACT-INFO
      "Kaj Tesink
       Telcordia Technologies
       Tel: (732) 758-5254
       Fax: (732) 758-2269
       E-mail: kaj@research.telcordia.com."
    DESCRIPTION
         "The MIB module to describe
         SONET/SDH interfaces objects."

    REVISION      "9810190000Z"
    DESCRIPTION
        "The key changes made to this MIB module
        since its initial publication in RFC 1595
        are as follows.

        (1) The MODULE-IDENTITY has been updated to reflect the
            changes to the MIB.

        (2) Where applicable, the textual conventions
            PerfCurrentCount and PerfIntervalCount from
            PerfHist-TC-MIB have been used in place of Gauge32.

        (3) An agent now has the option to delay updates to
            the various performance counts in lieu of performing
            retroactive adjustments upon entering into or exiting
            from unavailable time. This implementation option is
            described in Appendix A of this memo.

        (4) In order to make the SONET-MIB more useful for
            circuit provisioning, the formerly read-only objects
            sonetMediumType, sonetMediumLineCoding,
            sonetMediumLineType, and sonetMediumCircuitIdentifier
            have been given a MAX-ACCESS of read-write. The
            MIN-ACCESS remains read-only.

        (5) The DESCRIPTION clause for sonetMediumTimeElapsed has
            been updated to describe its behaviour if the duration
            of the current interval exceeds the maximum value.

        (6) The DESCRIPTION clause for sonetMediumValidIntervals
            has been updated to describe its behaviour when some
            intervals may be unavailable, and the object
            sonetMediumInvalidIntervals has been added to keep
            count of the number of missing intervals (if any).

        (7) The object sonetMediumLoopbackConfig has been added
            to enable or disable loopback configurations.

        (8) Because the error count thresholds for declaring
            severely errored seconds that are specified in ANSI
            T1.231-1993, ITU-T G.826-1995, and ANSI T1.231-1997
            are all different from each other and from the thresholds
            specified in RFC 1595, an enumerated INTEGER object
            sonetSESthresholdSet has been added to allow an agent
            to specify which threshold set is in use. Text has
            been added to Section 3 stating that if this object is
            not implemented the thresholds specified in RFC 1595
            should be assumed, and the table containing those
            thresholds has been moved to Appendix B of this memo.

        (9) A column with SYNTAX TruthValue has been added to each
            interval table.  The purpose of the additional column
            is to indicate, for each interval, whether the data
            is valid in the sense intended by ANSI T1.231 clause
            9.1.2.2 [31][35]. The objects in question are:

                sonetSectionIntervalValidData
                sonetLineIntervalValidData
                sonetFarEndLineIntervalValidData
                sonetPathIntervalValidData
                sonetFarEndPathIntervalValidData
                sonetVTIntervalValidData
                sonetFarEndVTIntervalValidData

       (10) The ranges for sonetPathCurrentStatus and
            sonetVTCurrentStatus have been made consistent
            with the DESCRIPTION clauses.

       (11) The conformance information has been updated. Previous
            conformance information from RFC 1595 has been
            deprecated. Some typographical errors in the deprecated
            section have been corrected in order to prevent
            MIB compilation errors."

    REVISION      "9401030000Z"
    DESCRIPTION
        "The RFC1595 version of this MIB module."

    ::= { transmission 39 }


--  This is the MIB module for the SONET/SDH objects

sonetObjects      OBJECT IDENTIFIER ::= { sonetMIB 1 }

sonetObjectsPath  OBJECT IDENTIFIER ::= { sonetMIB 2 }

sonetObjectsVT    OBJECT IDENTIFIER ::= { sonetMIB 3 }


-- groups in the SONET/SDH MIB module

sonetMedium        OBJECT IDENTIFIER ::= { sonetObjects 1 }

sonetSection       OBJECT IDENTIFIER ::= { sonetObjects 2 }
sonetLine          OBJECT IDENTIFIER ::= { sonetObjects 3 }

sonetFarEndLine    OBJECT IDENTIFIER ::= { sonetObjects 4 }

sonetPath          OBJECT IDENTIFIER ::= { sonetObjectsPath 1 }

sonetFarEndPath    OBJECT IDENTIFIER ::= { sonetObjectsPath 2 }

sonetVT            OBJECT IDENTIFIER ::= { sonetObjectsVT 1 }

sonetFarEndVT      OBJECT IDENTIFIER ::= { sonetObjectsVT 2 }

Next up is the Medium group, which handles the config info for both optical and electrical SONET/SDH interfaces ๐Ÿ’œ

-- the SONET/SDH Medium group

-- SONET/SDH interfaces for some applications may be electrical
-- interfaces and not optical interfaces.  This group handles
-- the configuration information for both optical SONET/SDH
-- interfaces and electrical SONET/SDH interfaces.

sonetMediumTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SonetMediumEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
       "The SONET/SDH Medium table."
     ::= { sonetMedium 1 }

sonetMediumEntry OBJECT-TYPE
    SYNTAX  SonetMediumEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
       "An entry in the SONET/SDH Medium table."
    INDEX   { ifIndex }
     ::= { sonetMediumTable 1 }

SonetMediumEntry ::=
    SEQUENCE {
         sonetMediumType               INTEGER,
         sonetMediumTimeElapsed        Integer32,
         sonetMediumValidIntervals     Integer32,
         sonetMediumLineCoding         INTEGER,
         sonetMediumLineType           INTEGER,
         sonetMediumCircuitIdentifier  DisplayString,
         sonetMediumInvalidIntervals   Integer32,
         sonetMediumLoopbackConfig     BITS
    }

sonetMediumType OBJECT-TYPE
    SYNTAX  INTEGER  {
               sonet(1),
               sdh(2)
            }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
       "This variable identifies whether a SONET
       or a SDH signal is used across this interface."
    ::= { sonetMediumEntry 1 }

sonetMediumTimeElapsed OBJECT-TYPE
    SYNTAX  Integer32 (1..900)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "The number of seconds, including partial seconds,
       that have elapsed since the beginning of the current
       measurement period. If, for some reason, such as an
       adjustment in the system's time-of-day clock, the
       current interval exceeds the maximum value, the
       agent will return the maximum value."
    ::= { sonetMediumEntry 2 }

sonetMediumValidIntervals OBJECT-TYPE
    SYNTAX  Integer32 (0..96)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "The number of previous 15-minute intervals
       for which data was collected.
       A SONET/SDH interface must be capable
       of supporting at least n intervals.
       The minimum value of n is 4.
       The default of n is 32.
       The maximum value of n is 96.
       The value will be <n> unless the measurement was
       (re-)started within the last (<n>*15) minutes, in which
       case the value will be the number of complete 15
       minute intervals for which the agent has at least
       some data. In certain cases (e.g., in the case
       where the agent is a proxy) it is possible that some
       intervals are unavailable.  In this case, this
       interval is the maximum interval number for
       which data is available. "
    ::= { sonetMediumEntry 3 }

sonetMediumLineCoding OBJECT-TYPE
    SYNTAX  INTEGER {
                sonetMediumOther(1),
                sonetMediumB3ZS(2),
                sonetMediumCMI(3),
                sonetMediumNRZ(4),
                sonetMediumRZ(5)
            }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
       "This variable describes the line coding for
       this interface. The B3ZS and CMI are used for
       electrical SONET/SDH signals (STS-1 and STS-3).
       The Non-Return to Zero (NRZ) and the Return
       to Zero are used for optical SONET/SDH signals."
    ::= { sonetMediumEntry 4 }

sonetMediumLineType OBJECT-TYPE
    SYNTAX  INTEGER {
                sonetOther(1),
                sonetShortSingleMode(2),
                sonetLongSingleMode(3),
                sonetMultiMode(4),
                sonetCoax(5),
                sonetUTP(6)
            }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
       "This variable describes the line type for
       this interface. The line types are
       Short and Long Range
       Single Mode fiber or Multi-Mode fiber interfaces,
       and coax and UTP for electrical interfaces.  The
       value sonetOther should be used when the Line Type is
       not one of the listed values."
    ::= { sonetMediumEntry 5 }

sonetMediumCircuitIdentifier OBJECT-TYPE
    SYNTAX  DisplayString (SIZE (0..255))
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
       "This variable contains the transmission
       vendor's circuit identifier, for the
       purpose of facilitating troubleshooting.
       Note that the circuit identifier, if available,
       is also represented by ifPhysAddress."
    ::= { sonetMediumEntry 6 }
sonetMediumInvalidIntervals OBJECT-TYPE
    SYNTAX  Integer32 (0..96)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
        "The number of intervals in the range from
        0 to sonetMediumValidIntervals for which no
        data is available. This object will typically
        be zero except in cases where the data for some
        intervals are not available (e.g., in proxy
        situations)."
    ::= { sonetMediumEntry 7 }

sonetMediumLoopbackConfig OBJECT-TYPE
    SYNTAX      BITS {
                  sonetNoLoop(0),
                  sonetFacilityLoop(1),
                  sonetTerminalLoop(2),
                  sonetOtherLoop(3) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "The current loopback state of the SONET/SDH interface.  The
        values mean:

          sonetNoLoop
             Not in the loopback state. A device that is not
             capable of performing a loopback on this interface
             shall always return this value.

          sonetFacilityLoop
             The received signal at this interface is looped back
             out through the corresponding transmitter in the return
             direction.

          sonetTerminalLoop
             The signal that is about to be transmitted is connected
             to the associated incoming receiver.

          sonetOtherLoop
             Loopbacks that are not defined here."

    ::= { sonetMediumEntry 8 }

sonetSESthresholdSet    OBJECT-TYPE
    SYNTAX   INTEGER {

               other(1),
               Bellcore1991(2),
               ansi1993(3),
               itu1995(4),
               ansi1997(5)
                      }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
      "An enumerated integer indicating which
       recognized set of SES thresholds that
       the agent uses for determining severely
       errored seconds and unavailable time.

       other(1)
         None of the following.

       Bellcore1991(2)
         Bellcore TR-NWT-000253, 1991 [32], or
         ANSI T1M1.3/93-005R2, 1993 [22].
         See also Appendix B.

       ansi1993(3)
         ANSI T1.231, 1993 [31], or
         Bellcore GR-253-CORE, Issue 2, 1995 [34]

       itu1995(4)
         ITU Recommendation G.826, 1995 [33]

       ansi1997(5)
         ANSI T1.231, 1997 [35]

       If a manager changes the value of this
       object then the SES statistics collected
       prior to this change must be invalidated."
     ::= { sonetMedium 2 }

-- the SONET/SDH Section group

-- this group consists of 2 tables:

Okay bestie, we're picking up right where the Section group's little table list leaves off ๐Ÿงš The Section Current table is all about the live 15-minute window, and the Section Interval table keeps the receipts for up to 96 past intervals ๐Ÿ’…

-- - the SONET/SDH Section Current Table
-- - the SONET/SDH Section Interval Table



-- the SONET/SDH Section Current Table

-- The SONET/SDH Section
-- current table contains various statistics
-- being collected for the current 15 minute interval.

sonetSectionCurrentTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SonetSectionCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
       "The SONET/SDH Section Current table."
     ::= { sonetSection 1 }

sonetSectionCurrentEntry OBJECT-TYPE
    SYNTAX  SonetSectionCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
       "An entry in the SONET/SDH Section Current table."
    INDEX   { ifIndex }
     ::= { sonetSectionCurrentTable 1 }

SonetSectionCurrentEntry ::=
    SEQUENCE {
        sonetSectionCurrentStatus   Integer32,
        sonetSectionCurrentESs      PerfCurrentCount,
        sonetSectionCurrentSESs     PerfCurrentCount,
        sonetSectionCurrentSEFSs    PerfCurrentCount,
        sonetSectionCurrentCVs      PerfCurrentCount
    }


sonetSectionCurrentStatus OBJECT-TYPE
    SYNTAX  Integer32 (1..6)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "This variable indicates the
       status of the interface.
       The sonetSectionCurrentStatus
       is a bit map represented
       as a sum, therefore,
       it can represent multiple defects
       simultaneously.
       The sonetSectionNoDefect should be
       set if and only if
       no other flag is set.

       The various bit positions are:
             1   sonetSectionNoDefect
             2   sonetSectionLOS
             4   sonetSectionLOF"
     ::= { sonetSectionCurrentEntry 1 }

sonetSectionCurrentESs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "The counter associated with the number of Errored
       Seconds encountered by a SONET/SDH
       Section in the current 15 minute interval."
     ::= { sonetSectionCurrentEntry 2 }

sonetSectionCurrentSESs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "The counter associated with the number of
       Severely Errored Seconds
       encountered by a SONET/SDH Section in the current 15
       minute interval."
     ::= { sonetSectionCurrentEntry 3 }

sonetSectionCurrentSEFSs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "The counter associated with the number of
       Severely Errored Framing Seconds
       encountered by a SONET/SDH Section in the current
       15 minute interval."
    ::= { sonetSectionCurrentEntry 4 }

sonetSectionCurrentCVs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "The counter associated with the number of Coding
       Violations encountered by a
       SONET/SDH Section in the current 15 minute interval."
     ::= { sonetSectionCurrentEntry 5 }

-- the SONET/SDH Section Interval Table
-- The SONET/SDH Section Interval Table
-- contains various statistics
-- collected by each system over a maximum
-- of the previous 24 hours of
-- operation.  The past 24 hours may be broken into 96
-- completed 15 minute intervals.
-- A system is required to store at
-- least 4 completed 15 minute interval.
-- The default value is 32 intervals.

sonetSectionIntervalTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SonetSectionIntervalEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
       "The SONET/SDH Section Interval table."
     ::= { sonetSection 2 }

sonetSectionIntervalEntry OBJECT-TYPE
    SYNTAX  SonetSectionIntervalEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
       "An entry in the SONET/SDH Section Interval table."
    INDEX   { ifIndex,
              sonetSectionIntervalNumber }
     ::= { sonetSectionIntervalTable 1 }

SonetSectionIntervalEntry ::=
    SEQUENCE {
         sonetSectionIntervalNumber  Integer32,
         sonetSectionIntervalESs     PerfIntervalCount,
         sonetSectionIntervalSESs    PerfIntervalCount,
         sonetSectionIntervalSEFSs   PerfIntervalCount,
         sonetSectionIntervalCVs     PerfIntervalCount,
         sonetSectionIntervalValidData  TruthValue
    }


sonetSectionIntervalNumber OBJECT-TYPE
    SYNTAX  Integer32 (1..96)
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
      "A number between 1 and 96, which identifies the
      interval for which the set of statistics is available.
      The interval identified by 1 is the most recently
      completed 15 minute interval,
      and the interval identified
      by N is the interval immediately preceding the
      one identified
      by N-1."
     ::= { sonetSectionIntervalEntry 1 }

sonetSectionIntervalESs OBJECT-TYPE
    SYNTAX  PerfIntervalCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "The counter associated with the number of
       Errored Seconds encountered
       by a SONET/SDH Section in a
       particular 15-minute interval
       in the past 24 hours."
     ::= { sonetSectionIntervalEntry 2 }

sonetSectionIntervalSESs OBJECT-TYPE
    SYNTAX  PerfIntervalCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "The counter associated with the number of
       Severely Errored Seconds
       encountered by a SONET/SDH Section in a
       particular 15-minute interval
       in the past 24 hours."
    ::= { sonetSectionIntervalEntry 3 }

sonetSectionIntervalSEFSs OBJECT-TYPE
    SYNTAX  PerfIntervalCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "The counter associated with the number of
       Severely Errored Framing Seconds
       encountered by a SONET/SDH Section in a
       particular 15-minute interval
       in the past 24 hours."
    ::= { sonetSectionIntervalEntry 4 }

sonetSectionIntervalCVs OBJECT-TYPE
    SYNTAX  PerfIntervalCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "The counter associated with the number of Coding
       Violations encountered by a
       SONET/SDH Section in a particular 15-minute interval
       in the past 24 hours."
    ::= { sonetSectionIntervalEntry 5 }

sonetSectionIntervalValidData OBJECT-TYPE
    SYNTAX  TruthValue
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "This variable indicates if the data for this
        interval is valid."
    ::= { sonetSectionIntervalEntry 6 }


-- the SONET/SDH Line group

-- this group consists of 2 tables:
-- - the SONET/SDH Line Current Table
-- - the SONET/SDH Line Interval Table


-- the SONET/SDH Line Current Table

-- The SONET/SDH Line
-- current table contains various statistics
-- being collected for the current 15 minute interval.

sonetLineCurrentTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SonetLineCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
      "The SONET/SDH Line Current table."
    ::= { sonetLine 1 }

sonetLineCurrentEntry OBJECT-TYPE
    SYNTAX  SonetLineCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
      "An entry in the SONET/SDH Line Current table."
    INDEX   { ifIndex }
    ::= { sonetLineCurrentTable 1 }

SonetLineCurrentEntry ::=
    SEQUENCE {
         sonetLineCurrentStatus    Integer32,
         sonetLineCurrentESs       PerfCurrentCount,
         sonetLineCurrentSESs      PerfCurrentCount,
         sonetLineCurrentCVs       PerfCurrentCount,
         sonetLineCurrentUASs      PerfCurrentCount
     }


sonetLineCurrentStatus OBJECT-TYPE
    SYNTAX  Integer32 (1..6)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "This variable indicates the
       status of the interface.
       The sonetLineCurrentStatus
       is a bit map represented
       as a sum, therefore,
       it can represent multiple defects
       simultaneously.
       The sonetLineNoDefect should be
       set if and only if
       no other flag is set.

       The various bit positions are:
        1   sonetLineNoDefect
        2   sonetLineAIS
        4   sonetLineRDI"
     ::= { sonetLineCurrentEntry 1 }

sonetLineCurrentESs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "The counter associated with the number of Errored
     Seconds encountered by a SONET/SDH
     Line in the current 15 minute interval."
    ::= { sonetLineCurrentEntry 2 }

sonetLineCurrentSESs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "The counter associated with the number of
     Severely Errored Seconds
     encountered by a SONET/SDH Line in the current 15
     minute
     interval."
    ::= { sonetLineCurrentEntry 3 }

sonetLineCurrentCVs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "The counter associated with the number of Coding
     Violations encountered by a
     SONET/SDH Line in the current 15 minute interval."
    ::= { sonetLineCurrentEntry 4 }

sonetLineCurrentUASs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "The counter associated with the number of
     Unavailable Seconds
     encountered by a SONET/SDH Line in the current 15
     minute
     interval."
    ::= { sonetLineCurrentEntry 5 }


-- the SONET/SDH Line Interval Table

-- The SONET/SDH Line Interval Table
-- contains various statistics
-- collected by each system over a maximum
-- of the previous 24 hours of
-- operation.  The past 24 hours may be broken into 96
-- completed 15 minute intervals.
-- A system is required to store at
-- least 4 completed 15 minute interval.
-- The default value is 32 intervals.

sonetLineIntervalTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SonetLineIntervalEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
       "The SONET/SDH Line Interval table."
     ::= { sonetLine 2 }

sonetLineIntervalEntry OBJECT-TYPE
    SYNTAX  SonetLineIntervalEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
       "An entry in the SONET/SDH Line Interval table."
   INDEX   { ifIndex,
             sonetLineIntervalNumber }
   ::= { sonetLineIntervalTable 1 }

SonetLineIntervalEntry ::=
    SEQUENCE {
        sonetLineIntervalNumber    Integer32,
        sonetLineIntervalESs       PerfIntervalCount,
        sonetLineIntervalSESs      PerfIntervalCount,
        sonetLineIntervalCVs       PerfIntervalCount,
        sonetLineIntervalUASs      PerfIntervalCount,
        sonetLineIntervalValidData TruthValue
    }


sonetLineIntervalNumber OBJECT-TYPE
    SYNTAX  Integer32 (1..96)
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "A number between 1 and 96, which identifies the
        interval for which the set of statistics is available.
        The interval identified by 1 is the most recently
        completed 15 minute interval,
        and the interval identified
        by N is the interval immediately preceding the
        one identified
        by N-1."
     ::= { sonetLineIntervalEntry 1 }

sonetLineIntervalESs OBJECT-TYPE
    SYNTAX  PerfIntervalCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "The counter associated with the number of
       Errored Seconds encountered
       by a SONET/SDH Line in a
       particular 15-minute interval
       in the past 24 hours."
     ::= { sonetLineIntervalEntry 2 }

sonetLineIntervalSESs OBJECT-TYPE
    SYNTAX  PerfIntervalCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "The counter associated with the number of
       Severely Errored Seconds
       encountered by a SONET/SDH Line in a
       particular 15-minute interval
       in the past 24 hours."
      ::= { sonetLineIntervalEntry 3 }

sonetLineIntervalCVs OBJECT-TYPE SYNTAX PerfIntervalCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Coding Violations encountered by a SONET/SDH Line in a particular 15-minute interval in the past 24 hours." ::= { sonetLineIntervalEntry 4 }

sonetLineIntervalUASs OBJECT-TYPE SYNTAX PerfIntervalCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Unavailable Seconds encountered by a SONET/SDH Line in a particular 15-minute interval in the past 24 hours." ::= { sonetLineIntervalEntry 5 }

sonetLineIntervalValidData OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates if the data for this interval is valid." ::= { sonetLineIntervalEntry 6 }

okay so the line interval entries wrap up with CVs, UASs, and a ValidData flag that tells you if that interval's numbers are legit ๐Ÿ’…โœจ no cap, the valid-data bit is kind of the bouncer for each interval ๐Ÿซถ


The SONET/SDH Far End Line group ๐Ÿฆ‹

bestie, this one is lowkey picky about who gets to use it. The original says it may only be implemented by SONET/SDH (LTEs) systems that provide for a far end block error (FEBE) information at the SONET/SDH Line Layer. It's made of two tables, the Current one and the Interval one ๐ŸŒธ

-- The SONET/SDH Far End Line group.
-- This group may only be implemented by SONET/SDH (LTEs)
-- systems that provide for a far end block error (FEBE)
-- information at the SONET/SDH Line Layer.

-- This group consists of two tables:
--    SONET/SDH Far End Line Current Table
--    SONET/SDH Far End Line Interval Table



-- The SONET/SDH Far End Line Current Table

-- The SONET/SDH Far End Line Current table contains
-- various statistics being
-- collected for the current 15 minute interval.
-- The statistics are collected from the far end
-- block error code (FEBE)
-- within the third Z2 byte of the Line Overhead
-- in Broadband ISDN applications.
-- The definitions are the same as described for
-- the near-end information.

sonetFarEndLineCurrentTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SonetFarEndLineCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
      "The SONET/SDH Far End Line Current table."
    ::= { sonetFarEndLine 1 }

sonetFarEndLineCurrentEntry OBJECT-TYPE
    SYNTAX  SonetFarEndLineCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
      "An entry in the SONET/SDH Far End Line Current table."
    INDEX   { ifIndex }
    ::= { sonetFarEndLineCurrentTable 1 }

SonetFarEndLineCurrentEntry ::=
    SEQUENCE {
        sonetFarEndLineCurrentESs       PerfCurrentCount,
        sonetFarEndLineCurrentSESs      PerfCurrentCount,
        sonetFarEndLineCurrentCVs       PerfCurrentCount,
        sonetFarEndLineCurrentUASs      PerfCurrentCount
       }

sonetFarEndLineCurrentESs OBJECT-TYPE
   SYNTAX  PerfCurrentCount
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION

       "The counter associated with the number of Far
       End Errored Seconds encountered by a SONET/SDH
       interface in the current 15 minute interval."
   ::= { sonetFarEndLineCurrentEntry 1 }

sonetFarEndLineCurrentSESs OBJECT-TYPE
   SYNTAX  PerfCurrentCount
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
       "The counter associated with the number of
       Far End Severely Errored Seconds
       encountered by a SONET/SDH Medium/Section/Line
       interface in the current 15 minute
       interval."
   ::= { sonetFarEndLineCurrentEntry 2 }

sonetFarEndLineCurrentCVs OBJECT-TYPE
   SYNTAX  PerfCurrentCount
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
       "The counter associated with the number of
       Far End Coding Violations reported via
       the far end block error count
       encountered by a
       SONET/SDH Medium/Section/Line
       interface in the current 15 minute interval."
   ::= { sonetFarEndLineCurrentEntry 3 }

sonetFarEndLineCurrentUASs OBJECT-TYPE
   SYNTAX  PerfCurrentCount
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
       "The counter associated with the number of
       Far End Unavailable Seconds
       encountered by a
       SONET/SDH Medium/Section/Line
       interface in the current 15 minute interval."
   ::= { sonetFarEndLineCurrentEntry 4 }

the Current table is the live feed for the far end, so it's giving "right now" energy โฐ๐Ÿ’– it reads the FEBE bits in the third Z2 byte of the Line Overhead, same vibes as the near-end stats ๐Ÿงš

The SONET/SDH Far End Line Interval Table ๐Ÿ“…

this is the history book ๐Ÿ“– up to 24 hours back, split into 96 completed 15 minute chunks. The original says a system is required to store at least 4 completed 15 minute intervals, and the default is 32. Iconic ๐Ÿ‘‘

-- The SONET/SDH Far End Line Interval Table

-- The SONET/SDH Far End Line Interval Table
-- contains various statistics
-- collected by each system over a maximum
-- of the previous 24 hours of
-- operation.  The past 24 hours may be broken into 96
-- completed 15 minute intervals.
-- A system is required to store at
-- least 4 completed 15 minute interval.
-- The default value is 32 intervals.

sonetFarEndLineIntervalTable OBJECT-TYPE
   SYNTAX  SEQUENCE OF SonetFarEndLineIntervalEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
      "The SONET/SDH Far End Line Interval table."
   ::= { sonetFarEndLine 2 }

sonetFarEndLineIntervalEntry OBJECT-TYPE
   SYNTAX  SonetFarEndLineIntervalEntry
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
     "An entry in the SONET/SDH Far
     End Line Interval table."
   INDEX   { ifIndex,
             sonetFarEndLineIntervalNumber }
   ::= { sonetFarEndLineIntervalTable 1 }

SonetFarEndLineIntervalEntry ::=
    SEQUENCE {
         sonetFarEndLineIntervalNumber    Integer32,
         sonetFarEndLineIntervalESs       PerfIntervalCount,
         sonetFarEndLineIntervalSESs      PerfIntervalCount,
         sonetFarEndLineIntervalCVs       PerfIntervalCount,
         sonetFarEndLineIntervalUASs      PerfIntervalCount,
         sonetFarEndLineIntervalValidData TruthValue
    }


sonetFarEndLineIntervalNumber OBJECT-TYPE
   SYNTAX  Integer32 (1..96)
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
         "A number between 1 and 96, which identifies the
         interval for which the set of statistics is available.
         The interval identified by 1 is the most recently
         completed 15 minute interval,
         and the interval identified
         by N is the interval immediately preceding the
         one identified
         by N-1."
   ::= { sonetFarEndLineIntervalEntry 1 }

sonetFarEndLineIntervalESs OBJECT-TYPE
   SYNTAX  PerfIntervalCount
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The counter associated with the number of
        Far End Errored Seconds encountered
        by a SONET/SDH Line
        interface in a particular 15-minute interval
        in the past 24 hours."
  ::= { sonetFarEndLineIntervalEntry 2 }

sonetFarEndLineIntervalSESs OBJECT-TYPE
   SYNTAX  PerfIntervalCount
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The counter associated with the number of
        Far End Severely Errored Seconds
        encountered by a SONET/SDH Line
        interface in a particular 15-minute interval
        in the past 24 hours."
  ::= { sonetFarEndLineIntervalEntry 3 }

sonetFarEndLineIntervalCVs OBJECT-TYPE
    SYNTAX  PerfIntervalCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
         "The counter associated with the number of
         Far End Coding Violations reported via
         the far end block error count
         encountered by a
         SONET/SDH Line
         interface in a particular 15-minute interval
         in the past 24 hours."
    ::= { sonetFarEndLineIntervalEntry 4 }

sonetFarEndLineIntervalUASs OBJECT-TYPE
   SYNTAX  PerfIntervalCount
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
       "The counter associated with the number of
       Far End Unavailable Seconds
       encountered by a
       SONET/SDH Line
       interface in a particular 15-minute interval
       in the past 24 hours."
   ::= { sonetFarEndLineIntervalEntry 5 }

sonetFarEndLineIntervalValidData OBJECT-TYPE
    SYNTAX  TruthValue
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "This variable indicates if the data for this
        interval is valid."
    ::= { sonetFarEndLineIntervalEntry 6 }

the interval numbering is giving reverse-chronological vibes ๐Ÿ”„ interval 1 is the newest completed chunk and each N is right before N-1, so it's like scrolling your camera roll backwards ๐Ÿ“ธ๐Ÿ’œ


The SONET/SDH Path group ๐ŸŒˆ

okay bestie, the Path group is organised into two tables, the Current one and the Interval one ๐ŸŽ€

-- the SONET/SDH Path group

-- this group consists of 2 tables:
-- - the SONET/SDH Path Current Table
-- - the SONET/SDH Path Interval Table


-- the SONET/SDH Path Current Table

-- The SONET/SDH Path
-- current table contains various statistics
-- being collected for the current 15 minute interval.

sonetPathCurrentTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SonetPathCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
     "The SONET/SDH Path Current table."
::= { sonetPath 1 }

sonetPathCurrentEntry OBJECT-TYPE
    SYNTAX  SonetPathCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
     "An entry in the SONET/SDH Path Current table."
    INDEX   { ifIndex }
::= { sonetPathCurrentTable 1 }

SonetPathCurrentEntry ::=
    SEQUENCE {

        sonetPathCurrentWidth      INTEGER,
        sonetPathCurrentStatus     Integer32,
        sonetPathCurrentESs        PerfCurrentCount,
        sonetPathCurrentSESs       PerfCurrentCount,
        sonetPathCurrentCVs        PerfCurrentCount,
        sonetPathCurrentUASs       PerfCurrentCount
    }


sonetPathCurrentWidth OBJECT-TYPE
    SYNTAX  INTEGER  {
            sts1(1),
            sts3cSTM1(2),
            sts12cSTM4(3),
            sts24c(4),
            sts48cSTM16(5)
     }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
     "A value that indicates the type of the SONET/SDH
     Path.  For SONET, the assigned types are
     the STS-Nc SPEs, where N = 1, 3, 12, 24, and 48.
     STS-1 is equal to 51.84 Mbps.  For SDH, the assigned
     types are the STM-Nc VCs, where N = 1, 4, and 16."
::= { sonetPathCurrentEntry 1 }

sonetPathCurrentStatus OBJECT-TYPE
    SYNTAX  Integer32 (1..62)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
      "This variable indicates the
      status of the interface.
      The sonetPathCurrentStatus
      is a bit map represented
      as a sum, therefore,
      it can represent multiple defects
      simultaneously.
      The sonetPathNoDefect should be
      set if and only if
      no other flag is set.

      The various bit positions are:
         1   sonetPathNoDefect
         2   sonetPathSTSLOP
         4   sonetPathSTSAIS
         8   sonetPathSTSRDI

        16   sonetPathUnequipped
        32   sonetPathSignalLabelMismatch"
::= { sonetPathCurrentEntry 2 }

sonetPathCurrentESs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "The counter associated with the number of Errored
     Seconds encountered by a SONET/SDH
     Path in the current 15 minute interval."
::= { sonetPathCurrentEntry 3 }

sonetPathCurrentSESs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "The counter associated with the number of
     Severely Errored Seconds
     encountered by a SONET/SDH Path in the current 15
     minute
     interval."
::= { sonetPathCurrentEntry 4 }

sonetPathCurrentCVs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "The counter associated with the number of Coding
     Violations encountered by a
     SONET/SDH Path in the current 15 minute interval."
::= { sonetPathCurrentEntry 5 }

sonetPathCurrentUASs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "The counter associated with the number of
     Unavailable Seconds
     encountered by a Path in the current
     15 minute interval."
::= { sonetPathCurrentEntry 6 }

the Path Current table is the live stats for the path, and the status field is a bitmap, so one number can flag several defects at once ๐Ÿซง the original says sonetPathNoDefect should be set if and only if no other flag is set, which is a very strict bestie rule ๐Ÿ™ˆ

The SONET/SDH Path Interval Table ๐Ÿ•ฐ๏ธ

the Path Interval table is the same 24-hour history energy, so here's the start of its code ๐Ÿ’…

-- the SONET/SDH Path Interval Table
-- The SONET/SDH Path Interval Table
-- contains various statistics
-- collected by each system over a maximum
-- of the previous 24 hours of
-- operation.  The past 24 hours may be broken into 96
-- completed 15 minute intervals.
-- A system is required to store at
-- least 4 completed 15 minute interval.
-- The default value is 32 intervals.

sonetPathIntervalTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SonetPathIntervalEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
     "The SONET/SDH Path Interval table."
::= { sonetPath 2 }

and that's where we're at, bestie ๐Ÿฆ‹ the Path Interval entries pick up from here ๐Ÿ’–

Okay so this is where the Path Interval entries get real ๐Ÿ’…. Each row is one 15 minute chunk of the past 24 hours, and the row number tells you how fresh it is. Row 1 is the newest completed interval ๐Ÿ“

sonetPathIntervalEntry OBJECT-TYPE
    SYNTAX  SonetPathIntervalEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
     "An entry in the SONET/SDH Path Interval table."
    INDEX   { ifIndex,
              sonetPathIntervalNumber }
::= { sonetPathIntervalTable 1 }


SonetPathIntervalEntry ::=
    SEQUENCE {
         sonetPathIntervalNumber     Integer32,
         sonetPathIntervalESs        PerfIntervalCount,
         sonetPathIntervalSESs       PerfIntervalCount,
         sonetPathIntervalCVs        PerfIntervalCount,
         sonetPathIntervalUASs       PerfIntervalCount,
         sonetPathIntervalValidData  TruthValue
    }

The index is sonetPathIntervalNumber, and it runs from 1 to 96 ๐ŸŽ€

sonetPathIntervalNumber OBJECT-TYPE
    SYNTAX  Integer32 (1..96)
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
       "A number between 1 and 96, which identifies the
       interval for which the set of statistics is available.
       The interval identified by 1 is the most recently
       completed 15 minute interval,
       and the interval identified
       by N is the interval immediately preceding the
       one identified
       by N-1."
::= { sonetPathIntervalEntry 1 }

Now the four counters. They're all read-only and they all count things in one specific 15 minute interval, so the vibe is basically "how bad was this slot" ๐Ÿ™ˆ

sonetPathIntervalESs OBJECT-TYPE
    SYNTAX  PerfIntervalCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "The counter associated with the number of
     Errored Seconds encountered
     by a SONET/SDH Path in a
     particular 15-minute interval
     in the past 24 hours."
::= { sonetPathIntervalEntry 2 }

sonetPathIntervalSESs OBJECT-TYPE
    SYNTAX  PerfIntervalCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "The counter associated with the number of
     Severely Errored Seconds
     encountered by a SONET/SDH Path in
     a particular 15-minute interval
     in the past 24 hours."
::= { sonetPathIntervalEntry 3 }

sonetPathIntervalCVs OBJECT-TYPE
    SYNTAX  PerfIntervalCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "The counter associated with the number of Coding
     Violations encountered by a
     SONET/SDH Path in a particular 15-minute interval
     in the past 24 hours."
::= { sonetPathIntervalEntry 4 }

sonetPathIntervalUASs OBJECT-TYPE
    SYNTAX  PerfIntervalCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "The counter associated with the number of
     Unavailable Seconds
     encountered by a Path in a
     particular 15-minute interval
     in the past 24 hours."
::= { sonetPathIntervalEntry 5 }

sonetPathIntervalValidData OBJECT-TYPE
    SYNTAX  TruthValue
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "This variable indicates if the data for this
        interval is valid."
    ::= { sonetPathIntervalEntry 6 }

The SONET/SDH Far End Path group ๐Ÿฆ‹

This group has two tables, the Far End Path Current one and the Far End Path Interval one. The far end stuff is pulled from the FEBE bits in the G1 byte of the Path Overhead, and the definitions match the near end ones ๐Ÿงš

-- The SONET/SDH Far End Path group

-- This group consists of two tables:
--  - SONET/SDH Far End Path Current Table
--  - SONET/SDH Far End Path Interval Table

-- The SONET/SDH Far End Path Current Table

-- The SONET/SDH Far End Path Current table
-- contains various statistics
-- being collected for the current 15 minute interval.
-- The statistics are collected from
-- the far end block error code
-- (FEBE) within the G1 byte of the Path Overhead.
-- The definitions are the same as described for
-- the near-end information.

sonetFarEndPathCurrentTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SonetFarEndPathCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
         "The SONET/SDH Far End Path Current table."
    ::= { sonetFarEndPath 1 }

sonetFarEndPathCurrentEntry OBJECT-TYPE
    SYNTAX  SonetFarEndPathCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
         "An entry in the SONET/SDH Far End Path Current table."
    INDEX   { ifIndex }
    ::= { sonetFarEndPathCurrentTable 1 }

SonetFarEndPathCurrentEntry ::=
    SEQUENCE {
        sonetFarEndPathCurrentESs       PerfCurrentCount,
        sonetFarEndPathCurrentSESs      PerfCurrentCount,
        sonetFarEndPathCurrentCVs       PerfCurrentCount,
        sonetFarEndPathCurrentUASs      PerfCurrentCount
    }


sonetFarEndPathCurrentESs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
         "The counter associated with the number of Far
         End Errored Seconds encountered by a SONET/SDH
         interface in the current 15 minute interval."
    ::= { sonetFarEndPathCurrentEntry 1 }

sonetFarEndPathCurrentSESs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
         "The counter associated with the number of
         Far End Severely Errored Seconds
         encountered by a SONET/SDH Path
         interface in the current 15 minute
         interval."
    ::= { sonetFarEndPathCurrentEntry 2 }

sonetFarEndPathCurrentCVs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
         "The counter associated with the number of
         Far End Coding Violations reported via
         the far end block error count
         encountered by a
         SONET/SDH Path interface in
         the current 15 minute interval."
    ::= { sonetFarEndPathCurrentEntry 3 }

sonetFarEndPathCurrentUASs OBJECT-TYPE
   SYNTAX  PerfCurrentCount
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
       "The counter associated with the number of
       Far End Unavailable Seconds
       encountered by a
       SONET/SDH Path interface in
       the current 15 minute interval."
   ::= { sonetFarEndPathCurrentEntry 4 }

-- The SONET/SDH Far End Path Interval Table

-- The SONET/SDH Far End Path Interval Table
-- contains various statistics
-- collected by each system over a maximum
-- of the previous 24 hours of
-- operation.  The past 24 hours may be broken into 96
-- completed 15 minute intervals.
-- A system is required to store at
-- least 4 completed 15 minute interval.
-- The default value is 32 intervals.

sonetFarEndPathIntervalTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SonetFarEndPathIntervalEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
        "The SONET/SDH Far End Path Interval table."
    ::= { sonetFarEndPath 2 }

sonetFarEndPathIntervalEntry OBJECT-TYPE
    SYNTAX  SonetFarEndPathIntervalEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
       "An entry in the SONET/SDH Far
       End Path Interval table."
    INDEX   { ifIndex,
              sonetFarEndPathIntervalNumber }
    ::= { sonetFarEndPathIntervalTable 1 }

SonetFarEndPathIntervalEntry ::=
    SEQUENCE {
         sonetFarEndPathIntervalNumber     Integer32,
         sonetFarEndPathIntervalESs        PerfIntervalCount,
         sonetFarEndPathIntervalSESs       PerfIntervalCount,
         sonetFarEndPathIntervalCVs        PerfIntervalCount,
         sonetFarEndPathIntervalUASs       PerfIntervalCount,
         sonetFarEndPathIntervalValidData  TruthValue
    }

sonetFarEndPathIntervalNumber OBJECT-TYPE
   SYNTAX  Integer32 (1..96)
   MAX-ACCESS  not-accessible
   STATUS  current
   DESCRIPTION
        "A number between 1 and 96, which identifies the
        interval for which the set of statistics is available.
        The interval identified by 1 is the most recently
        completed 15 minute interval,
        and the interval identified
        by N is the interval immediately preceding the
        one identified
        by N-1."
   ::= { sonetFarEndPathIntervalEntry 1 }

sonetFarEndPathIntervalESs OBJECT-TYPE
   SYNTAX  PerfIntervalCount
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The counter associated with the number of
        Far End Errored Seconds encountered
        by a SONET/SDH Path interface in a
        particular 15-minute interval
        in the past 24 hours."
   ::= { sonetFarEndPathIntervalEntry 2 }

sonetFarEndPathIntervalSESs OBJECT-TYPE
   SYNTAX  PerfIntervalCount
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
        "The counter associated with the number of
        Far End Severely Errored Seconds
        encountered by a SONET/SDH Path interface
        in a particular 15-minute interval
        in the past 24 hours."
   ::= { sonetFarEndPathIntervalEntry 3 }

sonetFarEndPathIntervalCVs OBJECT-TYPE
    SYNTAX  PerfIntervalCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
         "The counter associated with the number of
         Far End Coding Violations reported via
         the far end block error count
         encountered by a
         SONET/SDH Path interface
         in a particular 15-minute interval
         in the past 24 hours."
    ::= { sonetFarEndPathIntervalEntry 4 }

sonetFarEndPathIntervalUASs OBJECT-TYPE
   SYNTAX  PerfIntervalCount
   MAX-ACCESS  read-only
   STATUS  current
   DESCRIPTION
       "The counter associated with the number of
       Far End Unavailable Seconds
       encountered by a
       SONET/SDH Path interface in
       a particular 15-minute interval
       in the past 24 hours."
   ::= { sonetFarEndPathIntervalEntry 5 }

sonetFarEndPathIntervalValidData OBJECT-TYPE
    SYNTAX  TruthValue
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
       "This variable indicates if the data for this
        interval is valid."
    ::= { sonetFarEndPathIntervalEntry 6 }

the SONET/SDH Virtual Tributary group ๐ŸŒธ

Okay this group has two tables too, the VT Current table and the VT Interval table ๐Ÿ’œ For SDH signals, virtual tributaries get called VCs instead of VTs, and the comments below map them out for us โœจ

-- the SONET/SDH Virtual Tributary group

-- this group consists of 2 tables:
-- - the SONET/SDH VT Current Table
-- - the SONET/SDH VT Interval Table

-- For SDH signals, virtual tributaries are
-- called VCs instead of VTs

-- A VT1.5 = VC11
-- A VT2 = VC12
-- A VT3 = none
-- A VT6 = VC3

The SONET/SDH VT Current Table ๐ŸŽ€

This one is for the current 15 minute interval, and the first thing it tells you is the width of the VT or VC ๐Ÿ“

-- the SONET/SDH VT Current Table

-- The SONET/SDH VT current table
-- contains various statistics
-- being collected for the
-- current 15 minute interval.

sonetVTCurrentTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF SonetVTCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
     "The SONET/SDH VT Current table."
::= { sonetVT 1 }

sonetVTCurrentEntry OBJECT-TYPE
    SYNTAX  SonetVTCurrentEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
     "An entry in the SONET/SDH VT Current table."
    INDEX   { ifIndex }
::= { sonetVTCurrentTable 1 }

SonetVTCurrentEntry ::=
    SEQUENCE {
        sonetVTCurrentWidth      INTEGER,
        sonetVTCurrentStatus     Integer32,
        sonetVTCurrentESs        PerfCurrentCount,
        sonetVTCurrentSESs       PerfCurrentCount,
        sonetVTCurrentCVs        PerfCurrentCount,
        sonetVTCurrentUASs       PerfCurrentCount
    }

sonetVTCurrentWidth OBJECT-TYPE
    SYNTAX  INTEGER {
            vtWidth15VC11(1),
            vtWidth2VC12(2),
            vtWidth3(3),
            vtWidth6VC2(4),
            vtWidth6c(5)
         }
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
    "A value that indicates the type of the SONET
     VT and SDH VC.  Assigned widths are
     VT1.5/VC11, VT2/VC12, VT3, VT6/VC2, and VT6c."
::= { sonetVTCurrentEntry 1 }

sonetVTCurrentStatus OBJECT-TYPE
    SYNTAX  Integer32 (1..126)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION

      "This variable indicates the
      status of the interface.
      The sonetVTCurrentStatus
      is a bit map represented
      as a sum, therefore,
      it can represent multiple defects
      and failures
      simultaneously.
      The sonetVTNoDefect should be
      set if and only if
      no other flag is set.

      The various bit positions are:
         1   sonetVTNoDefect
         2   sonetVTLOP
         4   sonetVTPathAIS
         8   sonetVTPathRDI
        16   sonetVTPathRFI
        32   sonetVTUnequipped
        64   sonetVTSignalLabelMismatch"
::= { sonetVTCurrentEntry 2 }

sonetVTCurrentESs OBJECT-TYPE
    SYNTAX  PerfCurrentCount
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
     "The counter associated with the number of Errored
     Seconds encountered by a SONET/SDH
     VT in the current 15 minute interval."

::= { sonetVTCurrentEntry 3 }

sonetVTCurrentSESs OBJECT-TYPE SYNTAX PerfCurrentCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Severely Errored Seconds encountered by a SONET/SDH VT in the current 15 minute interval." ::= { sonetVTCurrentEntry 4 }

sonetVTCurrentCVs OBJECT-TYPE SYNTAX PerfCurrentCount MAX-ACCESS read-only STATUS current DESCRIPTION

"The counter associated with the number of Coding Violations encountered by a SONET/SDH VT in the current 15 minute interval." ::= { sonetVTCurrentEntry 5 }

sonetVTCurrentUASs OBJECT-TYPE SYNTAX PerfCurrentCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Unavailable Seconds encountered by a VT in the current 15 minute interval." ::= { sonetVTCurrentEntry 6 }

-- the SONET/SDH VT Interval Table

-- The SONET/SDH VT Interval Table -- contains various statistics -- collected by each system over a maximum -- of the previous 24 hours of -- operation. The past 24 hours may be broken into 96 -- completed 15 minute intervals. -- A system is required to store at -- least 4 completed 15 minute interval. -- The default value is 32 intervals.

sonetVTIntervalTable OBJECT-TYPE SYNTAX SEQUENCE OF SonetVTIntervalEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The SONET/SDH VT Interval table." ::= { sonetVT 2 }

sonetVTIntervalEntry OBJECT-TYPE SYNTAX SonetVTIntervalEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the SONET/SDH VT Interval table." INDEX { ifIndex, sonetVTIntervalNumber } ::= { sonetVTIntervalTable 1 }

SonetVTIntervalEntry ::=

SEQUENCE { sonetVTIntervalNumber Integer32, sonetVTIntervalESs PerfIntervalCount, sonetVTIntervalSESs PerfIntervalCount, sonetVTIntervalCVs PerfIntervalCount, sonetVTIntervalUASs PerfIntervalCount, sonetVTIntervalValidData TruthValue }

sonetVTIntervalNumber OBJECT-TYPE SYNTAX Integer32 (1..96) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A number between 1 and 96, which identifies the interval for which the set of statistics is available. The interval identified by 1 is the most recently completed 15 minute interval, and the interval identified by N is the interval immediately preceding the one identified by N-1." ::= { sonetVTIntervalEntry 1 }

sonetVTIntervalESs OBJECT-TYPE SYNTAX PerfIntervalCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Errored Seconds encountered by a SONET/SDH VT in a particular 15-minute interval in the past 24 hours." ::= { sonetVTIntervalEntry 2 }

sonetVTIntervalSESs OBJECT-TYPE SYNTAX PerfIntervalCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Severely Errored Seconds encountered by a SONET/SDH VT in a particular 15-minute interval in the past 24 hours." ::= { sonetVTIntervalEntry 3 }

sonetVTIntervalCVs OBJECT-TYPE

SYNTAX PerfIntervalCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Coding Violations encountered by a SONET/SDH VT in a particular 15-minute interval in the past 24 hours." ::= { sonetVTIntervalEntry 4 }

sonetVTIntervalUASs OBJECT-TYPE SYNTAX PerfIntervalCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Unavailable Seconds encountered by a VT in a particular 15-minute interval in the past 24 hours." ::= { sonetVTIntervalEntry 5 }

sonetVTIntervalValidData OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates if the data for this interval is valid." ::= { sonetVTIntervalEntry 6 }

-- The SONET/SDH Far End VT group

-- This group consists of two tables: -- SONET/SDH Far End VT Current Table -- SONET/SDH Far End VT Interval Table

-- The SONET/SDH Far End VT Current

-- The SONET/SDH Far End VT Current table -- contains various statistics -- being collected for the current 15 minute interval. -- The statistics are collected from -- the far end block error code -- (FEBE) within the G1 byte of the VT Overhead. -- The definitions are the same as described for -- the near-end information.

sonetFarEndVTCurrentTable OBJECT-TYPE SYNTAX SEQUENCE OF SonetFarEndVTCurrentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The SONET/SDH Far End VT Current table." ::= { sonetFarEndVT 1 }

sonetFarEndVTCurrentEntry OBJECT-TYPE SYNTAX SonetFarEndVTCurrentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the SONET/SDH Far End VT Current table." INDEX { ifIndex } ::= { sonetFarEndVTCurrentTable 1 }

SonetFarEndVTCurrentEntry ::= SEQUENCE { sonetFarEndVTCurrentESs PerfCurrentCount, sonetFarEndVTCurrentSESs PerfCurrentCount, sonetFarEndVTCurrentCVs PerfCurrentCount, sonetFarEndVTCurrentUASs PerfCurrentCount }

sonetFarEndVTCurrentESs OBJECT-TYPE SYNTAX PerfCurrentCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Far End Errored Seconds encountered by a SONET/SDH interface in the current 15 minute interval." ::= { sonetFarEndVTCurrentEntry 1 }

sonetFarEndVTCurrentSESs OBJECT-TYPE SYNTAX PerfCurrentCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Far End Severely Errored Seconds encountered by a SONET/SDH VT interface in the current 15 minute interval." ::= { sonetFarEndVTCurrentEntry 2 }

sonetFarEndVTCurrentCVs OBJECT-TYPE SYNTAX PerfCurrentCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Far End Coding Violations reported via the far end block error count encountered by a SONET/SDH VT interface in the current 15 minute interval." ::= { sonetFarEndVTCurrentEntry 3 }

sonetFarEndVTCurrentUASs OBJECT-TYPE SYNTAX PerfCurrentCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Far End Unavailable Seconds encountered by a SONET/SDH VT interface in the current 15 minute interval." ::= { sonetFarEndVTCurrentEntry 4 }

-- The SONET/SDH Far End VT Interval Table

-- The SONET/SDH Far End VT Interval Table -- contains various statistics -- collected by each system over a maximum -- of the previous 24 hours of -- operation. The past 24 hours may be broken into 96 -- completed 15 minute intervals. -- A system is required to store at -- least 4 completed 15 minute interval. -- The default value is 32 intervals.

sonetFarEndVTIntervalTable OBJECT-TYPE SYNTAX SEQUENCE OF SonetFarEndVTIntervalEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The SONET/SDH Far End VT Interval table." ::= { sonetFarEndVT 2 }

sonetFarEndVTIntervalEntry OBJECT-TYPE SYNTAX SonetFarEndVTIntervalEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the SONET/SDH Far End VT Interval table." INDEX { ifIndex, sonetFarEndVTIntervalNumber } ::= { sonetFarEndVTIntervalTable 1 }

SonetFarEndVTIntervalEntry ::= SEQUENCE { sonetFarEndVTIntervalNumber Integer32, sonetFarEndVTIntervalESs PerfIntervalCount, sonetFarEndVTIntervalSESs PerfIntervalCount, sonetFarEndVTIntervalCVs PerfIntervalCount, sonetFarEndVTIntervalUASs PerfIntervalCount, sonetFarEndVTIntervalValidData TruthValue }

sonetFarEndVTIntervalNumber OBJECT-TYPE SYNTAX Integer32 (1..96) MAX-ACCESS not-accessible STATUS current DESCRIPTION "A number between 1 and 96, which identifies the interval for which the set of statistics is available. The interval identified by 1 is the most recently completed 15 minute interval, and the interval identified by N is the interval immediately preceding the one identified by N-1." ::= { sonetFarEndVTIntervalEntry 1 }

sonetFarEndVTIntervalESs OBJECT-TYPE SYNTAX PerfIntervalCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Far End Errored Seconds encountered by a SONET/SDH VT interface in a particular 15-minute interval in the past 24 hours." ::= { sonetFarEndVTIntervalEntry 2 }

sonetFarEndVTIntervalSESs OBJECT-TYPE SYNTAX PerfIntervalCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Far End Severely Errored Seconds encountered by a SONET/SDH VT interface in a particular 15-minute interval in the past 24 hours." ::= { sonetFarEndVTIntervalEntry 3 }

sonetFarEndVTIntervalCVs OBJECT-TYPE SYNTAX PerfIntervalCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Far End Coding Violations reported via the far end block error count encountered by a SONET/SDH VT interface in a particular 15-minute interval in the past 24 hours." ::= { sonetFarEndVTIntervalEntry 4 }

sonetFarEndVTIntervalUASs OBJECT-TYPE SYNTAX PerfIntervalCount MAX-ACCESS read-only STATUS current DESCRIPTION "The counter associated with the number of Far End Unavailable Seconds encountered by a SONET/SDH VT interface in a particular 15-minute interval in the past 24 hours." ::= { sonetFarEndVTIntervalEntry 5 }

sonetFarEndVTIntervalValidData OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This variable indicates if the data for this interval is valid." ::= { sonetFarEndVTIntervalEntry 6 }

-- conformance information

sonetConformance OBJECT IDENTIFIER ::= { sonetMIB 4 } sonetGroups OBJECT IDENTIFIER ::= { sonetConformance 1 } sonetCompliances OBJECT IDENTIFIER ::= { sonetConformance 2 }

-- deprecated compliance statement

Okay bestie, this part is the compliance stuff ๐Ÿ’… It says which groups every SONET/SDH box has to implement and which ones are optional, and there are old (deprecated) and current versions ๐ŸŽ€

sonetCompliance MODULE-COMPLIANCE
    STATUS  deprecated
    DESCRIPTION
            "The compliance statement for SONET/SDH interfaces."

    MODULE  -- this module
        MANDATORY-GROUPS { sonetMediumStuff, sonetSectionStuff }

        GROUP       sonetLineStuff
        DESCRIPTION
            "Implementation of this group is mandatory for all
             SONET/SDH systems that terminate SONET/SDH Lines,
             Paths or Virtual Tributaries."

        GROUP       sonetFarEndLineStuff
        DESCRIPTION
            "Implementation of this group is optional for all
             SONET/SDH systems that terminate SONET/SDH Lines,
             Paths or Virtual Tributaries, and that
             provide for a far end block error (FEBE)
             information at the SONET/SDH Line Layer."

        GROUP       sonetPathStuff
        DESCRIPTION
            "Implementation of this group is mandatory for all
             SONET/SDH systems that terminate SONET/SDH
             Paths or Virtual Tributaries."

        OBJECT      sonetPathCurrentWidth
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        GROUP       sonetFarEndPathStuff
        DESCRIPTION
            "Implementation of this group is optional for all
             SONET/SDH systems that terminate SONET/SDH
             Paths or Virtual Tributaries, and that process
             Far End information."

        GROUP       sonetVTStuff
        DESCRIPTION
            "Implementation of this group is mandatory for all

             SONET/SDH systems that terminate SONET/SDH Virtual
             Tributaries."

        OBJECT      sonetVTCurrentWidth
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        GROUP       sonetFarEndVTStuff
        DESCRIPTION
            "Implementation of this group is optional for all
             SONET/SDH systems that terminate the SONET/SDH
             floating Virtual Tributaries, and that process
             Far End information."

    ::= { sonetCompliances 1 }


-- current compliance statements

sonetCompliance2 MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for SONET/SDH interfaces."

    MODULE  -- this module
        MANDATORY-GROUPS { sonetMediumStuff2, sonetSectionStuff2 }

        OBJECT      sonetMediumType
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      sonetMediumLineCoding
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      sonetMediumLineType
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      sonetMediumCircuitIdentifier
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      sonetMediumLoopbackConfig
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      sonetSESthresholdSet
        MIN-ACCESS  read-only
        DESCRIPTION
          "Write access is not required, and only one
          of the enumerated values need be supported."

        GROUP       sonetLineStuff2
        DESCRIPTION
            "Implementation of this group is mandatory for all
             SONET/SDH systems that terminate SONET/SDH Lines,
             Paths or Virtual Tributaries."

        GROUP       sonetFarEndLineStuff2
        DESCRIPTION
            "Implementation of this group is optional for all
             SONET/SDH systems that terminate SONET/SDH Lines,
             Paths or Virtual Tributaries, and that
             provide for a far end block error (FEBE)
             information at the SONET/SDH Line Layer."

        GROUP       sonetPathStuff2
        DESCRIPTION
            "Implementation of this group is mandatory for all
             SONET/SDH systems that terminate SONET/SDH
             Paths or Virtual Tributaries."

        OBJECT      sonetPathCurrentWidth
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        GROUP       sonetFarEndPathStuff2
        DESCRIPTION
            "Implementation of this group is optional for all
             SONET/SDH systems that terminate SONET/SDH
             Paths or Virtual Tributaries, and that process
             Far End information."

        GROUP       sonetVTStuff2
        DESCRIPTION
            "Implementation of this group is mandatory for all
             SONET/SDH systems that terminate SONET/SDH Virtual
             Tributaries."

        OBJECT      sonetVTCurrentWidth
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        GROUP       sonetFarEndVTStuff2
        DESCRIPTION
            "Implementation of this group is optional for all
             SONET/SDH systems that terminate the SONET/SDH
             floating Virtual Tributaries, and that process
             Far End information."

    ::= { sonetCompliances 2 }

-- units of conformance

-- deprecated groups

sonetMediumStuff    OBJECT-GROUP
    OBJECTS { sonetMediumType,
              sonetMediumTimeElapsed,
              sonetMediumValidIntervals,
              sonetMediumLineCoding,
              sonetMediumLineType,
              sonetMediumCircuitIdentifier }
    STATUS  deprecated
    DESCRIPTION
            "A collection of objects providing configuration
            information applicable to all SONET/SDH interfaces."
    ::= { sonetGroups 1 }

sonetSectionStuff    OBJECT-GROUP
    OBJECTS { sonetSectionCurrentStatus,
              sonetSectionCurrentESs,
              sonetSectionCurrentSESs,
              sonetSectionCurrentSEFSs,
              sonetSectionCurrentCVs,
              sonetSectionIntervalESs,
              sonetSectionIntervalSESs,
              sonetSectionIntervalSEFSs,
              sonetSectionIntervalCVs
 }
    STATUS  deprecated
    DESCRIPTION
            "A collection of objects providing information
            specific to SONET/SDH Section interfaces."
    ::= { sonetGroups 2 }

sonetLineStuff    OBJECT-GROUP
    OBJECTS { sonetLineCurrentStatus,
              sonetLineCurrentESs,
              sonetLineCurrentSESs,
              sonetLineCurrentCVs,
              sonetLineCurrentUASs,
              sonetLineIntervalESs,
              sonetLineIntervalSESs,
              sonetLineIntervalCVs,
              sonetLineIntervalUASs }
    STATUS  deprecated
    DESCRIPTION
            "A collection of objects providing information
            specific to SONET/SDH Line interfaces."
    ::= { sonetGroups 3 }

sonetFarEndLineStuff    OBJECT-GROUP
    OBJECTS { sonetFarEndLineCurrentESs,
              sonetFarEndLineCurrentSESs,
              sonetFarEndLineCurrentCVs,
              sonetFarEndLineCurrentUASs,
              sonetFarEndLineIntervalESs,
              sonetFarEndLineIntervalSESs,
              sonetFarEndLineIntervalCVs,
              sonetFarEndLineIntervalUASs }
    STATUS  deprecated
    DESCRIPTION
            "A collection of objects providing information
            specific to SONET/SDH Line interfaces,
            and maintaining Line Far End information."
    ::= { sonetGroups 4 }

sonetPathStuff    OBJECT-GROUP
    OBJECTS { sonetPathCurrentWidth,
              sonetPathCurrentStatus,
              sonetPathCurrentESs,
              sonetPathCurrentSESs,
              sonetPathCurrentCVs,
              sonetPathCurrentUASs,
              sonetPathIntervalESs,
              sonetPathIntervalSESs,
              sonetPathIntervalCVs,
              sonetPathIntervalUASs }
    STATUS  deprecated
    DESCRIPTION
            "A collection of objects providing information
            specific to SONET/SDH Path interfaces."
    ::= { sonetGroups 5 }

sonetFarEndPathStuff    OBJECT-GROUP
    OBJECTS { sonetFarEndPathCurrentESs,
              sonetFarEndPathCurrentSESs,
              sonetFarEndPathCurrentCVs,
              sonetFarEndPathCurrentUASs,
              sonetFarEndPathIntervalESs,
              sonetFarEndPathIntervalSESs,
              sonetFarEndPathIntervalCVs,
              sonetFarEndPathIntervalUASs }
    STATUS  deprecated
    DESCRIPTION
            "A collection of objects providing information
            specific to SONET/SDH Path interfaces,
            and maintaining Path Far End information."
    ::= { sonetGroups 6 }

sonetVTStuff    OBJECT-GROUP
    OBJECTS { sonetVTCurrentWidth,
              sonetVTCurrentStatus,
              sonetVTCurrentESs,
              sonetVTCurrentSESs,
              sonetVTCurrentCVs,
              sonetVTCurrentUASs,
              sonetVTIntervalESs,
              sonetVTIntervalSESs,
              sonetVTIntervalCVs,
              sonetVTIntervalUASs }
    STATUS  deprecated
    DESCRIPTION
            "A collection of objects providing information
            specific to SONET/SDH VT interfaces."
    ::= { sonetGroups 7 }

sonetFarEndVTStuff    OBJECT-GROUP
    OBJECTS { sonetFarEndVTCurrentESs,
              sonetFarEndVTCurrentSESs,
              sonetFarEndVTCurrentCVs,
              sonetFarEndVTCurrentUASs,
              sonetFarEndVTIntervalESs,
              sonetFarEndVTIntervalSESs,
              sonetFarEndVTIntervalCVs,
              sonetFarEndVTIntervalUASs }
    STATUS  deprecated
    DESCRIPTION
            "A collection of objects providing information
            specific to SONET/SDH VT interfaces,
            and maintaining VT Far End information."
    ::= { sonetGroups 8 }

Ngl, the mandatory-vs-optional labels in these groups are so clear ๐Ÿซถ Every box that terminates Lines, Paths or VTs has to do the mandatory stuff, and the far-end bits are optional ๐ŸŒธ

-- current groups

sonetMediumStuff2    OBJECT-GROUP
    OBJECTS { sonetMediumType,
              sonetMediumTimeElapsed,
              sonetMediumValidIntervals,
              sonetMediumLineCoding,
              sonetMediumLineType,
              sonetMediumCircuitIdentifier,
              sonetMediumInvalidIntervals,
              sonetMediumLoopbackConfig,
              sonetSESthresholdSet }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing configuration
            information applicable to all SONET/SDH interfaces."
    ::= { sonetGroups 9 }

sonetSectionStuff2    OBJECT-GROUP
    OBJECTS { sonetSectionCurrentStatus,
              sonetSectionCurrentESs,
              sonetSectionCurrentSESs,
              sonetSectionCurrentSEFSs,
              sonetSectionCurrentCVs,
              sonetSectionIntervalESs,
              sonetSectionIntervalSESs,
              sonetSectionIntervalSEFSs,
              sonetSectionIntervalCVs,
              sonetSectionIntervalValidData }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information
            specific to SONET/SDH Section interfaces."
    ::= { sonetGroups 10 }

sonetLineStuff2    OBJECT-GROUP
    OBJECTS { sonetLineCurrentStatus,
              sonetLineCurrentESs,
              sonetLineCurrentSESs,
              sonetLineCurrentCVs,
              sonetLineCurrentUASs,
              sonetLineIntervalESs,
              sonetLineIntervalSESs,
              sonetLineIntervalCVs,
              sonetLineIntervalUASs,
              sonetLineIntervalValidData }
    STATUS  current
    DESCRIPTION

            "A collection of objects providing information
            specific to SONET/SDH Line interfaces."
    ::= { sonetGroups 11 }

sonetPathStuff2    OBJECT-GROUP
    OBJECTS { sonetPathCurrentWidth,
              sonetPathCurrentStatus,
              sonetPathCurrentESs,
              sonetPathCurrentSESs,
              sonetPathCurrentCVs,
              sonetPathCurrentUASs,
              sonetPathIntervalESs,
              sonetPathIntervalSESs,
              sonetPathIntervalCVs,
              sonetPathIntervalUASs,
              sonetPathIntervalValidData }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information
            specific to SONET/SDH Path interfaces."
    ::= { sonetGroups 12 }

sonetVTStuff2    OBJECT-GROUP
    OBJECTS { sonetVTCurrentWidth,
              sonetVTCurrentStatus,
              sonetVTCurrentESs,
              sonetVTCurrentSESs,
              sonetVTCurrentCVs,
              sonetVTCurrentUASs,
              sonetVTIntervalESs,
              sonetVTIntervalSESs,
              sonetVTIntervalCVs,
              sonetVTIntervalUASs,
              sonetVTIntervalValidData }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information
            specific to SONET/SDH VT interfaces."
    ::= { sonetGroups 13 }

sonetFarEndLineStuff2    OBJECT-GROUP
    OBJECTS { sonetFarEndLineCurrentESs,
              sonetFarEndLineCurrentSESs,
              sonetFarEndLineCurrentCVs,
              sonetFarEndLineCurrentUASs,
              sonetFarEndLineIntervalESs,
              sonetFarEndLineIntervalSESs,
              sonetFarEndLineIntervalCVs,
              sonetFarEndLineIntervalUASs,
              sonetFarEndLineIntervalValidData }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information
            specific to SONET/SDH Line interfaces,
            and maintaining Line Far End information."
    ::= { sonetGroups 14 }

sonetFarEndPathStuff2    OBJECT-GROUP
    OBJECTS { sonetFarEndPathCurrentESs,
              sonetFarEndPathCurrentSESs,
              sonetFarEndPathCurrentCVs,
              sonetFarEndPathCurrentUASs,
              sonetFarEndPathIntervalESs,
              sonetFarEndPathIntervalSESs,
              sonetFarEndPathIntervalCVs,
              sonetFarEndPathIntervalUASs,
              sonetFarEndPathIntervalValidData }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information
            specific to SONET/SDH Path interfaces,
            and maintaining Path Far End information."
    ::= { sonetGroups 15 }

sonetFarEndVTStuff2    OBJECT-GROUP
    OBJECTS { sonetFarEndVTCurrentESs,
              sonetFarEndVTCurrentSESs,
              sonetFarEndVTCurrentCVs,
              sonetFarEndVTCurrentUASs,
              sonetFarEndVTIntervalESs,
              sonetFarEndVTIntervalSESs,
              sonetFarEndVTIntervalCVs,
              sonetFarEndVTIntervalUASs,
              sonetFarEndVTIntervalValidData }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information
            specific to SONET/SDH VT interfaces,
            and maintaining VT Far End information."
    ::= { sonetGroups 16 }


END

5. Acknowledgments โœจ

This specification is a product of the AToM MIB Working Group. ๐ŸŒธ The author would like to give a huge shoutout to Mike Heard for his many valuable contributions to this memo. ๐Ÿซถ

6. Security Considerations ๐Ÿ”

Okay bestie, this part is SUPER important, so please read it carefully. ๐Ÿ™ˆ There are a bunch of management objects in this MIB that have a MAX-ACCESS clause of read-write and/or read-create. ๐Ÿ˜ฌ Those objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations. ๐Ÿ’€

The managed objects in this MIB contain sensitive information, because collectively they allow influencing of interfaces in SONET/SDH equipment or networks, and they also provide information about their configuration. ๐Ÿ”ฅ

It is thus important to control even GET access to these objects, and possibly even to encrypt the values of these objects when sending them over the network via SNMP. ๐Ÿ”’ Not all versions of SNMP provide features for such a secure environment. ๐Ÿ˜ญ

SNMPv1 by itself is not a secure environment. Even if the network itself is secure (for example by using IPSec), there is still no control over who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB. ๐Ÿšจ

It is recommended that implementers consider the security features provided by the SNMPv3 framework. ๐Ÿ’œ Specifically, the use of the User-based Security Model RFC 2274 [12] and the View-based Access Control Model RFC 2275 [15] is recommended. ๐Ÿฆ‹

It is then a customer/user responsibility to ensure that the SNMP entity giving access to an instance of this MIB is properly configured to give access to the objects only to those principals (users) that have legitimate rights to actually GET or SET (change/create/delete) them. ๐Ÿ‘‘ That's the whole vibe: lock the door, only let in the people who should be there. ๐Ÿ’…

7. References โœจ

okay bestie, the references are the receipts ๐Ÿงพ๐Ÿ’… every single one is here, all 36 of them, exactly as written. no cap, if you're citing any of this you need the full details ๐Ÿค“

  • [1] Harrington, D., Presuhn, R. and B. Wijnen, "An tecture for Describing SNMP Management Frameworks", RFC 2271, January 1998.
  • [2] Rose, M. and K. McCloghrie, "Structure and Identification of Management Information for TCP/IP-based Internets", STD 16, RFC 1155, May 1990.
  • [3] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16, RFC 1212, March 1991.
  • [4] Rose, M., "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991
  • [5] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Structure of Management Information for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1902, January 1996.
  • [6] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Textual Conventions for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1903, January 1996.
  • [7] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Conformance Statements for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1904, January 1996.
  • [8] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple Network Management Protocol", STD 15, RFC 1157, May 1990.
  • [9] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Introduction to Community-based SNMPv2", RFC 1901, January 1996.
  • [10] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996.
  • [11] Case, J., Harrington D., Presuhn R. and B. Wijnen, "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2272, January 1998.
  • [12] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2274, January 1998.
  • [13] SNMPv2 Working Group, Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996.
  • [14] Levi, D., Meyer, P. and B. Stewart, SNMPv3 Applications", RFC 2273, January 1998.
  • [15] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2275, January 1998.
  • [16] McCloghrie, K. and M. Rose, "Management Information Base for Network Management of TCP/IP-based internets - MIB-II", STD 17, RFC 1213, March 1991.
  • [17] Information processing systems - Open Systems Interconnection - Specification of Abstract Syntax Notation One (ASN.1), International Organization for Standardization. International Standard 8824, (December, 1987).
  • [18] Information processing systems - Open Systems Interconnection - Specification of Basic Encoding Rules for Abstract Notation One (ASN.1), International Organization for Standardization. International Standard 8825, (December, 1987).
  • [19] American National Standard for Telecommunications - Digital Hierarchy - Optical Interface Rates and Formats Specification, ANSI T1.105-1988.
  • [20] American National Standard for Telecommunications - Digital Hierarchy - Optical Interface Rates and Formats Specification, ANSI T1.105-1991.
  • [21] American National Standard for Telecommunications - Digital Hierarchy - Optical Interface Specification (Single-Mode), ANSI T1.106-1988.
  • [22] Draft American National Standard for Telecommunications - Digital Hierarchy - Layer 1 In-Service Digital Transmission Performance Monitoring, T1M1.3/93-005R2, July 1993.
  • [23] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2233, November 1997.
  • [24] Fowler, D., "Definitions of Managed Objects for the DS3/E3 Interface Type", RFC 2496, January 1999.
  • [25] Fowler, D., "Definitions of Managed Objects for the DS1, E1, DS2 and E2 Interface Types", RFC 2495, January 1999.
  • [26] CCITT Recommendation G.707, "Synchronous Digital Hierarchy Bit Rates", June 1992.
  • [27] CCITT Recommendation G.708, "Network Node Interface for the Synchronous Digital Hierarchy", June 1992.
  • [28] CCITT Recommendation G.709, "Synchronous Multiplexing Structure", June 1992.
  • [29] CCITT Recommendation G.783, "Characteristics of Synchronous Digital Hierarchy (SDH) Multiplexing Equipment Functional Blocks", November 1992.
  • [30] Brown, T. and K. Tesink, "Definitions of Managed Objects for the SONET/SDH Interface Type", RFC 1595, March 1994.
  • [31] American National Standard for Telecommunications - Digital Hierarchy - Layer 1 In-Service Digital Transmission Performance Monitoring, ANSI T1.231-1993, September 1993.
  • [32] Bellcore TR-NWT-000253, Issue 1, "Synchronous Optical Network (SONET) Transport Systems: Common Generic Criteria", December 1991.
  • [33] ITU Recommendation G.826, "Error Performance Parameters and Objectives for International Constant Bit Rate Digital Paths at or above Primary Rate", September 1995 (COM 13-R57E).
  • [34] Bellcore GR-253-CORE, Issue 2, "Synchronous Optical Network (SONET) Transport Systems Common Generic Criteria", December 1995.
  • [35] American National Standard for Telecommunications - Digital Hierarchy - Layer 1 In-Service Digital Transmission Performance Monitoring, ANSI T1.231-1997, September 1997.
  • [36] Tesink, K., " Textual Conventions for MIB Modules Using Performance History Based on 15 Minute Intervals", RFC 2493, January 1999.

8. Author's Address ๐ŸŽ€

this is where you find Kaj, the author ๐Ÿฆ‹ the details are below, copied exactly ๐Ÿ’–

Kaj Tesink
Telcordia Technologies
331 Newman Springs Road
P.O. Box 7020
Red Bank, NJ  07701-7020

Phone: (732) 758-5254
EMail: kaj@research.telcordia.com

9. Intellectual Property ๐ŸŒธ

okay so this part is the legal-ish bit, but it's actually pretty simple ๐Ÿ™ˆ the IETF doesn't take a side on whether any intellectual property or other rights might apply to the tech in this doc, or how much of a license might be out there, and it doesn't say it has looked for any such rights either ๐Ÿซถ if you want the scoop on IETF rights procedures for standards-track and standards-related docs, that's in BCP-11 ๐Ÿ“š any claimed rights, promises of licenses, or attempts to get a general license or permission for implementers or users can be requested from the IETF Secretariat ๐Ÿ’œ

the IETF also invites anyone to flag any copyrights, patents, patent applications, or other proprietary rights that might cover tech needed to practice this standard โœจ send that info to the IETF Executive Director ๐Ÿ’…

Appendix A: The delay-line approach to statistics collection ๐Ÿงฎ

okay so ANSI T1.231 says unavailable time starts at the onset of 10 contiguous severely errored seconds, which means it starts with the first of those 10 SESs ๐Ÿ˜ญ. and while an interface is unavailable, all its counters are frozen except for the UAS count ๐ŸงŠ. the tricky part is that changes in signal state lag the data they apply to by 10 seconds. so if an implementation doesn't want to make retroactive adjustments to its counts, it needs to run the one-second statistics through a 10-second delay line before it updates any counters ๐ŸŽ€. you can do that by performing these steps at the end of each one-second interval:

  • i) Read the near-end and far-end line and path CV counts and alarm status flags from the hardware.
  • ii) Accumulate the CV counts for the preceding second and compare them to the ES and SES threshold for the layer in question. Update the signal state and shift the one-second CV counts and ES/SES flags into the 10-element delay line. Note that far-end one-second statistics are to be flagged as "absent" during any second in which there is an incoming defect at the layer in question or at any lower layer ๐Ÿšซ.
  • iii) Update the current interval statistics using the signal state from the previous update cycle and the one-second CV counts and ES/SES flags shifted out of the 10-element delay line ๐Ÿ’….

this procedure guarantees that the statistical counters will be correctly updated at all times, even though they lag real time by 10 seconds ๐Ÿฆ‹. here's the diagram, it's giving very flowchart:

+--------------------------------------------------------------+
|          READ COUNTERS & STATUS INFO FROM HARDWARE           |
|                                                              |
|LOS OOF/ SECT  LINE LINE LINE LINE  PATH PATH PATH PATH PATH  |
|    LOF   CV    AIS  CV   RDI FEBE   AIS  LOP  CV   RDI  CV   |
+--------------------------------------------------------------+
  |   |     |     |    |    |   |      |    |    |    |    |
  |   |     |     |    |    |   |      |    |    |    |    |
  V   V     V     V    V    V   V      V    V    V    V    V

+--------------------------------------------------------------+
| ACCUM ONE-SEC STATS, CHK ERR THRESHOLDS, & UPDT SIGNAL STATE |
|                                                              |
|                                                              |
|                  NEAR END/FAR END       NEAR END/FAR END     |
|SECT SECT SECT  LINE LINE LINE  LINE   PATH PATH PATH  PATH   |
|CV   ES   SES    CV   ES   SES AVA/UNA  CV   ES   SES AVA/UNA |
+--------------------------------------------------------------+
  |    |    |      |    |    |     |      |    |    |     |
  |    |    |      |    |    |     |      |    |    |     |
  V    V    V      V    V    V     |      V    V    V     |
+-------------+  +-------------+   |    +-------------+   |
|ONE-SEC DELAY|  |ONE-SEC DELAY|   |    |ONE-SEC DELAY|   |
| (1 OF 10)   |  | (1 OF 10)   |   |    | (1 OF 10)   |   |
|CV   ES   SES|  |CV   ES   SES|   |    |CV   ES   SES|   |
+-------------+  +-------------+   |    +-------------+   |
  |    |    |      |    |    |     |      |    |    |     |
  /    /    /      /    /    /     /      /    /    /     /
  /    /    /      /    /    /     /      /    /    /     /
  |    |    |      |    |    |     |      |    |    |     |
  V    V    V      V    V    V     |      V    V    V     |
+-------------+  +-------------+   |    +-------------+   |
|ONE-SEC DELAY|  |ONE-SEC DELAY|   |    |ONE-SEC DELAY|   |
| (10 OF 10)  |  | (10 OF 10)  |   |    | (10 OF 10)  |   |
|CV   ES   SES|  |CV   ES   SES|   |    |CV   ES   SES|   |
+-------------+  +-------------+   |    +-------------+   |
  |    |    |      |    |    |     |      |    |    |     |
  |    |    |      |    |    |     |      |    |    |     |
  V    V    V      V    V    V     V      V    V    V     V
+--------------------------------------------------------------+
|              UPDATE STATISTICS COUNTERS                      |
|                                                              |
|                   NEAR END/FAR END       NEAR END/FAR END    |
|   SECTION               LINE                   PATH          |
| CV ES EFS SES   CV ES EFS SES AS UAS   CV ES EFS SES AS UAS  |
+--------------------------------------------------------------+

at the end of each 15-minute interval, the current interval counts get moved into the most recent interval entry, and every interval shifts up by one spot. the oldest one gets tossed if it needs to make room ๐Ÿ—‘๏ธ. then the current interval counts start over from zero ๐ŸŒธ. but here's the vibe: the signal state calculation does not restart at each interval boundary. signal state info is retained across interval boundaries ๐Ÿง .

โš ๏ธ note: if you adopt this procedure, there is no current interval data for the first ten seconds after a system comes up. if a management station tries to access the current interval counters during that time, noSuchInstance must be returned.

it's an implementation-specific matter whether an agent assumes the interface's initial state is available or unavailable ๐Ÿคทโ€โ™€๏ธ.


Appendix B - RFC1595 SES interpretation ๐Ÿ“Š

this appendix has the values for x for the Section, Line, Path, and VT Layers, as used in [22][30][32]. slay the tables ๐Ÿ’œ.

             Value for x for SONET/SDH Section SES Definition

        Rate            x               Minimum Bit Error Rate
        =======================================================
        OC-1             9                      1.5 x 10^-7
        OC-3            16                        1 x 10^-7
        OC-9            47                        1 x 10^-7
        OC-12           63                        1 x 10^-7
        OC-18           94                        1 x 10^-7
        OC-24          125                        1 x 10^-7
        OC-36          187                        1 x 10^-7
        OC-48          249                        1 x 10^-7


             Value for x for SONET/SDH Line SES Definition

        Rate            x               Minimum Bit Error Rate
        =======================================================
        OC-1            12                       2 x 10^-7
        OC-3            32                       2 x 10^-7
        OC-9            47                       2 x 10^-7
        OC-12          124                       2 x 10^-7
        OC-18          186                       2 x 10^-7
        OC-24          248                       2 x 10^-7
        OC-36          370                       2 x 10^-7
        OC-48          494                       2 x 10^-7


             Value for x for SONET/SDH STS-Path SES Definition

        Rate            x               Minimum Bit Error Rate
        =======================================================
        STS-1            9                       1.5 x 10^-7
        STS-3           16                         1 x 10^-7

             Value for x for SONET/SDH VT-Path SES Definition

        Rate            x               Minimum Bit Error Rate
        =======================================================
        VT1.5            4                       2 x 10^-6
        VT2              6                       2 x 10^-6
        VT3              8                       2 x 10^-6
        VT6             14                       2 x 10^-6

okay the legal bit, but make it cute ๐Ÿซถ. this is the Copyright (C) The Internet Society (1999). All Rights Reserved.

the document and translations of it may be copied and furnished to others. derivative works that comment on or otherwise explain it, or help with implementing it, may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind. the one condition is that the above copyright notice and this paragraph are included on all such copies and derivative works ๐Ÿ“œ. however, this document itself may not be modified in any way, like removing the copyright notice or the references to the Internet Society or other Internet organizations. the exceptions are when it's needed for developing Internet standards (then the copyright procedures defined in the Internet Standards process must be followed), or when it's required to translate it into languages other than English ๐ŸŒ.

the limited permissions above are perpetual and will not be revoked by the Internet Society or its successors or assigns โ™พ๏ธ.

and the disclaimer, which is serious, so no cutesy changes:

"This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS 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." ๐Ÿฅน

๐Ÿ“ฆ where this page comes from