RFC 6768

ATM-Based xDSL Bonded Interfaces MIB

πŸ“… published February 2013, from ietf

RFC 6768: ATM-Based xDSL Bonded Interfaces MIB πŸŽ€

okay bestie, this one is a Standards Track doc from February 2013, and it's all about managing ATM-based bonded xDSL links. πŸ¦‹

  • Number: RFC 6768
  • Title: ATM-Based xDSL Bonded Interfaces MIB
  • Author: E. Beili, Actelis Networks
  • Category: Standards Track
  • Date: February 2013
  • ISSN: 2070-1721
  • Obsoletes / Updates: the title block doesn't list either one πŸ€·β€β™€οΈ

Abstract ✨

this doc defines a Management Information Base (MIB) module for network management protocols in TCP/IP-based internets. it's basically an extension to the GBOND-MIB module, adding a set of objects for managing ATM-based multi-pair bonded xDSL interfaces, as defined in ITU-T Recommendation G.998.1. it's giving management realness πŸ’…

Status of This Memo πŸ“‹

this is an Internet Standards Track document. it's a product of the Internet Engineering Task Force (IETF) and represents the consensus of the IETF community. it got public review and was approved for publication by the Internet Engineering Steering Group (IESG). if you want more on Internet Standards, check Section 2 of RFC 5741.

the current status, any errata, and feedback info live at http://www.rfc-editor.org/info/rfc6768 πŸ”—

Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved.

this document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication. please read these carefully, because they describe your rights and restrictions for this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they're provided without warranty as described in the Simplified BSD License.

Table of Contents 🧚

1. Introduction ....................................................2
2. The Internet-Standard Management Framework ......................3
3. The Broadband Forum Management Framework for xDSL Bonding .......3
4. Relationship to Other MIB Modules ...............................3
   4.1. Relationship to Interfaces Group MIB Module ................3
   4.2. Relationship to G.Bond MIB Module ..........................3
   4.3. Relationship to ATM MIB Module .............................4
5. MIB Structure ...................................................4
   5.1. Overview ...................................................4
   5.2. Performance Monitoring .....................................4
   5.3. Mapping of Broadband Forum TR-159 Managed Objects ..........5
6. G.Bond/ATM MIB Definitions ......................................7
7. Security Considerations ........................................31
8. IANA Considerations ............................................32
9. Acknowledgments ................................................32
10. References ....................................................32
    10.1. Normative References .....................................32
    10.2. Informative References ...................................33

1. Introduction 🌸

ATM-Based Multi-Pair Bonding (a.k.a. G.Bond/ATM) is specified in ITU-T Recommendation G.998.1 [G.998.1]. it defines a way to bond (or aggregate) multiple xDSL lines, or individual bearer channels in multiple xDSL lines, into one bidirectional logical link that carries an ATM stream. so many lines acting like one pipe, iconic 🌈

this spec can be seen as an evolution of the older Inverse Multiplexing for ATM (IMA) tech [AF-PHY-0086], applied to xDSL with variable rates on each line or bearer channel. like the other bonding schemes, ATM bonding also lets you bond up to 32 individual sub-layers with variable rates. it gives you common stuff for configuration, initialization, operation, and monitoring of the bonded link, which is very main character energy ✨

the MIB module in this doc defines a set of managed objects for managing G.998.1 bonded interfaces. it extends the common objects from the GBOND-MIB module [RFC6765] πŸ¦‹

2. The Internet-Standard Management Framework πŸ’–

if you want the full overview of the docs that describe the current Internet-Standard Management Framework, check section 7 of RFC 3410 [RFC3410] πŸ“š

managed objects are accessed through a virtual information store called the Management Information Base, or MIB. MIB objects are usually accessed through the Simple Network Management Protocol (SNMP). objects in the MIB are defined using the mechanisms in the Structure of Management Information (SMI). this memo specifies a MIB module that is compliant to SMIv2, which is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580] 🧠

the key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14, RFC 2119 [RFC2119]. these words are the official vocab, so they're capitalized on purpose πŸ’…

3. The Broadband Forum Management Framework for xDSL Bonding πŸ“

this document uses the Broadband Forum technical report "Management Framework for xDSL Bonding" [TR-159]. it defines a management model and a hierarchy of management objects for the bonded xDSL interfaces 🧚

4. Relationship to Other MIB Modules 🌈

this section explains how the MIB modules in this doc relate to other MIB modules in the relevant RFCs. specifically, it talks about the Interfaces Group MIB (IF-MIB) and the G.Bond MIB (GBOND-MIB). it's like a family tree, bestie 🌳

4.1. Relationship to Interfaces Group MIB Module πŸ¦‹

a G.Bond/ATM port is a private case of a bonded multi-pair xDSL interface, so it's managed using the generic interface management objects in the IF-MIB [RFC2863]. specifically, an interface index (ifIndex) indexes instances of G.Bond/ATM ports, and also xDSL lines and channels, in a managed system πŸ’œ

4.2. Relationship to G.Bond MIB Module πŸ’–

the GBOND-MIB module [RFC6765] defines the management objects common to all bonded multi-pair xDSL interfaces. it covers bonding management, bonded port and channel configuration, the initialization sequence, and more πŸ”₯

both the GBOND-MIB and G9981-MIB modules are REQUIRED to manage a G.Bond/ATM port. no skipping, periodt πŸ’…

4.3. Relationship to ATM MIB Module ✨

the ATM-MIB module [RFC2515] defines management objects for an ATM interface 🫢

the ATM-MIB module can be used to manage the ATM aspects of a G.Bond/ATM port 🌸

5. MIB Structure πŸŽ€

5.1. Overview πŸ‘‘

all management objects in the G9981-MIB module live in one group called g9981Port. that group is split into 4 sub-groups, structured the way RFC 4181 [RFC4181] recommends 🧩

  • g9981PortNotifications: holds the notifications (Up/Downstream Differential Delay Tolerance Exceeded).
  • g9981PortConfTable: holds the objects for configuring a G.Bond/ATM port.
  • g9981PortStatusTable: holds the objects that give overall status info for a G.Bond/ATM port. it complements the generic status info from the ifTable of the IF-MIB and the gBondFltStatus of the GBOND-MIB.
  • g9981PM: holds the historical Performance Monitoring (PM) info for a G.Bond/ATM port. it complements the PM info from the gBondPortPM of the GBOND-MIB.

the rest of the objects for Generic Bonding Sub-layer (GBS) port configuration, capabilities, status, notifications, and Performance Monitoring are in the GBOND-MIB module, so check there too πŸ’…

5.2. Performance Monitoring πŸ“ˆ

the OPTIONAL Performance Monitoring counters, thresholds, and history buckets (interval-counters) are implemented using the textual conventions from the HC-PerfHist-TC-MIB [RFC3705]. the HC-PerfHist-TC-MIB defines 64-bit versions of the textual conventions found in the PerfHist-TC-MIB [RFC3593] πŸ”’

the agent SHOULD align the start of each interval to a fifteen-minute boundary of the wall clock. likewise, the start of each one-day interval SHOULD be aligned with the start of a day ⏰

counters don't reset when a GBS is re-initialized. they only reset when the agent is reset or re-initialized πŸ”„

heads up, bestie: the accumulation of certain performance events for a monitored entity is inhibited (counting stops) during periods of service unavailability on that entity. the DESCRIPTION clause of the Performance Monitoring counters in this MIB module says which counters are inhibited during those periods πŸ™ˆ

5.3. Mapping of Broadband Forum TR-159 Managed Objects πŸ—ΊοΈ

this section maps the relevant managed objects (attributes) defined in [TR-159] to the managed objects defined in this doc πŸ’œ

+-----------------------------+-------------------------------------+
| TR-159 Managed Object       | Corresponding SNMP Object           |
+-----------------------------+-------------------------------------+
| oBondATM - Basic Package    |                                     |
| (Mandatory)                 |                                     |
+-----------------------------+-------------------------------------+
| aIMARxLostCells             | g9981PortStatRxLostCells            |
+-----------------------------+-------------------------------------+
| aIMAPeerRxLostCells         | g9981PortStatTxLostCells            |
+-----------------------------+-------------------------------------+
| aIMAMaxUpDiffDelay          | g9981PortStatMaxUpDiffDelay         |
+-----------------------------+-------------------------------------+
| aIMAMaxDownDiffDelay        | g9981PortStatMaxDnDiffDelay         |
+-----------------------------+-------------------------------------+
| aIMAUpDiffDelayTolerance    | g9981PortConfUpDiffDelayTolerance   |
+-----------------------------+-------------------------------------+
| aIMADownDiffDelayTolerance  | g9981PortConfDnDiffDelayTolerance   |
+-----------------------------+-------------------------------------+
| aIMADiffDelayToleranceExcee | g9981PortConfDiffDelayToleranceExce |
| dedEnable                   | ededEnable                          |
+-----------------------------+-------------------------------------+
| nIMAUpDiffDelayToleranceExc | g9981UpDiffDelayToleranceExceeded   |
| eeded                       |                                     |
+-----------------------------+-------------------------------------+
| nIMADownDiffDelayToleranceE | g9981DnDiffDelayToleranceExceeded   |
| xceeded                     |                                     |
+-----------------------------+-------------------------------------+

Table 1: Mapping of TR-159 Managed Objects πŸ“

some of the mapping between the TR-159 objects and the ones in this MIB module isn't one-to-one. for example, TR-159 PM attributes aGroupPerf* map to the matching gBondPortPm* objects of the GBOND-MIB module. but there are no dedicated PM attributes for the g9981PortPm* objects introduced here. since their definition is identical to the gBondPortPm* objects in GBOND-MIB, we can map g9981PortPm* to the relevant aGroupPerf* attributes of TR-159. the term 'partial mapping' is used to show that this mapping isn't one-to-one 🧩

6. G.Bond/ATM MIB Definitions ✨

okay so this is the actual MIB module, the part where the G.Bond/ATM stuff gets turned into real managed objects πŸ’… It IMPORTS a bunch of objects from SNMPv2-SMI [RFC2578], SNMPv2-TC [RFC2579], SNMPv2-CONF [RFC2580], IF-MIB [RFC2863], and HC-PerfHist-TC-MIB [RFC3705]. It's also structured the way [RFC4181] recommends, so it's giving organized and tidy πŸŽ€

G9981-MIB DEFINITIONS ::= BEGIN

  IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    mib-2,
    Unsigned32,
    Counter32
      FROM SNMPv2-SMI           -- RFC 2578
    TEXTUAL-CONVENTION,
    TruthValue
      FROM SNMPv2-TC            -- RFC 2579
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
      FROM SNMPv2-CONF          -- RFC 2580
    ifIndex
      FROM IF-MIB               -- RFC 2863
    HCPerfCurrentCount,
    HCPerfIntervalCount,
    HCPerfValidIntervals,
    HCPerfInvalidIntervals,
    HCPerfTimeElapsed
      FROM  HC-PerfHist-TC-MIB  -- RFC 3705
    ;
------------------------------------------------------------------------
  g9981MIB MODULE-IDENTITY
    LAST-UPDATED "201302200000Z"  -- 20 February 2013
    ORGANIZATION "IETF ADSL MIB Working Group"
    CONTACT-INFO
      "WG charter:
        http://datatracker.ietf.org/wg/adslmib/charter/

      Mailing Lists:
        General Discussion: adslmib@ietf.org
        To Subscribe: adslmib-request@ietf.org
        In Body: subscribe your_email_address

       Chair: Menachem Dodge
      Postal: ECI Telecom, Ltd.
              30 Hasivim St.,
              Petach-Tikva 4951169
              Israel
       Phone: +972-3-926-8421
       EMail: menachemdodge1@gmail.com

      Editor: Edward Beili
      Postal: Actelis Networks, Inc.
              25 Bazel St., P.O.B. 10173
              Petach-Tikva 49103
              Israel
       Phone: +972-3-924-3491
       EMail: edward.beili@actelis.com"

    DESCRIPTION
      "The objects in this MIB module are used to manage the
      multi-pair bonded xDSL interfaces using ATM inverse
      multiplexing, as defined in ITU-T Recommendation G.998.1
      (G.Bond/ATM).

      This MIB module MUST be used in conjunction with the GBOND-MIB
      module, common to all G.Bond technologies.

      The following references are used throughout this MIB module:

      [G.998.1] refers to:
        ITU-T Recommendation G.998.1: 'ATM-based multi-pair bonding',
        January 2005.

      [TR-159] refers to:
        Broadband Forum Technical Report: 'Management Framework for
        xDSL Bonding', December 2008.

      Naming Conventions:
        ATM   - Asynchronous Transfer Mode
        BCE   - Bonding Channel Entity
        BTU   - Bonding Terminating Unit
        CO    - Central Office
        CPE   - Customer Premises Equipment
        GBS   - Generic Bonding Sub-layer
        GBS-C - Generic Bonding Sub-layer, CO side
        GBS-R - Generic Bonding Sub-layer, RT (or CPE) side
        PM    - Performance Monitoring
        RT    - Remote Terminal
        SNR   - Signal to Noise Ratio
        SES   - Severely Errored Seconds
        UAS   - Unavailable Seconds

     Copyright (c) 2013 IETF Trust and the persons identified as
     authors of the code.  All rights reserved.

     Redistribution and use in source and binary forms, with or without
     modification, is permitted pursuant to, and subject to the license
     terms contained in, the Simplified BSD License set forth in Section
     4.c of the IETF Trust's Legal Provisions Relating to IETF Documents
     (http://trustee.ietf.org/license-info)."

    REVISION    "201302200000Z"  -- 20 February 2013
    DESCRIPTION "Initial version, published as RFC 6768."

    ::= { mib-2 208 }

   -- Sections of the module
   -- Structured as recommended by RFC 4181, Appendix D

   g9981Objects     OBJECT IDENTIFIER ::= { g9981MIB 1 }

   g9981Conformance OBJECT IDENTIFIER ::= { g9981MIB 2 }

   -- Groups in the module

   g9981Port        OBJECT IDENTIFIER ::= { g9981Objects 1 }

   -- Textual Conventions

   MilliSeconds ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "d"
     STATUS      current
     DESCRIPTION
       "Represents time unit value in milliseconds."
     SYNTAX      Unsigned32

   -- Port Notifications group

   g9981PortNotifications OBJECT IDENTIFIER
     ::= { g9981Port 0 }

   g9981UpDiffDelayToleranceExceeded NOTIFICATION-TYPE
     OBJECTS {
       -- ifIndex is not needed here, since we are under specific GBS
       g9981PortConfUpDiffDelayTolerance,
       g9981PortStatMaxUpDiffDelay
     }
     STATUS      current
     DESCRIPTION
       "This notification indicates that the maximum upstream
       differential delay has exceeded the max upstream differential
       delay threshold, specified by
       g9981PortConfUpDiffDelayTolerance.

       This notification MAY be sent for the GBS-C ports while the
       port is 'up', on the crossing event in both directions: from
       normal (diff. delay is above the threshold) to low (diff.
       delay equals the threshold or is below it) and from low to
       normal.  This notification is not applicable to the GBS-R
       ports.

       Generation of this notification is controlled by the
       g9981PortConfDiffDelayToleranceExceededEnable attribute.

       This object maps to the TR-159 notification
       nIMAUpDiffDelayToleranceExceeded."
     REFERENCE
       "[TR-159], Section 5.5.2.8"
     ::= { g9981PortNotifications 1 }

   g9981DnDiffDelayToleranceExceeded NOTIFICATION-TYPE
     OBJECTS {
       -- ifIndex is not needed here, since we are under specific GBS
       g9981PortConfDnDiffDelayTolerance,
       g9981PortStatMaxDnDiffDelay
     }
     STATUS      current
     DESCRIPTION
       "This notification indicates that the maximum downstream
       differential delay has exceeded the max downstream
       differential delay threshold, specified by
       g9981PortConfDnDiffDelayTolerance.

       This notification MAY be sent for the GBS-C ports while the
       port is 'up', on the crossing event in both directions: from
       normal (diff. delay is above the threshold) to low (diff.
       delay equals the threshold or is below it) and from low to
       normal.  This notification is not applicable to the GBS-R
       ports.

       Generation of this notification is controlled by the
       g9981PortConfDiffDelayToleranceExceededEnable attribute.

       This object maps to the TR-159 notification
       nIMADownDiffDelayToleranceExceeded."
     REFERENCE
       "[TR-159], Section 5.5.2.9"
     ::= { g9981PortNotifications 2 }

   -- G.Bond/ATM Port group

   g9981PortConfTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF G9981PortConfEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "Table for configuration of G.Bond/ATM ports.  Entries in
       this table MUST be maintained in a persistent manner."
     ::= { g9981Port 1 }

   g9981PortConfEntry OBJECT-TYPE
     SYNTAX      G9981PortConfEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An entry in the G.Bond/ATM Port Configuration table.
       Each entry represents a G.Bond/ATM port indexed by the
       ifIndex.  Additional configuration parameters are available
       via the gBondPortConfEntry of the GBOND-MIB.
       Note that a G.Bond/ATM port runs on top of a single or
       multiple BCE port(s), which are also indexed by the ifIndex."
     INDEX  { ifIndex }
     ::= { g9981PortConfTable 1 }

   G9981PortConfEntry ::=
     SEQUENCE {
       g9981PortConfUpDiffDelayTolerance             MilliSeconds,
       g9981PortConfDnDiffDelayTolerance             MilliSeconds,
       g9981PortConfDiffDelayToleranceExceededEnable TruthValue
     }

   g9981PortConfUpDiffDelayTolerance  OBJECT-TYPE
     SYNTAX      MilliSeconds (0..2047)
     UNITS       "milliseconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
       "A maximum tolerated upstream differential delay (among
       the member BCEs) of a G.Bond/ATM port, expressed in ms.

       This object is read-write for the GBS-C ports.
       It is irrelevant for the GBS-R ports -- an attempt to read or
       change this object MUST be rejected (in the case of SNMP, with
       the error inconsistentValue).

       This object maps to the TR-159 attribute
       aIMAUpDiffDelayTolerance."
     REFERENCE
       "[TR-159], Section 5.5.2.5; [G.998.1], Section 11.4.1 (6)"
     ::= { g9981PortConfEntry 1 }

   g9981PortConfDnDiffDelayTolerance  OBJECT-TYPE
     SYNTAX      MilliSeconds (0..2047)
     UNITS       "milliseconds"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
       "A maximum tolerated downstream differential delay (among
       the member BCEs) of a G.Bond/ATM port, expressed in ms.

       This object is read-write for the GBS-C ports.
       It is irrelevant for the GBS-R ports -- an attempt to read or
       change this object MUST be rejected (in the case of SNMP, with
       the error inconsistentValue).

       This object maps to the TR-159 attribute
       aIMADownDiffDelayTolerance."
     REFERENCE
       "[TR-159], Section 5.5.2.6; [G.998.1], Section 11.4.1 (6)"
     ::= { g9981PortConfEntry 2 }

   g9981PortConfDiffDelayToleranceExceededEnable  OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
       "Indicates whether g9981UpDiffDelayToleranceExceeded and
       g9981DnDiffDelayToleranceExceeded notifications should
       be generated for G.Bond/ATM port.

       A value of true(1) indicates that the notifications are enabled.
       A value of false(2) indicates that the notifications are
       disabled.

       This object is read-write for the GBS-C.
       It is irrelevant for the GBS-R ports -- an attempt to read or
       change this object MUST be rejected (in the case of SNMP, with
       the error inconsistentValue).

       This object maps to the TR-159 attribute
       aIMADiffDelayToleranceExceededEnable."
     REFERENCE
       "[TR-159], Section 5.5.5.7"
     ::= { g9981PortConfEntry 3 }


   g9981PortStatTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF G9981PortStatEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "This table provides overall status information of G.Bond/ATM
       ports, complementing the generic status information from the
       ifTable of the IF-MIB and the gBondFltStatus of the GBOND-MIB.
       Additional status information about connected BCEs is available
       from the relevant line MIBs.

       This table contains live data from the equipment.  As such, it
       is NOT persistent."
     ::= { g9981Port 2 }

   g9981PortStatEntry OBJECT-TYPE
     SYNTAX      G9981PortStatEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An entry in the G.Bond/ATM Port Status table.
       Each entry represents a G.Bond/ATM port indexed by the
       ifIndex.
       Note that a GBS port runs on top of a single or multiple BCE
       port(s), which are also indexed by the ifIndex."
     INDEX  { ifIndex }
     ::= { g9981PortStatTable 1 }

   G9981PortStatEntry ::=
     SEQUENCE {
       g9981PortStatRxLostCells      Counter32,
       g9981PortStatTxLostCells      Counter32,
       g9981PortStatMaxUpDiffDelay   Unsigned32,
       g9981PortStatMaxDnDiffDelay   Unsigned32
     }

   g9981PortStatRxLostCells  OBJECT-TYPE
     SYNTAX      Counter32
     UNITS       "cells"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "The number of lost ATM cells detected by the G.Bond/ATM port
       in the receive direction (e.g., upstream direction for
       a GBS-C port).

       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other times
       as indicated by the value of ifCounterDiscontinuityTime as
       defined in the IF-MIB.
       This object maps to the TR-159 attribute aIMARxLostCells."
     REFERENCE
       "[TR-159], Section 5.5.2.1; [G.998.1], Section 11.4.2 (4)"
     ::= { g9981PortStatEntry 1 }

   g9981PortStatTxLostCells  OBJECT-TYPE
     SYNTAX      Counter32
     UNITS       "cells"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "The number of lost ATM cells detected by the peer G.Bond/ATM
       port in the receive direction, i.e., downstream direction for a
       GBS-C port.

       This object is irrelevant for the GBS-R ports -- an attempt to
       read it MUST be rejected (in the case of SNMP, with the error
       inconsistentValue).

       Discontinuities in the value of this counter can occur at
       re-initialization of the management system, and at other times
       as indicated by the value of ifCounterDiscontinuityTime as
       defined in the IF-MIB.

       This object maps to the TR-159 attribute aIMAPeerRxLostCells."
     REFERENCE
       "[TR-159], Section 5.5.2.2; [G.998.1], Section 11.4.2 (4)"
     ::= { g9981PortStatEntry 2 }

   g9981PortStatMaxUpDiffDelay  OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS       "0.1 ms"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "Current maximum upstream differential delay between all
       operational BCEs in the G.Bond/ATM bonding group, measured in
       units of 0.1 ms.

       This object is read-only for the GBS-C ports.
       It is irrelevant for the GBS-R ports -- an attempt to read this
       object MUST be rejected (in the case of SNMP, with the error
       inconsistentValue).

       This object maps to the TR-159 attribute aIMAMaxUpDiffDelay."
     REFERENCE
       "[TR-159], Section 5.5.2.3"
     ::= { g9981PortStatEntry 3 }

   g9981PortStatMaxDnDiffDelay  OBJECT-TYPE
     SYNTAX      Unsigned32
     UNITS       "0.1 ms"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "Current maximum downstream differential delay between all
       operational BCEs in the G.Bond/ATM bonding group, measured in
       units of 0.1 ms.

       This object is read-only for the GBS-C ports.
       It is irrelevant for the GBS-R ports -- an attempt to read this
       object MUST be rejected (in the case of SNMP, with the error
       inconsistentValue).

       This object maps to the TR-159 attribute aIMAMaxDownDiffDelay."
     REFERENCE
       "[TR-159], Section 5.5.2.4"
     ::= { g9981PortStatEntry 4 }

Okay bestie, now we're entering the Performance Monitoring group πŸ“Šβœ¨ this is where the counters get their own little spotlight πŸŽ€

   -------------------------------
   -- Performance Monitoring group
   -------------------------------

   g9981PM   OBJECT IDENTIFIER ::= { g9981Port 3 }

   g9981PortPmCurTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF G9981PortPmCurEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "This table contains current Performance Monitoring information
       for a G.Bond/ATM port.  This table contains live data from the
       equipment and as such is NOT persistent."
     ::= { g9981PM 1 }

   g9981PortPmCurEntry OBJECT-TYPE
     SYNTAX      G9981PortPmCurEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An entry in the G.Bond/ATM Port PM table.
       Each entry represents a G.Bond/ATM port indexed by the
       ifIndex."
     INDEX  { ifIndex }
     ::= { g9981PortPmCurTable 1 }

   G9981PortPmCurEntry ::=
     SEQUENCE {
       g9981PortPmCur15MinValidIntervals   HCPerfValidIntervals,
       g9981PortPmCur15MinInvalidIntervals HCPerfInvalidIntervals,
       g9981PortPmCur15MinTimeElapsed      HCPerfTimeElapsed,
       g9981PortPmCur15MinRxLostCells      HCPerfCurrentCount,
       g9981PortPmCur15MinTxLostCells      HCPerfCurrentCount,
       g9981PortPmCur15MinUpDiffDelay      HCPerfCurrentCount,
       g9981PortPmCur15MinDnDiffDelay      HCPerfCurrentCount,
       g9981PortPmCur1DayValidIntervals    Unsigned32,
       g9981PortPmCur1DayInvalidIntervals  Unsigned32,
       g9981PortPmCur1DayTimeElapsed       HCPerfTimeElapsed,
       g9981PortPmCur1DayRxLostCells       HCPerfCurrentCount,
       g9981PortPmCur1DayTxLostCells       HCPerfCurrentCount,
       g9981PortPmCur1DayUpDiffDelay       HCPerfCurrentCount,
       g9981PortPmCur1DayDnDiffDelay       HCPerfCurrentCount
     }

   g9981PortPmCur15MinValidIntervals  OBJECT-TYPE
     SYNTAX      HCPerfValidIntervals
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only number of 15-minute intervals for which the
       performance data was collected.  The value of this object will
       be 96 or the maximum number of 15-minute history intervals
       collected by the implementation, unless the measurement was
       (re)started recently, in which case the value will be the
       number of complete 15-minute intervals for which there are at
       least some data.

       In certain cases, it is possible that some intervals are
       unavailable.  In this case, this object reports the maximum
       interval number for which data is available.

       This object partially maps to the TR-159 attribute
       aGroupPerf15MinValidIntervals."
     REFERENCE
       "[TR-159], Section 5.5.1.32"
     ::= { g9981PortPmCurEntry 1 }

   g9981PortPmCur15MinInvalidIntervals  OBJECT-TYPE
     SYNTAX      HCPerfInvalidIntervals
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only number of 15-minute intervals for which the
       performance data was not always available.  The value will
       typically be zero, except in cases where the data for some
       intervals are not available.

       This object partially maps to the TR-159 attribute
       aGroupPerf15MinInvalidIntervals."
     REFERENCE
       "[TR-159], Section 5.5.1.33"
     ::= { g9981PortPmCurEntry 2 }

   g9981PortPmCur15MinTimeElapsed  OBJECT-TYPE
     SYNTAX      HCPerfTimeElapsed
     UNITS       "seconds"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of seconds that have elapsed since the
       beginning of the current 15-minute performance interval.

       This object partially maps to the TR-159 attribute
       aGroupPerfCurr15MinTimeElapsed."
     REFERENCE
       "[TR-159], Section 5.5.1.34"
     ::= { g9981PortPmCurEntry 3 }

   g9981PortPmCur15MinRxLostCells  OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     UNITS       "cells"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of lost ATM cells detected by a G.Bond/ATM
       port (e.g., the GBS-C) in the receive direction, during the
       current 15-minute performance history interval.

       Note that the total number of lost ATM cells is indicated by the
       g9981PortStatRxLostCells object.

       This object is inhibited during Severely Errored Seconds (SES)
       or Unavailable Seconds (UAS)."
     REFERENCE
       "[TR-159], Section 5.5.2.1"
     ::= { g9981PortPmCurEntry 4}

   g9981PortPmCur15MinTxLostCells  OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     UNITS       "cells"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of lost ATM cells detected by the peer
       G.Bond/ATM port (e.g., by the GBS-R for the GBS-C) during the
       current 15-minute performance history interval.

       Note that the total number of lost ATM cells is indicated by the
       g9981PortStatTxLostCells object.

       This object is inhibited during Unavailable Seconds (UAS)."
     REFERENCE
       "[TR-159], Section 5.5.2.2"
     ::= { g9981PortPmCurEntry 5}

   g9981PortPmCur15MinUpDiffDelay  OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     UNITS       "0.1 ms"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only value specifying the maximum upstream differential
       delay between all operational BCEs in the GBS-C, measured in
       units of 0.1 ms, during the current 15-minute performance
       interval.

       Note that the current max upstream differential delay is
       indicated by the g9981PortStatMaxUpDiffDelay object.

       This object is inhibited during Unavailable Seconds (UAS)."

     REFERENCE
       "[TR-159], Section 5.5.2.3"
     ::= { g9981PortPmCurEntry 6}

   g9981PortPmCur15MinDnDiffDelay  OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     UNITS       "0.1 ms"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only value specifying the maximum downstream
       differential delay between all operational BCEs in the GBS-C
       (as perceived by the GBS-R), measured in units of 0.1 ms,
       during the current 15-minute performance history interval.

       Note that the current max downstream differential delay is
       indicated by the g9981PortStatMaxDnDiffDelay object.

       This object is inhibited during Unavailable Seconds (UAS)."
     REFERENCE
       "[TR-159], Section 5.5.2.4"
     ::= { g9981PortPmCurEntry 7}

   g9981PortPmCur1DayValidIntervals  OBJECT-TYPE
     SYNTAX      Unsigned32 (0..7)
     UNITS       "days"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only number of 1-day intervals for which data was
       collected.  The value of this object will be 7 or the maximum
       number of 1-day history intervals collected by the
       implementation, unless the measurement was (re)started recently,
       in which case the value will be the number of complete 1-day
       intervals for which there are at least some data.
       In certain cases, it is possible that some intervals are
       unavailable.  In this case, this object reports the maximum
       interval number for which data is available."
     REFERENCE
       "[TR-159], Section 5.5.1.45"
     ::= { g9981PortPmCurEntry 8 }

   g9981PortPmCur1DayInvalidIntervals  OBJECT-TYPE
     SYNTAX      Unsigned32 (0..7)
     UNITS       "days"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only number of 1-day intervals for which data was
       not always available.  The value will typically be zero, except
       in cases where the data for some intervals are not available."
     REFERENCE
       "[TR-159], Section 5.5.1.46"
     ::= { g9981PortPmCurEntry 9 }

   g9981PortPmCur1DayTimeElapsed  OBJECT-TYPE
     SYNTAX      HCPerfTimeElapsed
     UNITS       "seconds"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of seconds that have elapsed since the
       beginning of the current 1-day performance interval."
     REFERENCE
       "[TR-159], Section 5.5.1.47"
     ::= { g9981PortPmCurEntry 10 }

   g9981PortPmCur1DayRxLostCells  OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     UNITS       "cells"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of lost ATM cells detected by the G.Bond/ATM
       port (e.g., the GBS-C) during the current 1-day performance
       interval.

       This object is inhibited during Severely Errored Seconds (SES)
       and Unavailable Seconds (UAS)."
     ::= { g9981PortPmCurEntry 11 }

   g9981PortPmCur1DayTxLostCells OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     UNITS       "cells"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of lost ATM cells detected by the peer
       G.Bond/ATM port (e.g., by the GBS-R for the GBS-C) during the
       current 1-day performance history interval.

       This object is inhibited during Unavailable Seconds (UAS)."
     ::= { g9981PortPmCurEntry 12 }

g9981PortPmCur1DayUpDiffDelay OBJECT-TYPE SYNTAX HCPerfCurrentCount UNITS "0.1 ms" MAX-ACCESS read-only STATUS current DESCRIPTION "A read-only value specifying the maximum upstream differential delay between all operational BCEs in the GBS-C, measured in units of 0.1 ms, during the current 1-day performance interval.

This object is inhibited during Unavailable Seconds (UAS)." ::= { g9981PortPmCurEntry 13 }

g9981PortPmCur1DayDnDiffDelay OBJECT-TYPE SYNTAX HCPerfCurrentCount UNITS "0.1 ms" MAX-ACCESS read-only STATUS current DESCRIPTION "A read-only value specifying the maximum downstream differential delay between all operational BCEs in the GBS-C, measured in units of 0.1 ms, during the current 1-day performance interval.

This object is inhibited during Unavailable Seconds (UAS)." ::= { g9981PortPmCurEntry 14 }

-- Port PM history: 15-min buckets

g9981PortPm15MinTable OBJECT-TYPE SYNTAX SEQUENCE OF G9981PortPm15MinEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains historical 15-minute buckets of Performance Monitoring information for a G.Bond/ATM port (a row for each 15-minute interval, up to 96 intervals). Entries in this table MUST be maintained in a persistent manner." ::= { g9981PM 2 }

g9981PortPm15MinEntry OBJECT-TYPE SYNTAX G9981PortPm15MinEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the G.Bond/ATM Port historical 15-minute PM table. Each entry represents Performance Monitoring data for a G.Bond/ATM port, indexed by the ifIndex, collected during a particular 15-minute interval, indexed by the g9981PortPm15MinIntervalIndex." INDEX { ifIndex, g9981PortPm15MinIntervalIndex } ::= { g9981PortPm15MinTable 1 }

G9981PortPm15MinEntry ::= SEQUENCE { g9981PortPm15MinIntervalIndex Unsigned32, g9981PortPm15MinIntervalMoniTime HCPerfTimeElapsed, g9981PortPm15MinIntervalRxLostCells HCPerfIntervalCount, g9981PortPm15MinIntervalTxLostCells HCPerfIntervalCount, g9981PortPm15MinIntervalUpDiffDelay HCPerfIntervalCount, g9981PortPm15MinIntervalDnDiffDelay HCPerfIntervalCount, g9981PortPm15MinIntervalValid TruthValue }

g9981PortPm15MinIntervalIndex OBJECT-TYPE SYNTAX Unsigned32 (1..96) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Performance data interval number. 1 is the most recent previous interval; interval 96 is 24 hours ago. Intervals 2..96 are OPTIONAL.

This object partially maps to the TR-159 attribute aGroupPerf15MinIntervalNumber." REFERENCE "[TR-159], Section 5.5.1.57" ::= { g9981PortPm15MinEntry 1 }

g9981PortPm15MinIntervalMoniTime OBJECT-TYPE SYNTAX HCPerfTimeElapsed UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "A read-only count of seconds over which the performance data was actually monitored. This value will be the same as the interval duration (900 seconds), except in a situation where performance data could not be collected for any reason." ::= { g9981PortPm15MinEntry 2 }

g9981PortPm15MinIntervalRxLostCells OBJECT-TYPE SYNTAX HCPerfIntervalCount UNITS "cells" MAX-ACCESS read-only STATUS current DESCRIPTION "A read-only count of lost ATM cells detected by a G.Bond/ATM port (e.g., the GBS-C) in the receive direction, during the 15-minute performance history interval.

Note that the total number of lost ATM cells is indicated by the g9981PortStatRxLostCells object.

This object is inhibited during Severely Errored Seconds (SES) or Unavailable Seconds (UAS)." REFERENCE "[TR-159], Section 5.5.2.1" ::= { g9981PortPm15MinEntry 3 }

g9981PortPm15MinIntervalTxLostCells OBJECT-TYPE SYNTAX HCPerfIntervalCount UNITS "cells" MAX-ACCESS read-only STATUS current DESCRIPTION "A read-only count of lost ATM cells detected by the peer G.Bond/ATM port (e.g., by the GBS-R for the GBS-C) during the 15-minute performance history interval.

Note that the total number of lost ATM cells is indicated by the g9981PortStatTxLostCells object.

This object is inhibited during Unavailable Seconds (UAS)." REFERENCE "[TR-159], Section 5.5.2.2" ::= { g9981PortPm15MinEntry 4 }

g9981PortPm15MinIntervalUpDiffDelay OBJECT-TYPE SYNTAX HCPerfIntervalCount UNITS "0.1 ms" MAX-ACCESS read-only STATUS current DESCRIPTION "A read-only value specifying the maximum upstream differential delay between all operational BCEs in the GBS, measured in units of 0.1 ms, during the 15-minute performance history interval.

Note that the current max upstream differential delay is indicated by the g9981PortStatMaxUpDiffDelay object.

This object is inhibited during Unavailable Seconds (UAS)."

REFERENCE "[TR-159], Section 5.5.2.3" ::= { g9981PortPm15MinEntry 5 }

g9981PortPm15MinIntervalDnDiffDelay OBJECT-TYPE SYNTAX HCPerfIntervalCount UNITS "0.1 ms" MAX-ACCESS read-only STATUS current DESCRIPTION "A read-only value specifying the maximum downstream differential delay between all operational BCEs in the GBS, as perceived by its peer port, measured in units of 0.1 ms, during the 15-minute performance history interval.

Note that the current max downstream differential delay is indicated by the g9981PortStatMaxDnDiffDelay object.

This object is inhibited during Unavailable Seconds (UAS)." REFERENCE "[TR-159], Section 5.5.2.4" ::= { g9981PortPm15MinEntry 6 }

g9981PortPm15MinIntervalValid OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "A read-only object indicating whether or not this history bucket contains valid data. A valid bucket is reported as true(1) and an invalid bucket as false(2). If this history bucket is invalid, the BTU MUST NOT produce notifications based upon the value of the counters in this bucket. Note that an implementation may decide not to store invalid history buckets in its database. In such a case, this object is not required, as only valid history buckets are available while invalid history buckets are simply not in the database.

This object partially maps to the TR-159 attribute aGroupPerf15MinIntervalValid." REFERENCE "[TR-159], Section 5.5.1.58" ::= { g9981PortPm15MinEntry 7 }

-- Port PM history: 1-day buckets

g9981PortPm1DayTable OBJECT-TYPE SYNTAX SEQUENCE OF G9981PortPm1DayEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains historical 1-day buckets of Performance Monitoring information for a G.Bond/ATM port (a row for each 1-day interval, up to 7 intervals). Entries in this table MUST be maintained in a persistent manner." ::= { g9981PM 3 }

g9981PortPm1DayEntry OBJECT-TYPE SYNTAX G9981PortPm1DayEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry in the G.Bond/ATM Port historical 1-day PM table. Each entry represents Performance Monitoring data for such a port, indexed by the ifIndex, collected during a particular 1-day interval, indexed by the g9981PortPm1DayIntervalIndex." INDEX { ifIndex, g9981PortPm1DayIntervalIndex } ::= { g9981PortPm1DayTable 1 }

G9981PortPm1DayEntry ::= SEQUENCE { g9981PortPm1DayIntervalIndex Unsigned32, g9981PortPm1DayIntervalMoniTime HCPerfTimeElapsed, g9981PortPm1DayIntervalRxLostCells HCPerfIntervalCount, g9981PortPm1DayIntervalTxLostCells HCPerfIntervalCount, g9981PortPm1DayIntervalUpDiffDelay HCPerfIntervalCount, g9981PortPm1DayIntervalDnDiffDelay HCPerfIntervalCount, g9981PortPm1DayIntervalValid TruthValue }

g9981PortPm1DayIntervalIndex OBJECT-TYPE SYNTAX Unsigned32 (1..7) MAX-ACCESS not-accessible STATUS current DESCRIPTION "Performance data interval number. 1 is the most recent previous interval; interval 7 is 24 hours ago. Intervals 2..7 are OPTIONAL.

This object partially maps to the TR-159 attribute aGroupPerf1DayIntervalNumber."

REFERENCE "[TR-159], Section 5.5.1.62" ::= { g9981PortPm1DayEntry 1 }

g9981PortPm1DayIntervalMoniTime OBJECT-TYPE SYNTAX HCPerfTimeElapsed UNITS "seconds" MAX-ACCESS read-only STATUS current DESCRIPTION "A count of seconds over which the performance data was actually monitored. This value will be the same as the interval duration (86400 seconds), except in a situation where performance data could not be collected for any reason.

This object partially maps to the TR-159 attribute aGroupPerf1DayIntervalMoniSecs." REFERENCE "[TR-159], Section 5.5.1.64" ::= { g9981PortPm1DayEntry 2 }

g9981PortPm1DayIntervalRxLostCells OBJECT-TYPE SYNTAX HCPerfIntervalCount UNITS "cells" MAX-ACCESS read-only STATUS current DESCRIPTION "A count of lost ATM cells detected by the G.Bond/ATM port (e.g., the GBS-C) during the 1-day performance history interval.

This object is inhibited during Severely Errored Seconds (SES) and Unavailable Seconds (UAS)." ::= { g9981PortPm1DayEntry 3 }

g9981PortPm1DayIntervalTxLostCells OBJECT-TYPE SYNTAX HCPerfIntervalCount UNITS "cells" MAX-ACCESS read-only STATUS current DESCRIPTION "A count of lost ATM cells detected by the peer G.Bond/ATM port (e.g., by the GBS-R for the GBS-C) during the 1-day performance history interval.

This object is inhibited during Unavailable Seconds (UAS)." ::= { g9981PortPm1DayEntry 4 }

g9981PortPm1DayIntervalUpDiffDelay OBJECT-TYPE SYNTAX HCPerfIntervalCount UNITS "0.1 ms" MAX-ACCESS read-only STATUS current DESCRIPTION "A read-only value specifying the maximum upstream differential delay between all operational BCEs in the GBS-C, measured in units of 0.1 ms, during the 1-day performance history interval.

This object is inhibited during Unavailable Seconds (UAS)." ::= { g9981PortPm1DayEntry 5 }

g9981PortPm1DayIntervalDnDiffDelay OBJECT-TYPE SYNTAX HCPerfIntervalCount UNITS "0.1 ms" MAX-ACCESS read-only STATUS current DESCRIPTION "A read-only value specifying the maximum downstream differential delay between all operational BCEs in the GBS-C, measured in units of 0.1 ms, during the 1-day performance history interval.

This object is inhibited during Unavailable Seconds (UAS)." ::= { g9981PortPm1DayEntry 6 }

   g9981PortPm1DayIntervalValid  OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only object indicating whether or not this history
       bucket contains valid data.  A valid bucket is reported as
       true(1) and an invalid bucket as false(2).
       If this history bucket is invalid, the BTU MUST NOT produce
       notifications based upon the value of the counters in this
       bucket.
       Note that an implementation may decide not to store invalid
       history buckets in its database.  In such a case, this object
       is not required, as only valid history buckets are available
       while invalid history buckets are simply not in the database.

       This object partially maps to the TR-159 attribute
       aGroupPerf1DayIntervalValid."
     REFERENCE
       "[TR-159], Section 5.5.1.63"
     ::= { g9981PortPm1DayEntry 7 }

  --
  -- Conformance Statements
  --

   g9981Groups      OBJECT IDENTIFIER
     ::= { g9981Conformance 1 }

   g9981Compliances OBJECT IDENTIFIER
     ::= { g9981Conformance 2 }

   -- Object Groups

   g9981BasicGroup OBJECT-GROUP
     OBJECTS {
       g9981PortStatRxLostCells,
       g9981PortStatTxLostCells,
       g9981PortStatMaxUpDiffDelay,
       g9981PortStatMaxDnDiffDelay
     }
     STATUS      current
     DESCRIPTION
       "A collection of objects representing management information
       for a G.Bond/ATM port."
     ::= { g9981Groups 1 }

   g9981AlarmConfGroup OBJECT-GROUP
     OBJECTS {
       g9981PortConfUpDiffDelayTolerance,
       g9981PortConfDnDiffDelayTolerance,
       g9981PortConfDiffDelayToleranceExceededEnable
     }
     STATUS      current
     DESCRIPTION
       "A collection of objects required for configuration of alarm
       thresholds and notifications in G.Bond/ATM ports."
     ::= { g9981Groups 2 }

   g9981NotificationGroup NOTIFICATION-GROUP
     NOTIFICATIONS {
       g9981UpDiffDelayToleranceExceeded,
       g9981DnDiffDelayToleranceExceeded
     }
     STATUS      current
     DESCRIPTION
       "This group supports notifications of significant conditions
       associated with G.Bond/ATM ports."
     ::= { g9981Groups 3 }

   g9981PerfCurrGroup OBJECT-GROUP
     OBJECTS {
       g9981PortPmCur15MinValidIntervals,
       g9981PortPmCur15MinInvalidIntervals,
       g9981PortPmCur15MinTimeElapsed,
       g9981PortPmCur15MinRxLostCells,
       g9981PortPmCur15MinTxLostCells,
       g9981PortPmCur15MinUpDiffDelay,
       g9981PortPmCur15MinDnDiffDelay,
       g9981PortPmCur1DayValidIntervals,
       g9981PortPmCur1DayInvalidIntervals,
       g9981PortPmCur1DayTimeElapsed,
       g9981PortPmCur1DayRxLostCells,
       g9981PortPmCur1DayTxLostCells,
       g9981PortPmCur1DayUpDiffDelay,
       g9981PortPmCur1DayDnDiffDelay
     }
     STATUS      current
     DESCRIPTION
       "A collection of objects supporting OPTIONAL current Performance
       Monitoring information for G.Bond/ATM ports."
     ::= { g9981Groups 4 }

   g9981Perf15MinGroup OBJECT-GROUP
     OBJECTS {
       g9981PortPm15MinIntervalMoniTime,
       g9981PortPm15MinIntervalRxLostCells,
       g9981PortPm15MinIntervalTxLostCells,
       g9981PortPm15MinIntervalUpDiffDelay,
       g9981PortPm15MinIntervalDnDiffDelay,
       g9981PortPm15MinIntervalValid
     }
     STATUS      current
     DESCRIPTION
       "A collection of objects supporting OPTIONAL historical
       Performance Monitoring information for G.Bond/ATM ports, during
       previous 15-minute intervals."
     ::= { g9981Groups 5 }

   g9981Perf1DayGroup OBJECT-GROUP
     OBJECTS {
       g9981PortPm1DayIntervalMoniTime,
       g9981PortPm1DayIntervalRxLostCells,
       g9981PortPm1DayIntervalTxLostCells,
       g9981PortPm1DayIntervalUpDiffDelay,
       g9981PortPm1DayIntervalDnDiffDelay,
       g9981PortPm1DayIntervalValid
     }
     STATUS      current
     DESCRIPTION
       "A collection of objects supporting OPTIONAL historical
       Performance Monitoring information for G.Bond/ATM ports, during
       previous 1-day intervals."
     ::= { g9981Groups 6 }


   -- Compliance Statements

   g9981Compliance MODULE-COMPLIANCE
     STATUS      current
     DESCRIPTION
       "The compliance statement for G.Bond/ATM interfaces.
       Compliance with the following external compliance statements
       is REQUIRED:

       MIB Module             Compliance Statement
       ----------             --------------------
       IF-MIB                 ifCompliance3
       GBOND-MIB              gBondCompliance"

     MODULE  -- this module
       MANDATORY-GROUPS {
         g9981BasicGroup,
         g9981AlarmConfGroup,
         g9981NotificationGroup
       }

       GROUP       g9981PerfCurrGroup
       DESCRIPTION
         "Support for this group is only required for implementations
         supporting Performance Monitoring."

       GROUP       g9981Perf15MinGroup
       DESCRIPTION
         "Support for this group is only required for implementations
         supporting historical Performance Monitoring."

       GROUP       g9981Perf1DayGroup
       DESCRIPTION
         "Support for this group is only required for implementations
         supporting 1-day historical Performance Monitoring."

     ::= { g9981Compliances 1 }
END

7. Security Considerations πŸ”

Okay bestie, this section is serious, but we're gonna make it readable ✨. There are a bunch of managed objects in this MIB module with a MAX-ACCESS clause of read-write. Those objects may be considered sensitive or vulnerable in some network environments, and supporting SET operations in a non-secure environment without proper protection can have a negative effect on network operations 😭. Here are the tables and objects and how sensitive or vulnerable they are:

  • Changing g9981PortConfTable configuration parameters MAY lead to a potential Service Level Agreement (SLA) breach, for example, if a traffic delay is increased as a result of the higher delay tolerance (increased g9981PortConfUpDiffDelayTolerance and/or g9981PortConfDnDiffDelayTolerance), or the differential delay tolerance notifications are disabled by manipulating the g9981PortConfDiffDelayToleranceExceededEnable parameter.

Some of the readable objects in this MIB module (i.e., objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments, since together they give info about the performance of network interfaces and can reveal some aspects of their configuration πŸ‘€.

It is thus important to control even GET and/or NOTIFY access to these objects, and possibly to even encrypt the values of these objects when sending them over the network via SNMP πŸ”’.

SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in this MIB module. Like, that's a whole lot of trust just floating around πŸ’€.

Implementations SHOULD provide the security features described by the SNMPv3 framework (see [RFC3410]), and implementations claiming compliance to the SNMPv3 standard MUST include full support for authentication and privacy via the User-based Security Model (USM) [RFC3414] with the AES cipher algorithm [RFC3826]. Implementations MAY also provide support for the Transport Security Model (TSM) [RFC5591] in combination with a secure transport such as SSH [RFC5592] or TLS/DTLS [RFC6353] 🫢.

Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of this MIB module is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them. Gatekeeping is literally the main character energy here πŸ‘‘.


8. IANA Considerations πŸ¦‹

IANA has assigned 208 as the object identifier for g9981MIB MODULE-IDENTITY in the MIB-2 transmission sub-tree <http://www.iana.org/>. That's the number that makes this module official in the MIB-2 tree, iykyk 🧚.


9. Acknowledgments 🫢

This document was produced by the [ADSLMIB] working group, and we're so grateful to them πŸ’–.

Special thanks to Dan Romascanu for his meticulous review of this text. Literal legend behavior πŸ™Œ.


10. References πŸ“š

10.1. Normative References

  • [G.998.1] ITU-T, "ATM-based multi-pair bonding", ITU-T Recommendation G.998.1, January 2005, <http://www.itu.int/rec/T-REC-G.998.1/en>.
  • [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
  • [RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
  • [RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
  • [RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
  • [RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000.
  • [RFC3414] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", STD 62, RFC 3414, December 2002.
  • [RFC3705] Ray, B. and R. Abbi, "High Capacity Textual Conventions for MIB Modules Using Performance History Based on 15 Minute Intervals", RFC 3705, February 2004.
  • [RFC3826] Blumenthal, U., Maino, F., and K. McCloghrie, "The Advanced Encryption Standard (AES) Cipher Algorithm in the SNMP User-based Security Model", RFC 3826, June 2004.
  • [RFC5591] Harrington, D. and W. Hardaker, "Transport Security Model for the Simple Network Management Protocol (SNMP)", RFC 5591, June 2009.
  • [RFC5592] Harrington, D., Salowey, J., and W. Hardaker, "Secure Shell Transport Model for the Simple Network Management Protocol (SNMP)", RFC 5592, June 2009.
  • [RFC6353] Hardaker, W., "Transport Layer Security (TLS) Transport Model for the Simple Network Management Protocol (SNMP)", RFC 6353, July 2011.
  • [RFC6765] Beili, E. and M. Morgenstern, "xDSL Multi-Pair Bonding (G.Bond) MIB", RFC 6765, February 2013.
  • [TR-159] Beili, E. and M. Morgenstern, "Management Framework for xDSL Bonding", Broadband Forum Technical Report TR-159, December 2008, <http://www.broadband-forum.org/technical/download/TR-159.pdf>.

10.2. Informative References

Author's Address πŸ’–

Okay bestie, this is where we find out who wrote the whole thing 🫢 The author is Edward Beili from Actelis Networks, and here's how to reach him ✨

Edward Beili
Actelis Networks
25 Bazel St.
Petach-Tikva  49103
Israel

Phone: +972-3-924-3491
EMail: edward.beili@actelis.com

And that's the end of the spec πŸ¦‹ literally the last thing in the doc, periodt πŸ’…

πŸ“¦ where this page comes from