Network Working Group                                           E. Beili
Internet-Draft                                          Actelis Networks
Intended status: Standards Track                            May 26, 2011                       February 09, 2012
Expires: November 27, 2011 August 12, 2012

    xDSL multi-pair bonding using Time-Division Inverse Multiplexing
                           (G.Bond/TDIM) MIB
                draft-ietf-adslmib-gbond-tdim-mib-06.txt
                draft-ietf-adslmib-gbond-tdim-mib-07.txt

Abstract

   This document defines Management Information Base (MIB) module for
   use with network management protocols in TCP/IP based internets.
   This document proposes an extension to the GBOND-MIB module with a
   set of objects for managing multi-pair bonded xDSL interfaces using
   Time-Division Inverse Multiplexing (TDIM), defined in ITU-T
   recommendation G.998.3.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on November 27, 2011. August 12, 2012.

Copyright Notice

   Copyright (c) 2011 2012 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 of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to 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 are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   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  . . . . . . .  4
     4.2.  Relationship to G.Bond MIB module  . . . . . . . . . . . .  4
   5.  MIB Structure  . . . . . . . . . . . . . . . . . . . . . . . .  4
     5.1.  Overview . . . . . . . . . . . . . . . . . . . . . . . . .  4
     5.2.  Link Protection Configuration  . . . . . . . . . . . . . .  5
     5.3.  Service Configuration  . . . . . . . . . . . . . . . . . .  5
       5.3.1.  Management of TDM Services and service drop
               priority during bandwidth degradation  . . . . . . . .  6
       5.3.2.  Service Notifications  . . . . . . . . . . . . . . . .  6
     5.4.  Performance Monitoring . . . . . . . . . . . . . . . . . .  6  7
     5.5.  Mapping of Broadband Forum TR-159 and ITU-T G.998.3
           Managed Objects  . . . . . . . . . . . . . . . . . . . . .  7
   6.  G.Bond/TDIM MIB Definitions  . . . . . . . . . . . . . . . . .  8  9
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 49 50
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 50 51
   9.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 50 51
   10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 50 52
     10.1. Normative References . . . . . . . . . . . . . . . . . . . 50 52
     10.2. Informative References . . . . . . . . . . . . . . . . . . 51 53

1.  Introduction

   The Multi-pair bonding using time-division inverse multiplexing
   (TDIM), a.k.a.  G.Bond/TDIM, is specified in ITU-T G.998.3
   recommendation [G.998.3], which defines a method for bonding (or
   aggregating) of multiple xDSL lines (or individual bearer channels in
   multiple xDSL lines) into a single bi-directional logical link,
   carrying a mix of various traffic streams, e.g.  Ethernet,
   Asynchronous Transfer Mode (ATM), Time-Division Multiplexing (TDM).

   The MIB module, defined in this document, provides G.Bond/
   TDIM-specific objects for the management of G.998.3 bonded
   interfaces, extending the common bonding objects specified in GBOND-
   MIB [I-D.ietf-adslmib-gbond-mib] module.

2.  The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the 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 RFC
   2119 [RFC2119].

3.  The Broadband Forum Management Framework for xDSL Bonding

   This document makes use of the Broadband Forum technical report
   Management Framework for xDSL Bonding [TR-159], defining a management
   model and a hierarchy of management objects for the bonded xDSL
   interfaces.

4.  Relationship to other MIB modules

   This section outlines the relationship of the MIB modules defined in
   this document with other MIB modules described in the relevant RFCs.
   Specifically, the following MIB modules are discussed: Interfaces
   Group MIB (IF-MIB) and G.Bond MIB (GBOND-MIB).

4.1.  Relationship to Interfaces Group MIB module

   A G.Bond/TDIM port is a private case of a Bonded multi-pair xDSL
   interface and as such is managed using generic interface management
   objects defined in the IF-MIB [RFC2863].  In particular an interface
   index (ifIndex) is used to index instances of G.Bond/TDIM ports, as
   well as xDSL lines/channels, in a managed system.

4.2.  Relationship to G.Bond MIB module

   GBOND-MIB [I-D.ietf-adslmib-gbond-mib] module defines management
   objects common for all Bonded multi-pair xDSL interfaces.  In
   particular it describes the bonding management, bonded port and
   channel configuration, initialization sequence etc.

   Both GBOND-MIB and GBOND-TDIM-MIB modules are REQUIRED to manage a
   G.Bond/TDIM port.

5.  MIB Structure

5.1.  Overview

   All management objects defined in the GBOND-TDIM-MIB module are
   contained in a single group gBondTdimPort.  This group is further
   split into 6 sub-groups, structured as recommended by RFC 4181
   [RFC4181]:

   o  gBondTdimPortNotifications - containing notifications (TDIM
      Service Down/Up).

   o  gBondTdimPortConfTable - containing objects for configuration of a
      G.Bond/TDIM port.

   o  gBondTdimPortCapabilityTable  gBondTdimPortCapTable - containing objects reflecting capability
      of a G.Bond/TDIM port.

   o  gBondTdimPortStatusTable  gBondTdimPortStatTable - containing objects providing overall
      status information of a G.Bond/TDIM port, complementing the
      generic status information from the ifTable of IF-MIB and
      gBondFltStatus
      gBondPortStatFltStatus of GBOND-MIB.

   o  gBondTdimServiceTable  gBondTdimSvcTable - containing objects for configuration and
      status of the services in a G.Bond/TDIM port.

   o  gBondTdimPM - containing objects for an OPTIONAL Historical
      Performance Monitoring (PM) of a G.Bond/TDIM port.

5.2.  Link Protection Configuration

   G.Bond/TDIM specification allows an optional Forward Error Correction
   (FEC) and Interleaver block, which, if supported and enabled,
   provides a degree of protection against micro-interruptions, alien
   noise, and even individual Bonding Channel Entity (BCE) failures,
   a.k.a. cut-line protection.

   Management objects in the gBondTdimPortConfTable can be used to
   configure and query the FEC and Interleaver function of the G.Bond/
   TDIM port.

5.3.  Service Configuration

   Unlike the other two xDSL Multi-Pair Bonding schemes (G.Bond/ATM and
   G.Bond/Ethernet), which send the information required for reassembly
   of the fragmented data along with the data, G.Bond/TDIM is a
   synchronous scheme, requiring both ends to know the data distribution
   tables before any actual data transfer can happen.

   Management objects in the gBondTdimPortConfTable
   (gBondTdimAdminServices), gBondTdimServiceTable
   (gBondTdimPortConfAdminServices), gBondTdimSvcTable and
   gBondTdimOperServiceTable
   gBondTdimOperSvcTable can be used to configure and query the
   configuration of services transported via the G.Bond/TDIM link.  The
   services may be configured independently of the link state (i.e. in-
   and out-of-service), as G.998.3 communicates changes in the service
   configuration via specific Bonding Communication Channel (BCC)
   messages, switching both ends of the link to the new configuration
   synchronously.

   There can be up to 60 active services defined on a G.Bond/TDIM link.
   This MIB module provides an ability to define up to 255 services via
   the gBondTdimServiceTable, gBondTdimSvcTable, with each row representing a possible service,
   and then set the actual service configuration using the
   gBondTdimAdminServices
   gBondTdimPortConfAdminServices object (a byte-vector of service
   indices), listing the active services in the order of their position
   in the G.Bond/
   TDIM G.Bond/TDIM frame.  This design allows one to easily modify
   service drop priority, which directly corresponds to the service
   position.

   The actual list of services is provided via the read-only
   gBondTdimOperServiceTable,
   gBondTdimOperSvcTable, where each entry's index corresponds to the
   service position, starting from index 1 for the first entry, 2 for
   the second entry etc., providing an easy service navigation for a
   management application using GET-NEXT (instead of counting bytes in
   the gBondTdimAdminServices gBondTdimPortConfAdminServices object).

   The service configuration can only be changed on a BTU-C side. Bonding
   Transmission Unit at the Central Office (BTU-C).

   When configuring the services, please bear in mind that the sum of
   all the services' bandwidth SHOULD be less or equal to the target
   data rate of the bonded link.  Note that G.Bond/TDIM links are
   symmetrical, i.e. their upstream data rate equals to the downstream
   data rate.

5.3.1.  Management of TDM Services and service drop priority during
        bandwidth degradation

   G.Bond/TDIM protocol provides an ability to map TDM services into the
   TDIM bonded link directly, without any additional overhead.  It
   addresses only structure-agnostic TDM transport, disregarding any
   structure that may be imposed on these streams, in particular the
   structure imposed by the standard TDM framing [G.704].

   During bandwidth degradation services with a lower priority are
   impaired or dropped first.  Synchronous services (fractional DS1/E1,
   clear channel E1/T1, T3/E3, clock) positioned in the beginning of the
   G.Bond/TDIM frame, have higher priority than asynchronous services
   (Ethernet, ATM, GFP encapsulated), positioned farther away.  Within
   the services of the same type, those with lower position (index) have
   higher priority.

5.3.2.  Service Notifications

   This MIB module provides specific Up/Down notifications
   (gBondTdimServiceUp/gBondTdimServiceDown)
   (gBondTdimSvcUp/gBondTdimSvcDown) for each of the configured
   services.  During bandwidth degradation a number of services may be
   suspended (dropped) simultaneously, according to their drop priority
   (position in the service list).  Please note that it is possible for
   a higher priority service to be dropped before a lower priority one.
   For example, suppose there are two services configured on a 2 Mbps
   G.Bond/TDIM link: a T1 service (gBondTdimServiceType (gBondTdimSvcType with a value of ds1,
   with a bandwidth requirement of 1.5 Mbps) and an Ethernet service
   with a size of 0.5 Mbps.  When the actual link bandwidth is reduced
   to 1.4 Mbps, the T1 service with a gBondTdimServicePosition gBondTdimOperSvcPosition value of
   1 would be dropped, while the Ethernet service with a
   gBondTdimServicePosition
   gBondTdimPerSvcPosition value of 2 would remain up.

   Notifications SHOULD be rate-limited (throttled) such that there is
   an implementation-specific gap between the generation of consecutive
   notifications of the same event.  This mechanism prevents
   notification flooding in case gBondTdimServiceOperState oscillates
   between Up and Down states.  When notifications are rate-limited,
   they are dropped and not queued for sending at a future time.  This
   is intended to be a general rate-limiting statement for notifications
   that otherwise have no explicit rate-limiting assertions in this
   document.

5.4.  Performance Monitoring

   The OPTIONAL performance monitoring counters, thresholds and history
   buckets (interval-counters), similar to those defined in [TR-159] are
   implemented using the textual conventions defined in the HC-PerfHist-
   TC-MIB [RFC3705].  The HC-PerfHist-TC-MIB defines 64-bit versions of
   the textual conventions found in PerfHist-TC-MIB [RFC3593].

   The agent SHOULD align the beginning of each interval to a fifteen
   minute boundary of a wall clock.  Likewise, the beginning of each one
   day intervals SHOULD be aligned with the start of a day.

   Counters are not reset when a G.Bond TDIM port is reinitialized, but
   rather only when the agent is reset or reinitialized (or under
   specific request outside reinitialized.

   Note that the scope 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
   performance monitoring counters in this MIB module). module specifies which of
   the counters are inhibited during periods of service unavailability.

5.5.  Mapping of Broadband Forum TR-159 and ITU-T G.998.3 Managed
      Objects

   This section contains the mapping between relevant managed objects
   (attributes) defined in [TR-159] and managed objects defined in this
   document.  Note that all management objects defined in [G.998.3] have
   corresponding objects in [TR-159].

   +-----------------------------+-------------------------------------+

   +---------------------------+---------------------------------------+
   | TR-159 Managed Object     | Corresponding SNMP Object             |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | oBondTDIM - Basic Package |                                       |
   | (Mandatory)               |                                       |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aCRC4Errors               | gBondTdimCrc4Errors gBondTdimPortStatCrc4Errors           |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aCRC6Errors               | gBondTdimCrc6Errors gBondTdimPortStatCrc6Errors           |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aCRC8Errors               | gBondTdimCrc8Errors gBondTdimPortStatCrc8Errors           |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aFECSupported             | gBondTdimFecSupported gBondTdimPortCapFecSupported          |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | oBondTDIM - FEC Package   |                                       |
   | (Optional)                |                                       |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aFECAdminState            | gBondTdimFecAdminState gBondTdimPortConfFecAdminState        |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aFECOperState             | gBondTdimFecOperState gBondTdimPortStatFecOperState         |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aFECWordSize              | gBondTdimFecWordSize gBondTdimPortConfFecWordSize          |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aFECRedundancySize        | gBondTdimFecRedundancySize gBondTdimPortConfFecRedundancySize    |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aFECInterleaverType       | gBondTdimFecInterleaverType gBondTdimPortConfFecInterleaverType   |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aFECInterleaverDepth      | gBondTdimFecInterleaverDepth gBondTdimPortConfFecInterleaverDepth  |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aFECMaxWordSize           | gBondTdimFecMaxWordSize gBondTdimPortCapFecMaxWordSize        |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aFECMaxRedundancySize     | gBondTdimFecMaxRedundancySize gBondTdimPortCapFecMaxRedundancySize  |
   +-----------------------------+-------------------------------------+
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aFECInterleaverTypesSupport aFECInterleaverTypesSuppo | gBondTdimFecInterleaverTypeSupporte gBondTdimPortCapFecInterleaverTypeSup |
   | ed rted                      | d ported                                |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aFECMaxInterleaverDepth   | gBondTdimFecMaxInterleaverDepth gBondTdimPortCapFecMaxInterleaverDept |
   |
   +-----------------------------+-------------------------------------+                           | h                                     |
   +---------------------------+---------------------------------------+
   | oTDIMService - Basic      |                                       |
   | Package (Mandatory)       |                                       |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aServiceID                | gBondTdimServicePosition gBondTdimOperSvcPosition              |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aServiceIfIdx             | gBondTdimServiceIfIdx gBondTdimSvcIfIdx                     |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aServiceType              | gBondTdimServiceType gBondTdimSvcType                      |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   +---------------------------+---------------------------------------+
   | aServiceSize              | gBondTdimServiceSize gBondTdimSvcSize                      |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aServiceOperState         | gBondTdimServiceOperState gBondTdimOperSvcState                 |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | aServiceUpDownEnable      | gBondTdimServiceUpDownEnable gBondTdimPortConfSvcUpDownEnable      |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | nServiceUp                | gBondTdimServiceUp gBondTdimSvcUp                        |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+
   | nServiceDown              | gBondTdimServiceDown gBondTdimSvcDown                      |
   +-----------------------------+-------------------------------------+
   +---------------------------+---------------------------------------+

                Table 1: Mapping of TR-159 Managed Objects

   Note that some of the mapping between the objects defined in TR-159
   and the ones defined in this MIB module is not one-to-one, for
   example, while TR-159 PM attributes aGroupPerf* map to the
   corresponding gBondPortPm* objects of the GBOND-MIB module, there are
   no dedicated PM attributes for the gBondTdimPortPm* and
   gBondTdimSvcPm* objects introduced in this MIB module.  However,
   since their definition is identical to the definition of gBondPortPm*
   objects of the GBOND-MIB module, we can map gBondTdimPortPm* and
   gBondTdimSvcPm* to the relevant aGroupPerf* attributes of TR-159 and
   use the term 'partial mapping' to denote the fact that this mapping
   is not one-to-one.

6.  G.Bond/TDIM MIB Definitions

GBOND-TDIM-MIB DEFINITIONS ::= BEGIN

  IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE,
    mib-2,
    Unsigned32,
    Counter32
      FROM SNMPv2-SMI         -- [RFC2578]
    TEXTUAL-CONVENTION,
    RowStatus,
    TruthValue
      FROM SNMPv2-TC          -- [RFC2579]
    MODULE-COMPLIANCE,
    OBJECT-GROUP,
    NOTIFICATION-GROUP
      FROM SNMPv2-CONF        -- [RFC2580]
    ifIndex,
    InterfaceIndex
      FROM IF-MIB             -- [RFC2863]
    HCPerfCurrentCount,
    HCPerfIntervalCount,
    HCPerfValidIntervals,
    HCPerfInvalidIntervals,
    HCPerfTimeElapsed
      FROM  HC-PerfHist-TC-MIB  -- [RFC3705]
    ;
------------------------------------------------------------------------
  gBondTdimMIB MODULE-IDENTITY
    LAST-UPDATED "201105260000Z" "201202090000Z"  -- May 26, 2011 Feb 09, 2012
    ORGANIZATION "IETF ADSL MIB Working Group"
    CONTACT-INFO
      "WG charter:
        http://www.ietf.org/html.charters/adslmib-charter.html

      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: menachem.dodge@ecitele.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 time-division inverse
      multiplexing (TDIM), defined in ITU-T recommendation G.998.3
      (G.Bond/TDIM).

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

      The following references are used throughout this MIB module:

      [G.998.3] refers to:
        ITU-T Recommendation G.998.3: 'Multi-pair bonding using
        time-division inverse multiplexing', January 2005.

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

      Naming Conventions:
        BCE    - Bonding Channel Entity
        BTU    - Bonding Transmission Unit
        BTU-C  - Bonding Transmission Unit, CO side
        BTU-R  - Bonding Transmission Unit, Remote Terminal (CPE) side
        CO     - Central Office
        CPE    - Customer Premises Equipment
        GBS    - Generic Bonding Sublayer
        GBS-C  - Generic Bonded Sub-layer, CO side
        GBS-R  - Generic Bonded Sub-layer, RT (or CPE) Remote Terminal (CPE) side
        SNR    - Signal to Noise Ratio

      Copyright (C) The IETF Trust (2011). (2012).
      This version of this MIB module is part of RFC YYYY;
      see the RFC itself for full legal notices."

    REVISION    "201105260000Z"    "201202090000Z"  -- May 26, 2011 Feb 09, 2012
    DESCRIPTION "Initial version, published as RFC YYYY."

      -- EdNote: Replace YYYY with the actual RFC number &
      -- remove this note

    ::= { mib-2 ZZZ }

      -- EdNote: Replace ZZZ with a real OID once it is
      -- allocated & remove this note.

   -- Sections of the module
   -- Structured as recommended by [RFC4181], Appendix D

   gBondTdimObjects     OBJECT IDENTIFIER ::= { gBondTdimMIB 1 }

   gBondTdimConformance OBJECT IDENTIFIER ::= { gBondTdimMIB 2 }

   -- Groups in the module

   gBondTdimPort        OBJECT IDENTIFIER ::= { gBondTdimObjects 1 }

   -- Textual Conventions

   GBondTdimServiceIndex
   GBondTdimSvcIndex ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "d"
     STATUS       current
     DESCRIPTION
       "A unique value, greater than zero, for each Service defined
       in the managed G.Bond/TDIM port.
       It is RECOMMENDED that values are assigned contiguously
       starting from 1. The value for each Service MUST remain
       constant at least from one re-initialization of the entity's
       network local
       management system subsystem to the next re-initialization."
     SYNTAX       Unsigned32 (1..255)

   GBondTdimServiceIndexList

   GBondTdimSvcIndexList ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "1d:"
     STATUS       current
     DESCRIPTION
       "This textual convention represents a continuous ordered list of
       all the services defined for the managed G.Bond/TDIM port.
       The value of this object is a concatenation of zero or more (up
       to 60) octets, where each octet contains an 8-bit
       GBondTdimServiceIndex
       GBondTdimSvcIndex value, identifying a particular service.
       An octet's position reflects the associated service position
       and its priority in the G.Bond/TDIM frame, with 1st octet being
       the 1st service of highest priority.

       A zero-length octet string is object-specific and MUST
       therefore be defined as part of the description of any object
       that uses this syntax. Examples of the usage of a zero-length
       value might include situations where an object using this
       textual convention is irrelevant for a specific G.Bond/TDIM port
       type or that no services have been defined for this port."
     SYNTAX       OCTET STRING (SIZE(0..60))

   GBondTdimServiceOrderIndex

   GBondTdimSvcOrderIndex ::= TEXTUAL-CONVENTION
     DISPLAY-HINT "d"
     STATUS       current
     DESCRIPTION
       "A unique value, greater than zero, for each Service defined
       in the managed G.Bond/TDIM port, showing its relative position
       inside the G.Bond/TDIM frame."
     SYNTAX       Unsigned32 (1..60)

  -- Port Notifications Group

   gBondTdimPortNotifications OBJECT IDENTIFIER
     ::= { gBondTdimPort 0 }

   gBondTdimServiceUp

   gBondTdimSvcUp NOTIFICATION-TYPE
     OBJECTS {
       -- ifIndex is not needed here since we are under specific GBS
       gBondTdimServicePosition,
       gBondTdimServiceIfIdx,
       gBondTdimServiceOperState
       gBondTdimOperSvcPosition,
       gBondTdimSvcIfIdx,
       gBondTdimOperSvcState
     }
     STATUS      current
     DESCRIPTION
       "This notification indicates that a service indicated by the
       gBondTdimServicePosition
       gBondTdimOperSvcPosition (mapped to a particular interface
       indicated by the gBondTdimServiceIfIdx) gBondTdimSvcIfIdx) in a particular
       G.Bond/TDIM port' is passing traffic.

       This notification MAY be send for the G.Bond/TDIM port, while
       the port is Up, generated (unless disabled or dropped by
       the rate limiting mechanism), when the gBondTdimServiceOperState gBondTdimOperSvcState
       object has left the Down state. state, while the G.Bond/TDIM port
       state (ifOperStatus of IF-MIB) is Up.

       Generation of this notification is controlled by the
       gBondTdimServiceUpDownEnable
       gBondTdimPortConfSvcUpDownEnable object.

       This object maps to the TR-159 notification nServiceUp."
     REFERENCE
       "[TR-159] 5.5.5.7"
     ::= { gBondTdimPortNotifications 1 }

   gBondTdimServiceDown

   gBondTdimSvcDown NOTIFICATION-TYPE
     OBJECTS {
       -- ifIndex is not needed here since we are under specific GBS
       gBondTdimServicePosition,
       gBondTdimServiceIfIdx,
       gBondTdimServiceOperState
       gBondTdimOperSvcPosition,
       gBondTdimSvcIfIdx,
       gBondTdimOperSvcState
     }
     STATUS      current
     DESCRIPTION
       "This notification indicates that a service indicated by the
       gBondTdimServicePosition
       gBondTdimOperSvcPosition (mapped to a particular interface
       indicated by the gBondTdimServiceIfIdx) gBondTdimSvcIfIdx) in a particular
       G.Bond/TDIM port has stopped passing the traffic.

       This notification MAY be send for the G.Bond/TDIM port, while
       the port is Up, generated (unless disabled or dropped by
       the rate limiting mechanism), when the gBondTdimServiceOperState gBondTdimOperSvcState
       object has entered the Down state.

       Generation of state, while the G.Bond/TDIM port
       state (ifOperStatus of IF-MIB) is Up.

       Generation of this notification is controlled by the
       gBondTdimServiceUpDownEnable
       gBondTdimPortConfSvcUpDownEnable object.

       This object maps to the TR-159 notification nServiceDown."
     REFERENCE
       "[TR-159] 5.5.5.8"
     ::= { gBondTdimPortNotifications 2 }

   -- G.Bond/TDIM Port group

   gBondTdimPortConfTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF GBondTdimPortConfEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "Table for Configuration of G.Bond/TDIM ports. Entries in
       this table MUST be maintained in a persistent manner"
     ::= { gBondTdimPort 1 }

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

   GBondTdimPortConfEntry ::=
     SEQUENCE {
       gBondTdimFecAdminState
       gBondTdimPortConfFecAdminState        TruthValue,
       gBondTdimFecWordSize
       gBondTdimPortConfFecWordSize          Unsigned32,
       gBondTdimFecRedundancySize
       gBondTdimPortConfFecRedundancySize    Unsigned32,
       gBondTdimFecInterleaverType
       gBondTdimPortConfFecInterleaverType   INTEGER,
       gBondTdimFecInterleaverDepth
       gBondTdimPortConfFecInterleaverDepth  Unsigned32,
       gBondTdimAdminServices        GBondTdimServiceIndexList,
       gBondTdimServiceUpDownEnable
       gBondTdimPortConfAdminServices        GBondTdimSvcIndexList,
       gBondTdimPortConfSvcUpDownEnable  TruthValue
     }

   gBondTdimFecAdminState

   gBondTdimPortConfFecAdminState  OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
       "A desired state of the OPTIONAL Forward Error Correction
       (FEC) function of the G.Bond/TDIM port.

       A value of 'false' indicates that the FEC function SHALL be
       disabled. A value of 'true' indicates that the FEC SHALL be
       enabled, if supported by the G.Bond/TDIM port, as indicated
       by the gBondTdimFecSupported gBondTdimPortCapFecSupported object.
       The gBondTdimFecOperState gBondTdimPortStatFecOperState object indicates current
       operational state of the FEC function.

       For the GBS-R ports, the value of this object cannot be changed
       directly. This value may be changed as a result of writing
       operation on the gBondTdimFecSupported gBondTdimPortCapFecSupported object of a remote
       GBS-C.

       Modifications of this object MUST be performed when the link
       is Down.
       Attempts to change this object MUST be rejected, if the link is
       Up or Initializing or if it is an GBS-R.

       This object MUST be maintained in a persistent manner.

       This object maps to TR-159/G.998.3 attribute aFECAdminState."
     REFERENCE
       "[TR-159] 5.5.4.5; [G.998.3] Appendix II, B-X"
     ::= { gBondTdimPortConfEntry 1 }

   gBondTdimFecWordSize

   gBondTdimPortConfFecWordSize  OBJECT-TYPE
     SYNTAX      Unsigned32(0|20..255)
     UNITS       "octets"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
       "A FEC code word size in octets for the G.Bond/TDIM ports
       supporting FEC function.

       This object is read-write for the GBS-C ports and read-only
       for the GBS-R.

       A value of zero SHALL be returned if the FEC is disabled
       (via gBondTdimFecAdminState) gBondTdimPortConfFecAdminState) or not supported.

       Changing of the FEC code word size MUST be performed when the
       FEC enabled link is Down. Attempts to change this object MUST
       be rejected, if the link is Up or Initializing or the
       FEC function is disabled/not supported.

       This object MUST be maintained in a persistent manner.

       This object maps to TR-159/G.998.3 attribute aFECWordSize."
     REFERENCE
       "[TR-159] 5.5.4.7; [G.998.3] Appendix II, B-XI"
     ::= { gBondTdimPortConfEntry 2 }

   gBondTdimFecRedundancySize

   gBondTdimPortConfFecRedundancySize  OBJECT-TYPE
     SYNTAX      Unsigned32(0|2|4|8|16|20)
     UNITS       "octets"
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
       "A FEC redundancy word size in octets for the G.Bond/TDIM
       ports supporting FEC function.

       This object is read-write for the GBS-C ports and read-only
       for the GBS-R.

       A value of zero SHALL be returned if the FEC is disabled
       (via gBondTdimFecAdminState) gBondTdimPortConfFecAdminState) or not supported.

       Changing of the FEC redundancy word size MUST be performed
       when the FEC enabled link is Down. Attempts to change this
       object MUST be rejected, if the link is Up or Initializing or
       the FEC function is disabled/not supported.

       This object MUST be maintained in a persistent manner.

       This object maps to TR-159/G.998.3 attribute
       aFECRedundancySize."
     REFERENCE
       "[TR-159] 5.5.4.8; [G.998.3] Appendix II, B-XII"
     ::= { gBondTdimPortConfEntry 3 }

   gBondTdimFecInterleaverType

   gBondTdimPortConfFecInterleaverType  OBJECT-TYPE
     SYNTAX      INTEGER {
       none(0),
       block(1),
       convolution(2)
     }
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
       "An Interleaver type for the G.Bond/TDIM ports supporting
       FEC function.

       This object is read-write for the GBS-C ports and read-only
       for the GBS-R.

       A value of none(0) SHALL be returned if the FEC is disabled
       (via gBondTdimFecAdminState) gBondTdimPortConfFecAdminState) or not supported.

       Changing of the Interleaver type MUST be performed when the
       FEC enabled link is Down. Attempts to change this object MUST
       be rejected, if the link is Up or Initializing or the FEC
       function is disabled/not supported.

       This object MUST be maintained in a persistent manner.

       This object maps to TR-159/G.998.3 attribute
       aFECInterleaverType."
     REFERENCE
       "[TR-159] 5.5.4.9; [G.998.3] Appendix II, B-XIII"
     ::= { gBondTdimPortConfEntry 4 }

   gBondTdimFecInterleaverDepth

   gBondTdimPortConfFecInterleaverDepth  OBJECT-TYPE
     SYNTAX      Unsigned32(0|1|2|3|4|6|8|12|16|24|32|48|96)
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
       "An Interleaver Depth for the G.Bond/TDIM ports supporting
       FEC function.

       This object is read-write for the GBS-C ports and read-only
       for the GBS-R.

       A value of zero SHALL be returned if the FEC is disabled
       (via gBondTdimFecAdminState) gBondTdimPortConfFecAdminState) or not supported.

       Changing of the Interleaver Depth MUST be performed when the
       FEC enabled link is Down. Attempts to change this object MUST
       be rejected, if the link is Up or Initializing or the FEC
       function is disabled/not supported.

       This object MUST be maintained in a persistent manner.

       This object maps to TR-159/G.998.3 attribute
       aFECInterleaverDepth."
     REFERENCE
       "[TR-159] 5.5.4.10; [G.998.3] Appendix II, B-XIV"
     ::= { gBondTdimPortConfEntry 5 }

   gBondTdimAdminServices

   gBondTdimPortConfAdminServices  OBJECT-TYPE
     SYNTAX      GBondTdimServiceIndexList      GBondTdimSvcIndexList
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
      "Desired list of services for a G.Bond/TDIM port. This object is
       a list of pointers to entries in the gBondTdimServiceTable. gBondTdimSvcTable.

       The value of this object is a continuous ordered list of up to
       60 indices (gBondTdimServiceIdx) (gBondTdimSvcIdx) of the active services carried
       via the G.Bond/TDIM link.

       This object is writable and readable for the GBS-C ports.
       It is irrelevant for the GBS-R ports - a zero-length octet
       string SHALL be returned on an attempt to read this object and
       an attempt to change this object MUST be rejected in this case.

       Note that the current operational service list is available
       via the gBondTdimOperServiceTable gBondTdimOperSvcTable object.

       This object for a GBS-C port MAY be modified independently of
       the link's state, i.e. in- and out-of-service.
       Attempts to set this object to a list with a member value that
       is not the value of the index for an active entry in the
       corresponding gBondTdimServiceTable gBondTdimSvcTable table MUST be rejected.

       This object MUST be maintained in a persistent manner." rejected."
     REFERENCE
       "[G.998.3] 10.2.3, 13.3.4.6-13.3.4.11"
     ::= { gBondTdimPortConfEntry 6 }

   gBondTdimServiceUpDownEnable

   gBondTdimPortConfSvcUpDownEnable  OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-write
     STATUS      current
     DESCRIPTION
       "Indicates whether gBondTdimServiceUp gBondTdimSvcUp and gBondTdimServiceDown gBondTdimSvcDown
       notifications should be generated for this interface.

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

       This object MUST be maintained in a persistent manner.

       This object maps to the TR-159 attribute
       aServiceUpDownEnable."
     REFERENCE
       "[TR-159] 5.5.5.6"
     ::= { gBondTdimPortConfEntry 7 }

   gBondTdimPortCapabilityTable

   gBondTdimPortCapTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF GBondTdimPortCapabilityEntry GBondTdimPortCapEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "Table for Capabilities of G.Bond/TDIM ports. Entries in this
       table MUST be maintained in a persistent manner."
     ::= { gBondTdimPort 2 }

   gBondTdimPortCapabilityEntry

   gBondTdimPortCapEntry OBJECT-TYPE
     SYNTAX      GBondTdimPortCapabilityEntry      GBondTdimPortCapEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An entry in the G.Bond/TDIM port Capability table.
       Each entry represents an G.Bond/TDIM port indexed by the
       ifIndex. Additional capabilities are available via the
       gBondPortCapabilityEntry of GBOND-MIB.
       Note that a G.Bond/TDIM port runs on top of a single
       or multiple BCE port(s), which are also indexed by ifIndex."
     INDEX  { ifIndex }
     ::= { gBondTdimPortCapabilityTable gBondTdimPortCapTable 1 }

   GBondTdimPortCapabilityEntry

   GBondTdimPortCapEntry ::=
     SEQUENCE {
       gBondTdimFecSupported
       gBondTdimPortCapFecSupported                TruthValue,
       gBondTdimFecMaxWordSize
       gBondTdimPortCapFecMaxWordSize              Unsigned32,
       gBondTdimFecMaxRedundancySize
       gBondTdimPortCapFecMaxRedundancySize        Unsigned32,
       gBondTdimFecInterleaverTypeSupported
       gBondTdimPortCapFecInterleaverTypeSupported INTEGER,
       gBondTdimFecMaxInterleaverDepth
       gBondTdimPortCapFecMaxInterleaverDepth      Unsigned32
     }

   gBondTdimFecSupported

   gBondTdimPortCapFecSupported  OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "FEC and Interleaver Capability of the G.Bond/TDIM port.
       This object has a value of true(1) when the port supports the
       FEC and Interleaver function.
       A value of false(2) is returned when the port does not
       support the FEC and Interleaver function.

       This object maps to the TR-159/G.998.3 attribute
       aFECSupported."
     REFERENCE
       "[TR-159] 5.5.4.4; [G.998.3] Appendix II, B-VI"
     ::= { gBondTdimPortCapabilityEntry gBondTdimPortCapEntry 1 }

   gBondTdimFecMaxWordSize

   gBondTdimPortCapFecMaxWordSize  OBJECT-TYPE
     SYNTAX      Unsigned32(0|20..255)
     UNITS       "octets"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A Maximum supported FEC code word size in octets for the
       G.Bond/TDIM ports with FEC function.

       A value of zero SHALL be returned if the FEC is not supported.

       This object partially maps to TR-159/G.998.3 TR-159 attribute aFECWordSize"
     REFERENCE
       "[TR-159] 5.5.4.11; [G.998.3] Appendix II, B-XI"
     ::= { gBondTdimPortCapabilityEntry gBondTdimPortCapEntry 2 }

   gBondTdimFecMaxRedundancySize

   gBondTdimPortCapFecMaxRedundancySize  OBJECT-TYPE
     SYNTAX      Unsigned32(0|2|4|8|16|20)
     UNITS       "octets"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A Maximum supported FEC redundancy word size in octets for
       the G.Bond/TDIM ports with FEC function.

       A value of zero SHALL be returned if the FEC is not supported.

       This object maps to TR-159 attribute
       aFECMaxRedundancySize."
     REFERENCE
       "[TR-159] 5.5.4.12; [G.998.3] Appendix II, B-XII"
     ::= { gBondTdimPortCapabilityEntry gBondTdimPortCapEntry 3 }

   gBondTdimFecInterleaverTypeSupported

   gBondTdimPortCapFecInterleaverTypeSupported  OBJECT-TYPE
     SYNTAX      INTEGER {
       none(0),
       block(1),
       convolution(2),
       blockConvolution(3)
     }
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "Supported Interleaver types for the G.Bond/TDIM ports with
       FEC function.

       Possible values are:
         none             - the port does not support interleaving
         block            - the port supports Block Interleaver
         convolution      - the port supports Convolution Interleaver
         blockConvolution - the port supports both Block and
                            Convolution Interleaver

       This object partially maps to TR-159 attribute
       aFECInterleaverTypesSupported."
     REFERENCE
       "[TR-159] 5.5.4.13; [G.998.3] Appendix II, B-XIII"
     ::= { gBondTdimPortCapabilityEntry gBondTdimPortCapEntry 4 }

   gBondTdimFecMaxInterleaverDepth

   gBondTdimPortCapFecMaxInterleaverDepth  OBJECT-TYPE
     SYNTAX      Unsigned32(0|1|2|3|4|6|8|12|16|24|32|48|96)
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A Maximum Interleaver Depth for the G.Bond/TDIM ports with
       FEC function.

       A value of zero SHALL be returned if the Interleaver is not
       supported.

       This object partially maps to TR-159 attribute aFECMaxInterleaverDepth."
     REFERENCE
       "[TR-159] 5.5.4.14; [G.998.3] Appendix II, B-XIV"
     ::= { gBondTdimPortCapabilityEntry gBondTdimPortCapEntry 5 }

   gBondTdimPortStatusTable

   gBondTdimPortStatTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF GBondTdimPortStatusEntry GBondTdimPortStatEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "This table provides overall status information of G.Bond
       TDIM ports, complementing the generic status information from
       the ifTable of IF-MIB and gBondFltStatus of 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."
     ::= { gBondTdimPort 3 }

   gBondTdimPortStatusEntry

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

   GBondTdimPortStatusEntry

   GBondTdimPortStatEntry ::=
     SEQUENCE {
       gBondTdimFecOperState
       gBondTdimPortStatFecOperState         TruthValue,
       gBondTdimFltStatus
       gBondTdimPortStatFltStatus            BITS,
       gBondTdimCrc4Errors
       gBondTdimPortStatCrc4Errors           Counter32,
       gBondTdimCrc6Errors
       gBondTdimPortStatCrc6Errors           Counter32,
       gBondTdimCrc8Errors
       gBondTdimPortStatCrc8Errors           Counter32
     }

   gBondTdimFecOperState

   gBondTdimPortStatFecOperState  OBJECT-TYPE
     SYNTAX      TruthValue
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only value, indicating current operational state of
       the OPTIONAL Forward Error Correction (FEC) function for the
       G.998.3 port.
       A value of 'false' indicates that the FEC function is
       disabled. A value of 'true' indicates that the FEC function
       is enabled (and supported).

       This object maps to TR-159 attribute aFECOperState."
     REFERENCE
       "[TR-159] 5.5.4.6"
     ::= { gBondTdimPortStatusEntry gBondTdimPortStatEntry 1 }

   gBondTdimFltStatus

   gBondTdimPortStatFltStatus  OBJECT-TYPE
     SYNTAX      BITS {
       serviceDown(0),
       wrongConfig(1)
     }
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "G.Bond/TDIM port Fault Status. This is a bitmap of possible
       conditions. The various bit positions are:
         serviceDown         - at least one of the services defined
                               for this aggregation group is down
                               (due to low rate).
         wrongConfig         - at least one BCE at the remote GBS-R
                               is already connected to another GBS.

       This object is intended to supplement ifOperStatus object
       in IF-MIB and gBondFltStatus in GBOND-MIB."
     REFERENCE
       "G.998.3 Section 6.3;
        IF-MIB, ifOperStatus; GBOND-MIB, gBondFltStatus"
     ::= { gBondTdimPortStatusEntry gBondTdimPortStatEntry 2 }

   gBondTdimCrc4Errors

   gBondTdimPortStatCrc4Errors  OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "The total number of CRC-4 errors (frame header error) on all
       pairs in the G.Bond/TDIM port. Simultaneous errors on M lines
       SHOULD be counted M times.

       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,
       defined in IF-MIB.

       This object maps to TR-159/G.998.3 attribute aCRC4Errors."
     REFERENCE
       "[TR-159] 5.5.4.1; [G.998.3] Appendix II, B-VII"
     ::= { gBondTdimPortStatusEntry gBondTdimPortStatEntry 3 }

   gBondTdimCrc6Errors

   gBondTdimPortStatCrc6Errors  OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "The total number of CRC-6 errors (super-frame error) on all
       pairs in the G.Bond/TDIM port. Simultaneous errors on M lines
       SHOULD be counted 1 time.

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

       This object maps to TR-159/G.998.3 attribute aCRC6Errors."
     REFERENCE
       "[TR-159] 5.5.4.2; [G.998.3] Appendix II, B-VIII"
     ::= { gBondTdimPortStatusEntry gBondTdimPortStatEntry 4 }

   gBondTdimCrc8Errors

   gBondTdimPortStatCrc8Errors  OBJECT-TYPE
     SYNTAX      Counter32
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "The total number of CRC-8 errors (event/message error) on all
       pairs in the G.Bond/TDIM port. Simultaneous errors on M lines
       SHOULD be counted M times.

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

       This object maps to TR-159/G.998.3 attribute aCRC8Errors."
     REFERENCE
       "[TR-159] 5.5.4.3; [G.998.3] Appendix II, B-IX"
     ::= { gBondTdimPortStatusEntry gBondTdimPortStatEntry 5 }

   gBondTdimOperServiceTable

   gBondTdimOperSvcTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF GBondTdimOperServiceEntry GBondTdimOperSvcEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "Table of the operational Services configured on a G.Bond/TDIM
       port. This table reflects current actual service configuration,
       set by the gBondTdimAdminServices gBondTdimPortConfAdminServices object. The number of
       entries (services) in this table is therefore can vary between
       0, when no services are configured, and 60, for the maximum
       number of services.
       This table contains live data from the equipment. As such,
       it is NOT persistent."
     ::= { gBondTdimPort 4 }

   gBondTdimOperServiceEntry

   gBondTdimOperSvcEntry OBJECT-TYPE
     SYNTAX      GBondTdimOperServiceEntry      GBondTdimOperSvcEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An entry in the G.Bond/TDIM Port Operational Service table,
       containing the index of an active Service entry in the
       gBondTdimServiceTable.
       gBondTdimSvcTable. The entry is indexed by ifIndex,
       indicating corresponding G.Bond/TDIM port, and by
       gBondTdimServicePosition
       gBondTdimOperSvcPosition (1..60), indicating the
       corresponding service position in the G.Bond/TDIM frame."
     INDEX  { ifIndex, gBondTdimServicePosition gBondTdimOperSvcPosition }
     ::= { gBondTdimOperServiceTable gBondTdimOperSvcTable 1 }

   GBondTdimOperServiceEntry

   GBondTdimOperSvcEntry ::=
     SEQUENCE {
       gBondTdimServicePosition      GBondTdimServiceOrderIndex,
       gBondTdimServiceOperIdx       GBondTdimServiceIndex,
       gBondTdimServiceOperState
       gBondTdimOperSvcPosition          GBondTdimSvcOrderIndex,
       gBondTdimOperSvcIdx               GBondTdimSvcIndex,
       gBondTdimOperSvcState             INTEGER
     }

   gBondTdimServicePosition

   gBondTdimOperSvcPosition OBJECT-TYPE
     SYNTAX      GBondTdimServiceOrderIndex      GBondTdimSvcOrderIndex
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "G.Bond/TDIM operational Service position - a unique index,
       indicating relative placement of the associated service
       pointed by gBondTdimServiceOperIdx, gBondTdimOperSvcIdx, within the G.Bond/TDIM frame.

       There can be up to 60 services defined over TDIM bonded
       facility. Services with lower indices have higher priority in
       case of bandwidth degradation.

       The value of gBondTdimServicePosition gBondTdimOperSvcPosition for the first
       gBondTdimOperServiceEntry
       gBondTdimOperSvcEntry is always 1, incrementing sequentially
       for each consecutive entry, i.e. 2 for the second entry, 3 for
       the third etc.

       This objects maps to TR-159/G.998.3 attribute aServiceID."
     REFERENCE
       "[TR-159] 5.5.5.1; [G.998.3] Appendix II, C-I"
     ::= { gBondTdimOperServiceEntry gBondTdimOperSvcEntry 1 }

   gBondTdimServiceOperIdx

   gBondTdimOperSvcIdx OBJECT-TYPE
     SYNTAX      GBondTdimServiceIndex      GBondTdimSvcIndex
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "G.Bond/TDIM operational Service index - a read-only pointer to
       an existing entry in the gBondTdimServiceTable gBondTdimSvcTable (value of
       gBondTdimServiceIdx),
       gBondTdimSvcIdx), describing a particular service."
     ::= { gBondTdimOperServiceEntry gBondTdimOperSvcEntry 2 }

   gBondTdimServiceOperState

   gBondTdimOperSvcState  OBJECT-TYPE
     SYNTAX      INTEGER {
       up(1),
       down(2)
     }
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "G.Bond/TDIM Service Operational State.

       Possible values are:
         up                  - Service is up passing traffic.
         down                - Service is down, due to a variety of
                               reasons, e.g. G.Bond/TDIM port is
                               down, current link bandwidth is too
                               low to support a particular service,
                               etc.
       This objects maps to TR-159 attribute aServiceOperState."
     REFERENCE
       "[TR-159] 5.5.5.5"
     ::= { gBondTdimOperServiceEntry gBondTdimOperSvcEntry 3 }

   gBondTdimServiceTable

   gBondTdimSvcTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF GBondTdimServiceEntry GBondTdimSvcEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "Table of possible Services for a G.Bond/TDIM ports.
       Entries in this table MUST be maintained in a persistent
       manner"
     ::= { gBondTdimPort 5 }

   gBondTdimServiceEntry

   gBondTdimSvcEntry OBJECT-TYPE
     SYNTAX      GBondTdimServiceEntry      GBondTdimSvcEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An entry in the G.Bond/TDIM Port Service table, containing
       the management information applicable to a particular Service,
       indexed by the gBondTdimServiceIdx, gBondTdimSvcIdx, on a G.Bond/TDIM port,
       indexed by the ifIndex."
     INDEX  { ifIndex, gBondTdimServiceIdx gBondTdimSvcIdx }
     ::= { gBondTdimServiceTable gBondTdimSvcTable 1 }

   GBondTdimServiceEntry

   GBondTdimSvcEntry ::=
     SEQUENCE {
       gBondTdimServiceIdx           GBondTdimServiceIndex,
       gBondTdimServiceIfIdx
       gBondTdimSvcIdx           GBondTdimSvcIndex,
       gBondTdimSvcIfIdx         InterfaceIndex,
       gBondTdimServiceType
       gBondTdimSvcType          INTEGER,
       gBondTdimServiceSize
       gBondTdimSvcSize          Unsigned32,
       gBondTdimServiceRowStatus
       gBondTdimSvcRowStatus     RowStatus
     }

   gBondTdimServiceIdx

   gBondTdimSvcIdx OBJECT-TYPE
     SYNTAX      GBondTdimServiceIndex      GBondTdimSvcIndex
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "G.Bond/TDIM Service index - a unique index associated with
       a particular service entry."
     ::= { gBondTdimServiceEntry gBondTdimSvcEntry 1 }

   gBondTdimServiceIfIdx

   gBondTdimSvcIfIdx OBJECT-TYPE
     SYNTAX      InterfaceIndex
     MAX-ACCESS  read-write  read-create
     STATUS      current
     DESCRIPTION
       "This is a unique index within the ifTable. It represents
       the interface index of a service to be transmitted over the
       G.Bond/TDIM service instance.

       This objects maps to TR-159 attribute aServiceIfIndex."
     REFERENCE
       "[TR-159] 5.5.5.2"
     ::= { gBondTdimServiceEntry gBondTdimSvcEntry 2 }

   gBondTdimServiceType

   gBondTdimSvcType  OBJECT-TYPE
     SYNTAX      INTEGER {
       ds1(0),
       e1(1),
       nxds0(2),
       nxe0(3),
       ds3(4),
       e3(5),
       clock(6),
       ethernet(7),
       atm(8),
       gfpNoFCS(9),
       gfp(10)
     }
     MAX-ACCESS  read-write  read-create
     STATUS      current
     DESCRIPTION
       "G.Bond/TDIM Service Type.

       Possible values are:
         ds1            - Clear Channel DS1 (synchronous)
         e1             - Clear Channel E1 (synchronous)
         nxds0          - Fractional DS1 (synchronous)
         nxe0           - Fractional E1 (synchronous)
         ds3            - DS3 (synchronous)
         e3             - E3 (synchronous)
         clock          - Clock transfer (synchronous)
         ethernet       - Ethernet (asynchronous)
         atm            - ATM (asynchronous)
         gfpNoFCS       - GFP encapsulated without FCS (asynchronous)
         gfp            - GFP encapsulated with FCS (asynchronous)

       For the GBS-R ports, the value of this object cannot be
       changed directly. This value may be changed as a result of
       writing operation on the gBondTdimServiceType gBondTdimSvcType object of a
       remote GBS-C.

       Attempts to change this object MUST be rejected for the GBS-R
       ports.

       This object MUST be maintained in a persistent manner.

       This object maps to TR-159/G.998.3 attribute aServiceType."
     REFERENCE
       "[TR-159] 5.5.5.3; [G.998.3] Appendix II, C-II"
     ::= { gBondTdimServiceEntry gBondTdimSvcEntry 3 }

   gBondTdimServiceSize

   gBondTdimSvcSize  OBJECT-TYPE
     SYNTAX      Unsigned32(0|20..255)
     UNITS       "octets"
     MAX-ACCESS  read-write  read-create
     STATUS      current
     DESCRIPTION
       "Service size in octets per bonding sub-block for a specific
       service identified by gBondTdimServiceIdx. gBondTdimSvcIdx.

       For TDM (synchronous) services with variable size
       e.g. fractional DS1/E1 - this object represents the number of
       DS0/E0 channels.
       For asynchronous services (Ethernet, ATM, GFPnoFCS or GFP) -
       this object represents max. number of octets.
       For non-fractional TDM services, i.e. DS1, E1, DS3, E3 and
       Clock, the value of this object MUST be 0.

       A GET operation returns current value.
       A SET operation, allowed on GBS-C ports, changes the service
       size to the indicated value. If the service type is a fixed
       rate synchronous service (gBondTdimServiceType (gBondTdimSvcType is nxds0, nxe0,
       ds1, e1, ds3, e3 or clock), the operation MUST be rejected.

       This object MUST be maintained in a persistent manner.

       This object maps to TR-159/G.998.3 attribute aServiceSize."
     REFERENCE
       "[TR-159] 5.5.5.4; [G.998.3] Appendix II, C-III"
     ::= { gBondTdimServiceEntry gBondTdimSvcEntry 4 }

   gBondTdimServiceRowStatus

   gBondTdimSvcRowStatus  OBJECT-TYPE
     SYNTAX      RowStatus
     MAX-ACCESS  read-create
     STATUS      current
     DESCRIPTION
       "This object controls the creation, modification, or deletion
       of the associated entry in the gBondTdimServiceTable gBondTdimSvcTable per the
       semantics of RowStatus.

       If an 'active' entry is referenced via gBondTdimServiceOperIdx gBondTdimOperSvcIdx
       or gBondTdimAdminServices gBondTdimPortConfAdminServices instance or indexes a
       gBondTdimServicePerf*Entry,
       gBondTdimSvcPm*Entry, the entry MUST remain
       'active'.

       An 'active' entry SHALL NOT be modified. In order to modify an
       existing entry, it MUST be taken out of service (by setting
       this object to 'notInService'), modified, and set 'active'
       again."
     ::= { gBondTdimServiceEntry gBondTdimSvcEntry 5 }

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

   gBondTdimPM   OBJECT IDENTIFIER ::= { gBondTdimPort 6 }

   gBondTdimPortPerfCurrTable

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

   gBondTdimPortPerfCurrEntry

   gBondTdimPortPmCurEntry OBJECT-TYPE
     SYNTAX      GBondTdimPortPerfCurrEntry      GBondTdimPortPmCurEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An entry in the G.Bond/TDIM Port PM table.
       Each entry represents a G.Bond/TDIM port indexed by the
       ifIndex."
     INDEX  { ifIndex }
     ::= { gBondTdimPortPerfCurrTable gBondTdimPortPmCurTable 1 }

   GBondTdimPortPerfCurrEntry

   GBondTdimPortPmCurEntry ::=
     SEQUENCE {
       gBondTdimPortPerf15MinValidIntervals
       gBondTdimPortPmCur15MinValidIntervals   HCPerfValidIntervals,
       gBondTdimPortPerf15MinInvalidIntervals
       gBondTdimPortPmCur15MinInvalidIntervals HCPerfInvalidIntervals,
       gBondTdimPortPerfCurr15MinTimeElapsed
       gBondTdimPortPmCur15MinTimeElapsed      HCPerfTimeElapsed,
       gBondTdimPortPerfCurr15MinCrc4s
       gBondTdimPortPmCur15MinCrc4s            HCPerfCurrentCount,
       gBondTdimPortPerfCurr15MinCrc6s
       gBondTdimPortPmCur15MinCrc6s            HCPerfCurrentCount,
       gBondTdimPortPerfCurr15MinCrc8s
       gBondTdimPortPmCur15MinCrc8s            HCPerfCurrentCount,
       gBondTdimPortPerf1DayValidIntervals
       gBondTdimPortPmCur1DayValidIntervals    Unsigned32,
       gBondTdimPortPerf1DayInvalidIntervals
       gBondTdimPortPmCur1DayInvalidIntervals  Unsigned32,
       gBondTdimPortPerfCurr1DayTimeElapsed
       gBondTdimPortPmCur1DayTimeElapsed       HCPerfTimeElapsed,
       gBondTdimPortPerfCurr1DayCrc4s
       gBondTdimPortPmCur1DayCrc4s             HCPerfCurrentCount,
       gBondTdimPortPerfCurr1DayCrc6s
       gBondTdimPortPmCur1DayCrc6s             HCPerfCurrentCount,
       gBondTdimPortPerfCurr1DayCrc8s
       gBondTdimPortPmCur1DayCrc8s             HCPerfCurrentCount
     }

   gBondTdimPortPerf15MinValidIntervals

   gBondTdimPortPmCur15MinValidIntervals  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 minutes 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] 5.5.1.32"
     ::= { gBondTdimPortPerfCurrEntry gBondTdimPortPmCurEntry 1 }

   gBondTdimPortPerf15MinInvalidIntervals

   gBondTdimPortPmCur15MinInvalidIntervals  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] 5.5.1.33"
     ::= { gBondTdimPortPerfCurrEntry gBondTdimPortPmCurEntry 2 }

   gBondTdimPortPerfCurr15MinTimeElapsed

   gBondTdimPortPmCur15MinTimeElapsed  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] 5.5.1.34"
     ::= { gBondTdimPortPerfCurrEntry gBondTdimPortPmCurEntry 3 }

   gBondTdimPortPerfCurr15MinCrc4s

   gBondTdimPortPmCur15MinCrc4s  OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of CRC-4 errors (frame header errors) on all
       active pairs in the G.Bond/TDIM port during the current
       15-minute performance interval.
       Simultaneous errors on M lines SHOULD be counted M times.

       Note that the total number of CRC-4 errors is indicated by the
       gBondTdimCrc4Errors
       gBondTdimPortStatCrc4Errors object.

       This object is inhibited during Severely Errored Seconds (SES)
       or Unavailable Seconds (UAS)."
     REFERENCE
       "[TR-159] 5.5.4.1"
     ::= { gBondTdimPortPerfCurrEntry gBondTdimPortPmCurEntry 4}

   gBondTdimPortPerfCurr15MinCrc6s

   gBondTdimPortPmCur15MinCrc6s  OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of CRC-6 errors (super-frame errors) on all
       active pairs in the G.Bond/TDIM port during the current
       15-minute performance interval.
       Simultaneous errors on M lines SHOULD be counted 1 time.

       Note that the total number of CRC-6 errors is indicated by the
       gBondTdimCrc6Errors
       gBondTdimPortStatCrc6Errors object.

       This object is inhibited during Unavailable Seconds (UAS)."
     REFERENCE
       "[TR-159] 5.5.4.2"
     ::= { gBondTdimPortPerfCurrEntry gBondTdimPortPmCurEntry 5}

   gBondTdimPortPerfCurr15MinCrc8s

   gBondTdimPortPmCur15MinCrc8s  OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of CRC-8 errors (event/message errors) on all
       active pairs in the G.Bond/TDIM port during the current
       15-minute performance interval.
       Simultaneous errors on M lines SHOULD be counted M times.

       Note that the total number of CRC-8 errors is indicated by the
       gBondTdimCrc8Errors
       gBondTdimPortStatCrc8Errors object.

       This object is inhibited during Unavailable Seconds (UAS)."
     REFERENCE
       "[TR-159] 5.5.4.3"
     ::= { gBondTdimPortPerfCurrEntry gBondTdimPortPmCurEntry 6}

   gBondTdimPortPerf1DayValidIntervals

   gBondTdimPortPmCur1DayValidIntervals  OBJECT-TYPE
     SYNTAX      Unsigned32 (0..7)
     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] 5.5.1.45"
     ::= { gBondTdimPortPerfCurrEntry gBondTdimPortPmCurEntry 7 }

   gBondTdimPortPerf1DayInvalidIntervals

   gBondTdimPortPmCur1DayInvalidIntervals  OBJECT-TYPE
     SYNTAX      Unsigned32 (0..7)
     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] 5.5.1.46"
     ::= { gBondTdimPortPerfCurrEntry gBondTdimPortPmCurEntry 8 }

   gBondTdimPortPerfCurr1DayTimeElapsed

   gBondTdimPortPmCur1DayTimeElapsed  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] 5.5.1.47"
     ::= { gBondTdimPortPerfCurrEntry gBondTdimPortPmCurEntry 9 }

   gBondTdimPortPerfCurr1DayCrc4s

   gBondTdimPortPmCur1DayCrc4s  OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of CRC-4 errors on the G.Bond/TDIM port in
       the current 1-day performance interval.

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

   gBondTdimPortPerfCurr1DayCrc6s

   gBondTdimPortPmCur1DayCrc6s  OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of CRC-6 errors on the G.Bond/TDIM port
       in the current 1-day performance interval.

       This object is inhibited during Unavailable Seconds (UAS)."
     ::= { gBondTdimPortPerfCurrEntry gBondTdimPortPmCurEntry 11 }

   gBondTdimPortPerfCurr1DayCrc8s

   gBondTdimPortPmCur1DayCrc8s  OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count ofCRC-8 on the G.Bond/TDIM port in
       the current 1-day performance interval.

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

   -- Port PM history: 15-min buckets

   gBondTdimPortPerf15MinTable

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

   gBondTdimPortPerf15MinEntry

   gBondTdimPortPm15MinEntry OBJECT-TYPE
     SYNTAX      GBondTdimPortPerf15MinEntry      GBondTdimPortPm15MinEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An entry in the G.Bond/TDIM Port historical 15-minute PM table.
       Each entry represents performance monitoring data for a G.Bond
       TDIM port, indexed by ifIndex, collected during a particular
       15-minute interval, indexed by
       gBondTdimPortPerf15MinIntervalIndex."
       gBondTdimPortPm15MinIntervalIndex."
     INDEX  { ifIndex, gBondTdimPortPerf15MinIntervalIndex gBondTdimPortPm15MinIntervalIndex }
     ::= { gBondTdimPortPerf15MinTable gBondTdimPortPm15MinTable 1 }

   GBondTdimPortPerf15MinEntry

   GBondTdimPortPm15MinEntry ::=
     SEQUENCE {
       gBondTdimPortPerf15MinIntervalIndex
       gBondTdimPortPm15MinIntervalIndex      Unsigned32,
       gBondTdimPortPerf15MinIntervalMoniTime
       gBondTdimPortPm15MinIntervalMoniTime   HCPerfTimeElapsed,
       gBondTdimPortPerf15MinIntervalCrc4s
       gBondTdimPortPm15MinIntervalCrc4s      HCPerfIntervalCount,
       gBondTdimPortPerf15MinIntervalCrc6s
       gBondTdimPortPm15MinIntervalCrc6s      HCPerfIntervalCount,
       gBondTdimPortPerf15MinIntervalCrc8s
       gBondTdimPortPm15MinIntervalCrc8s      HCPerfIntervalCount,
       gBondTdimPortPerf15MinIntervalValid
       gBondTdimPortPm15MinIntervalValid      TruthValue
     }

   gBondTdimPortPerf15MinIntervalIndex

   gBondTdimPortPm15MinIntervalIndex  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] 5.5.1.57"
     ::= { gBondTdimPortPerf15MinEntry gBondTdimPortPm15MinEntry 1 }

   gBondTdimPortPerf15MinIntervalMoniTime

   gBondTdimPortPm15MinIntervalMoniTime  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."
     ::= { gBondTdimPortPerf15MinEntry gBondTdimPortPm15MinEntry 2 }

   gBondTdimPortPerf15MinIntervalCrc4s

   gBondTdimPortPm15MinIntervalCrc4s  OBJECT-TYPE
     SYNTAX      HCPerfIntervalCount
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of CRC-4 errors on the G.Bond/TDIM port
       during the 15-minute performance history interval.

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

   gBondTdimPortPerf15MinIntervalCrc6s

   gBondTdimPortPm15MinIntervalCrc6s  OBJECT-TYPE
     SYNTAX      HCPerfIntervalCount
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of CRC-6 erorrs on the G.Bond/TDIM port
       during the 15-minute performance history interval.

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

   gBondTdimPortPerf15MinIntervalCrc8s

   gBondTdimPortPm15MinIntervalCrc8s  OBJECT-TYPE
     SYNTAX      HCPerfIntervalCount
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of CRC-8 errors on the G.Bond/TDIM port
       during the current 15-minute performance interval.

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

   gBondTdimPortPerf15MinIntervalValid

   gBondTdimPortPm15MinIntervalValid  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. Valid bucket is reported as true(1)
       and invalid bucket as false(2).
       If this history bucket is invalid the BTU-C 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 data base. In such case this object is
       not required as only valid history buckets are available while
       invalid history buckets are simply not in the data base.

       This object partially maps to the TR-159 attribute
       aGroupPerf15MinIntervalValid."
     REFERENCE
       "[TR-159] 5.5.1.58"
     ::= { gBondTdimPortPerf15MinEntry gBondTdimPortPm15MinEntry 6 }

   -- Port PM history: 1-day buckets

   gBondTdimPortPerf1DayTable

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

   gBondTdimPortPerf1DayEntry

   gBondTdimPortPm1DayEntry OBJECT-TYPE
     SYNTAX      GBondTdimPortPerf1DayEntry      GBondTdimPortPm1DayEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An entry in the G.Bond/TDIM port historical 1-day PM table.
       Each entry represents performance monitoring data for such port,
       indexed by ifIndex, collected during a particular 1-day
       interval, indexed by gBondTdimPortPerf1DayIntervalIndex." gBondTdimPortPm1DayIntervalIndex."
     INDEX  { ifIndex, gBondTdimPortPerf1DayIntervalIndex gBondTdimPortPm1DayIntervalIndex }
     ::= { gBondTdimPortPerf1DayTable gBondTdimPortPm1DayTable 1 }

   GBondTdimPortPerf1DayEntry

   GBondTdimPortPm1DayEntry ::=
     SEQUENCE {
       gBondTdimPortPerf1DayIntervalIndex
       gBondTdimPortPm1DayIntervalIndex      Unsigned32,
       gBondTdimPortPerf1DayIntervalMoniTime
       gBondTdimPortPm1DayIntervalMoniTime   HCPerfTimeElapsed,
       gBondTdimPortPerf1DayIntervalCrc4s
       gBondTdimPortPm1DayIntervalCrc4s      HCPerfIntervalCount,
       gBondTdimPortPerf1DayIntervalCrc6s
       gBondTdimPortPm1DayIntervalCrc6s      HCPerfIntervalCount,
       gBondTdimPortPerf1DayIntervalCrc8s
       gBondTdimPortPm1DayIntervalCrc8s      HCPerfIntervalCount,
       gBondTdimPortPerf1DayIntervalValid
       gBondTdimPortPm1DayIntervalValid      TruthValue
     }

   gBondTdimPortPerf1DayIntervalIndex

   gBondTdimPortPm1DayIntervalIndex  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 7 days ago.
       Intervals 2..7 are OPTIONAL.

       This object partially maps to the TR-159 attribute
       aGroupPerf1DayIntervalNumber."
     REFERENCE
       "[TR-159] 5.5.1.62"
     ::= { gBondTdimPortPerf1DayEntry gBondTdimPortPm1DayEntry 1 }

   gBondTdimPortPerf1DayIntervalMoniTime

   gBondTdimPortPm1DayIntervalMoniTime  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 (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] 5.5.1.64"
     ::= { gBondTdimPortPerf1DayEntry gBondTdimPortPm1DayEntry 2 }

   gBondTdimPortPerf1DayIntervalCrc4s

   gBondTdimPortPm1DayIntervalCrc4s  OBJECT-TYPE
     SYNTAX      HCPerfIntervalCount
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of CRC-4 errors on the G.Bond/TDIM port
       during the 1-day performance history interval.

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

   gBondTdimPortPerf1DayIntervalCrc6s

   gBondTdimPortPm1DayIntervalCrc6s  OBJECT-TYPE
     SYNTAX      HCPerfIntervalCount
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of CRC-6 errors on the G.Bond/TDIM port
       during the 1-day performance history interval.

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

     ::= { gBondTdimPortPerf1DayEntry gBondTdimPortPm1DayEntry 4 }

   gBondTdimPortPerf1DayIntervalCrc8s

   gBondTdimPortPm1DayIntervalCrc8s  OBJECT-TYPE
     SYNTAX      HCPerfIntervalCount
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of CRC-6 errors on the G.Bond/TDIM port
       during the current 1-day performance interval.

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

   gBondTdimPortPerf1DayIntervalValid

   gBondTdimPortPm1DayIntervalValid  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. Valid bucket is reported as true(1)
       and invalid bucket as false(2).
       If this history bucket is invalid the BTU-C 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 data base. In such case this object is
       not required as only valid history buckets are available while
       invalid history buckets are simply not in the data base.

       This object partially maps to the TR-159 attribute
       aGroupPerf1DayIntervalValid."
     REFERENCE
       "[TR-159] 5.5.1.63"
     ::= { gBondTdimPortPerf1DayEntry gBondTdimPortPm1DayEntry 6 }

   -- Services PM

   gBondTdimServicePerfCurrTable

   gBondTdimSvcPmCurTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF GBondTdimServicePerfCurrEntry GBondTdimSvcPmCurEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "This table contains current Performance Monitoring information
       for the services of a G.Bond/TDIM port.
       This table contains live data from the equipment and as such is
       NOT persistent."
     ::= { gBondTdimPM 4 }

   gBondTdimServicePerfCurrEntry

   gBondTdimSvcPmCurEntry OBJECT-TYPE
     SYNTAX      GBondTdimServicePerfCurrEntry      GBondTdimSvcPmCurEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An entry in the G.Bond/TDIM Services PM table.
       Each entry represents a service, indexed by the
       gBondTdimServiceIdx,
       gBondTdimSvcIdx, in a G.Bond/TDIM port, indexed by the
       ifIndex."
     INDEX  { ifIndex, gBondTdimServiceIdx gBondTdimSvcIdx }
     ::= { gBondTdimServicePerfCurrTable gBondTdimSvcPmCurTable 1 }

   GBondTdimServicePerfCurrEntry

   GBondTdimSvcPmCurEntry ::=
     SEQUENCE {
       gBondTdimServicePerf15MinValidIntervals
       gBondTdimSvcPmCur15MinValidIntervals   HCPerfValidIntervals,
       gBondTdimServicePerf15MinInvalidIntervals
       gBondTdimSvcPmCur15MinInvalidIntervals HCPerfInvalidIntervals,
       gBondTdimServicePerfCurr15MinTimeElapsed
       gBondTdimSvcPmCur15MinTimeElapsed      HCPerfTimeElapsed,
       gBondTdimServicePerfCurr15MinDowns
       gBondTdimSvcPmCur15MinDowns            HCPerfCurrentCount,
       gBondTdimServicePerf1DayValidIntervals
       gBondTdimSvcPmCur1DayValidIntervals    Unsigned32,
       gBondTdimServicePerf1DayInvalidIntervals
       gBondTdimSvcPmCur1DayInvalidIntervals  Unsigned32,
       gBondTdimServicePerfCurr1DayTimeElapsed
       gBondTdimSvcPmCur1DayTimeElapsed       HCPerfTimeElapsed,
       gBondTdimServicePerfCurr1DayDowns
       gBondTdimSvcPmCur1DayDowns             HCPerfCurrentCount
     }

   gBondTdimServicePerf15MinValidIntervals

   gBondTdimSvcPmCur15MinValidIntervals  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 minutes 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] 5.5.1.32"
     ::= { gBondTdimServicePerfCurrEntry gBondTdimSvcPmCurEntry 1 }

   gBondTdimServicePerf15MinInvalidIntervals

   gBondTdimSvcPmCur15MinInvalidIntervals  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] 5.5.1.33"
     ::= { gBondTdimServicePerfCurrEntry gBondTdimSvcPmCurEntry 2 }

   gBondTdimServicePerfCurr15MinTimeElapsed

   gBondTdimSvcPmCur15MinTimeElapsed  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] 5.5.1.34"
     ::= { gBondTdimServicePerfCurrEntry gBondTdimSvcPmCurEntry 3 }

   gBondTdimServicePerfCurr15MinDowns

   gBondTdimSvcPmCur15MinDowns  OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     UNITS       "seconds"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of seconds in the current 15-minute
       performance interval, during which a particular TDIM
       Service was 'down', as indicated by the
       gBondTdimServiceOperState
       gBondTdimOperSvcState object.

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

   gBondTdimServicePerf1DayValidIntervals

   gBondTdimSvcPmCur1DayValidIntervals  OBJECT-TYPE
     SYNTAX      Unsigned32 (0..7)
     UNITS       "days"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only number of 1-day performance history intervals for
       which the 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] 5.5.1.45"
     ::= { gBondTdimServicePerfCurrEntry gBondTdimSvcPmCurEntry 5 }

   gBondTdimServicePerf1DayInvalidIntervals

   gBondTdimSvcPmCur1DayInvalidIntervals  OBJECT-TYPE
     SYNTAX      Unsigned32 (0..7)
     UNITS       "days"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only number of 1-day performance history 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."
     REFERENCE
       "[TR-159] 5.5.1.46"
     ::= { gBondTdimServicePerfCurrEntry gBondTdimSvcPmCurEntry 6 }

   gBondTdimServicePerfCurr1DayTimeElapsed

   gBondTdimSvcPmCur1DayTimeElapsed  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] 5.5.1.47"
     ::= { gBondTdimServicePerfCurrEntry gBondTdimSvcPmCurEntry 7 }

   gBondTdimServicePerfCurr1DayDowns

   gBondTdimSvcPmCur1DayDowns  OBJECT-TYPE
     SYNTAX      HCPerfCurrentCount
     UNITS       "seconds"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of seconds in the current 1-day performance
       interval, during which a particular TDIM Service was
       'down', as indicated by the gBondTdimServiceOperState gBondTdimOperSvcState object.

       This object is inhibited during Unavailable Seconds (UAS)."
     ::= { gBondTdimServicePerfCurrEntry gBondTdimSvcPmCurEntry 8 }

   -- Service PM history: 15-min buckets

   gBondTdimServicePerf15MinTable

   gBondTdimSvcPm15MinTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF GBondTdimServicePerf15MinEntry GBondTdimSvcPm15MinEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "This table contains historical 15-minute buckets of Performance
       Monitoring information for the Services of a G.Bond/TDIM port
       (a multi-dimensional row for each 15-minute interval, up to 96
       intervals).

       Entries in this table MUST be maintained in a persistent manner."
     ::= { gBondTdimPM 5 }

   gBondTdimServicePerf15MinEntry

   gBondTdimSvcPm15MinEntry OBJECT-TYPE
     SYNTAX      GBondTdimServicePerf15MinEntry      GBondTdimSvcPm15MinEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An entry in the G.Bond/TDIM Services historical 15-minute PM
       table.
       Each entry represents performance monitoring data for a
       particular Service, indexed by gBondTdimServiceIdx, gBondTdimSvcIdx, in a G.Bond
       TDIM port, indexed by ifIndex, collected during a particular
       15-minute interval, indexed by
       gBondTdimServicePerf15MinIntervalIndex."
       gBondTdimSvcPm15MinIntervalIndex."
     INDEX  { ifIndex, gBondTdimServiceIdx,
              gBondTdimServicePerf15MinIntervalIndex gBondTdimSvcIdx,
              gBondTdimSvcPm15MinIntervalIndex }
     ::= { gBondTdimServicePerf15MinTable gBondTdimSvcPm15MinTable 1 }

   GBondTdimServicePerf15MinEntry

   GBondTdimSvcPm15MinEntry ::=
     SEQUENCE {
       gBondTdimServicePerf15MinIntervalIndex
       gBondTdimSvcPm15MinIntervalIndex      Unsigned32,
       gBondTdimServicePerf15MinIntervalMoniTime
       gBondTdimSvcPm15MinIntervalMoniTime   HCPerfTimeElapsed,
       gBondTdimServicePerf15MinIntervalDowns
       gBondTdimSvcPm15MinIntervalDowns      HCPerfIntervalCount,
       gBondTdimServicePerf15MinIntervalValid
       gBondTdimSvcPm15MinIntervalValid      TruthValue
     }

   gBondTdimServicePerf15MinIntervalIndex

   gBondTdimSvcPm15MinIntervalIndex  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] 5.5.1.57"
     ::= { gBondTdimServicePerf15MinEntry gBondTdimSvcPm15MinEntry 1 }

   gBondTdimServicePerf15MinIntervalMoniTime

   gBondTdimSvcPm15MinIntervalMoniTime  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."
     ::= { gBondTdimServicePerf15MinEntry gBondTdimSvcPm15MinEntry 2 }

   gBondTdimServicePerf15MinIntervalDowns

   gBondTdimSvcPm15MinIntervalDowns  OBJECT-TYPE
     SYNTAX      HCPerfIntervalCount
     UNITS       "seconds"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of seconds in the 15-minute performance
       history interval, during which a particular TDIM Service was
       'down', as indicated by the gBondTdimServiceOperState gBondTdimOperSvcState object.

       This object is inhibited during Unavailable Seconds (UAS)."
     ::= { gBondTdimServicePerf15MinEntry gBondTdimSvcPm15MinEntry 3 }

   gBondTdimServicePerf15MinIntervalValid

   gBondTdimSvcPm15MinIntervalValid  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. Valid bucket is reported as true(1)
       and invalid bucket as false(2).
       If this history bucket is invalid the BTU-C 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 data base. In such case this object is
       not required as only valid history buckets are available while
       invalid history buckets are simply not in the data base.

       This object partially maps to the TR-159 attribute
       aGroupPerf15MinIntervalValid."
     REFERENCE
       "[TR-159] 5.5.1.58"
     ::= { gBondTdimServicePerf15MinEntry gBondTdimSvcPm15MinEntry 4 }

   -- Service PM history: 1-day buckets

   gBondTdimServicePerf1DayTable

   gBondTdimSvcPm1DayTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF GBondTdimServicePerf1DayEntry GBondTdimSvcPm1DayEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "This table contains historical 1-day buckets of Performance
       Monitoring information for the Services of a G.Bond/TDIM port
       (a multi-dimensional row for each 1-day interval, up to 7
       intervals).
       Entries in this table MUST be maintained in a persistent manner."
     ::= { gBondTdimPM 6 }

   gBondTdimServicePerf1DayEntry

   gBondTdimSvcPm1DayEntry OBJECT-TYPE
     SYNTAX      GBondTdimServicePerf1DayEntry      GBondTdimSvcPm1DayEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
       "An entry in the G.Bond/TDIM Service historical 1-day PM table.
       Each entry represents performance monitoring data for a
       particular Service, indexed by gBondTdimServiceIdx, gBondTdimSvcIdx, defined in a
       G.Bond/TDIM port, indexed by ifIndex, collected during a
       particular 1-day interval, indexed by
       gBondTdimServicePerf1DayIntervalIndex."
       gBondTdimSvcPm1DayIntervalIndex."
     INDEX  { ifIndex, gBondTdimServiceIdx,
              gBondTdimServicePerf1DayIntervalIndex gBondTdimSvcIdx,
              gBondTdimSvcPm1DayIntervalIndex }
     ::= { gBondTdimServicePerf1DayTable gBondTdimSvcPm1DayTable 1 }

   GBondTdimServicePerf1DayEntry

   GBondTdimSvcPm1DayEntry ::=
     SEQUENCE {
       gBondTdimServicePerf1DayIntervalIndex
       gBondTdimSvcPm1DayIntervalIndex       Unsigned32,
       gBondTdimServicePerf1DayIntervalMoniTime
       gBondTdimSvcPm1DayIntervalMoniTime    HCPerfTimeElapsed,
       gBondTdimServicePerf1DayIntervalDowns
       gBondTdimSvcPm1DayIntervalDowns       HCPerfIntervalCount,
       gBondTdimServicePerf1DayIntervalValid
       gBondTdimSvcPm1DayIntervalValid       TruthValue
     }

   gBondTdimServicePerf1DayIntervalIndex

   gBondTdimSvcPm1DayIntervalIndex  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 7 days ago.
       Intervals 2..7 are OPTIONAL.

       This object partially maps to the TR-159 attribute
       aGroupPerf1DayIntervalNumber."
     REFERENCE
       "[TR-159] 5.5.1.62"
     ::= { gBondTdimServicePerf1DayEntry gBondTdimSvcPm1DayEntry 1 }

   gBondTdimServicePerf1DayIntervalMoniTime

   gBondTdimSvcPm1DayIntervalMoniTime  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 (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] 5.5.1.64"
     ::= { gBondTdimServicePerf1DayEntry gBondTdimSvcPm1DayEntry 2 }

   gBondTdimServicePerf1DayIntervalDowns

   gBondTdimSvcPm1DayIntervalDowns  OBJECT-TYPE
     SYNTAX      HCPerfIntervalCount
     UNITS       "seconds"
     MAX-ACCESS  read-only
     STATUS      current
     DESCRIPTION
       "A read-only count of seconds in the 1-day performance history
       interval, during which a particular TDIM Service was 'down',
       as indicated by the gBondTdimServiceOperState gBondTdimOperSvcState object.

       This object is inhibited during Unavailable Seconds (UAS)."
     ::= { gBondTdimServicePerf1DayEntry gBondTdimSvcPm1DayEntry 3 }

   gBondTdimServicePerf1DayIntervalValid

   gBondTdimSvcPm1DayIntervalValid  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. Valid bucket is reported as true(1)
       and invalid bucket as false(2).
       If this history bucket is invalid the BTU-C 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 data base. In such case this object is
       not required as only valid history buckets are available while
       invalid history buckets are simply not in the data base.

       This object partially maps to the TR-159 attribute
       aGroupPerf1DayIntervalValid."
     REFERENCE
       "[TR-159] 5.5.1.63"
     ::= { gBondTdimServicePerf1DayEntry gBondTdimSvcPm1DayEntry 4 }

  --
  -- Conformance Statements
  --

   gBondTdimGroups      OBJECT IDENTIFIER
     ::= { gBondTdimConformance 1 }

   gBondTdimCompliances OBJECT IDENTIFIER
     ::= { gBondTdimConformance 2 }

   -- Object Groups

   gBondTdimBasicGroup OBJECT-GROUP
     OBJECTS {
       gBondTdimAdminServices,
       gBondTdimCrc4Errors,
       gBondTdimCrc6Errors,
       gBondTdimCrc8Errors,
       gBondTdimFecSupported,
       gBondTdimServicePosition,
       gBondTdimServiceOperIdx,
       gBondTdimServiceOperState,
       gBondTdimServiceIfIdx,
       gBondTdimServiceType,
       gBondTdimServiceSize,
       gBondTdimServiceRowStatus,
       gBondTdimFltStatus
       gBondTdimPortConfAdminServices,
       gBondTdimPortStatCrc4Errors,
       gBondTdimPortStatCrc6Errors,
       gBondTdimPortStatCrc8Errors,
       gBondTdimPortCapFecSupported,
       gBondTdimOperSvcPosition,
       gBondTdimOperSvcIdx,
       gBondTdimOperSvcState,
       gBondTdimSvcIfIdx,
       gBondTdimSvcType,
       gBondTdimSvcSize,
       gBondTdimSvcRowStatus,
       gBondTdimPortStatFltStatus
     }
     STATUS      current
     DESCRIPTION
       "A collection of objects representing management information
       for G.Bond/TDIM ports."
     ::= { gBondTdimGroups 1 }

   gBondTdimFecGroup OBJECT-GROUP
     OBJECTS {
       gBondTdimFecSupported,
       gBondTdimFecAdminState,
       gBondTdimFecOperState,
       gBondTdimFecWordSize,
       gBondTdimFecRedundancySize,
       gBondTdimFecInterleaverType,
       gBondTdimFecInterleaverDepth,
       gBondTdimFecMaxWordSize,
       gBondTdimFecMaxRedundancySize,
       gBondTdimFecInterleaverTypeSupported,
       gBondTdimFecMaxInterleaverDepth
       gBondTdimPortCapFecSupported,
       gBondTdimPortConfFecAdminState,
       gBondTdimPortStatFecOperState,
       gBondTdimPortConfFecWordSize,
       gBondTdimPortConfFecRedundancySize,
       gBondTdimPortConfFecInterleaverType,
       gBondTdimPortConfFecInterleaverDepth,
       gBondTdimPortCapFecMaxWordSize,
       gBondTdimPortCapFecMaxRedundancySize,
       gBondTdimPortCapFecInterleaverTypeSupported,
       gBondTdimPortCapFecMaxInterleaverDepth
     }
     STATUS      current
     DESCRIPTION
       "A collection of objects supporting OPTIONAL Forward Error
       Correction (FEC) and Interleaver function in G.Bond/TDIM
       ports."
     ::= { gBondTdimGroups 2 }

   gBondTdimAlarmConfGroup OBJECT-GROUP
     OBJECTS {
       gBondTdimServiceUpDownEnable
       gBondTdimPortConfSvcUpDownEnable
     }
     STATUS      current
     DESCRIPTION
       "A collection of objects required for configuration of alarm
       thresholds and notifications in G.Bond/TDIM ports."
     ::= { gBondTdimGroups 3 }

   gBondTdimNotificationGroup NOTIFICATION-GROUP
     NOTIFICATIONS {
       gBondTdimServiceUp,
       gBondTdimServiceDown
       gBondTdimSvcUp,
       gBondTdimSvcDown
     }
     STATUS      current
     DESCRIPTION
       "This group supports notifications of significant conditions
       associated with G.Bond/TDIM ports."
     ::= { gBondTdimGroups 4 }

   gBondTdimPerfCurrGroup OBJECT-GROUP
     OBJECTS {
       gBondTdimPortPerf15MinValidIntervals,
       gBondTdimPortPerf15MinInvalidIntervals,
       gBondTdimPortPerfCurr15MinTimeElapsed,
       gBondTdimPortPerfCurr15MinCrc4s,
       gBondTdimPortPerfCurr15MinCrc6s,
       gBondTdimPortPerfCurr15MinCrc8s,
       gBondTdimPortPerf1DayValidIntervals,
       gBondTdimPortPerf1DayInvalidIntervals,
       gBondTdimPortPerfCurr1DayTimeElapsed,
       gBondTdimPortPerfCurr1DayCrc4s,
       gBondTdimPortPerfCurr1DayCrc6s,
       gBondTdimPortPerfCurr1DayCrc8s,
       gBondTdimServicePerf15MinValidIntervals,
       gBondTdimServicePerf15MinInvalidIntervals,
       gBondTdimServicePerfCurr15MinTimeElapsed,
       gBondTdimServicePerfCurr15MinDowns,
       gBondTdimServicePerf1DayValidIntervals,
       gBondTdimServicePerf1DayInvalidIntervals,
       gBondTdimServicePerfCurr1DayTimeElapsed,
       gBondTdimServicePerfCurr1DayDowns
       gBondTdimPortPmCur15MinValidIntervals,
       gBondTdimPortPmCur15MinInvalidIntervals,
       gBondTdimPortPmCur15MinTimeElapsed,
       gBondTdimPortPmCur15MinCrc4s,
       gBondTdimPortPmCur15MinCrc6s,
       gBondTdimPortPmCur15MinCrc8s,
       gBondTdimPortPmCur1DayValidIntervals,
       gBondTdimPortPmCur1DayInvalidIntervals,
       gBondTdimPortPmCur1DayTimeElapsed,
       gBondTdimPortPmCur1DayCrc4s,
       gBondTdimPortPmCur1DayCrc6s,
       gBondTdimPortPmCur1DayCrc8s,
       gBondTdimSvcPmCur15MinValidIntervals,
       gBondTdimSvcPmCur15MinInvalidIntervals,
       gBondTdimSvcPmCur15MinTimeElapsed,
       gBondTdimSvcPmCur15MinDowns,
       gBondTdimSvcPmCur1DayValidIntervals,
       gBondTdimSvcPmCur1DayInvalidIntervals,
       gBondTdimSvcPmCur1DayTimeElapsed,
       gBondTdimSvcPmCur1DayDowns
     }
     STATUS      current
     DESCRIPTION
       "A collection of objects supporting OPTIONAL current Performance
       Monitoring information for G.Bond/TDIM ports."
     ::= { gBondTdimGroups 5 }

   gBondTdimPerf15MinGroup OBJECT-GROUP
     OBJECTS {
       gBondTdimPortPerf15MinIntervalMoniTime,
       gBondTdimPortPerf15MinIntervalCrc4s,
       gBondTdimPortPerf15MinIntervalCrc6s,
       gBondTdimPortPerf15MinIntervalCrc8s,
       gBondTdimPortPerf15MinIntervalValid,
       gBondTdimServicePerf15MinIntervalMoniTime,
       gBondTdimServicePerf15MinIntervalDowns,
       gBondTdimServicePerf15MinIntervalValid
       gBondTdimPortPm15MinIntervalMoniTime,
       gBondTdimPortPm15MinIntervalCrc4s,
       gBondTdimPortPm15MinIntervalCrc6s,
       gBondTdimPortPm15MinIntervalCrc8s,
       gBondTdimPortPm15MinIntervalValid,
       gBondTdimSvcPm15MinIntervalMoniTime,
       gBondTdimSvcPm15MinIntervalDowns,
       gBondTdimSvcPm15MinIntervalValid
     }
     STATUS      current
     DESCRIPTION
       "A collection of objects supporting OPTIONAL historical
       Performance Monitoring information for G.Bond/TDIM ports, during
       previous 15-minute intervals ."
     ::= { gBondTdimGroups 6 }

   gBondTdimPerf1DayGroup OBJECT-GROUP
     OBJECTS {
       gBondTdimPortPerf1DayIntervalMoniTime,
       gBondTdimPortPerf1DayIntervalCrc4s,
       gBondTdimPortPerf1DayIntervalCrc6s,
       gBondTdimPortPerf1DayIntervalCrc8s,
       gBondTdimPortPerf1DayIntervalValid,
       gBondTdimServicePerf1DayIntervalMoniTime,
       gBondTdimServicePerf1DayIntervalDowns,
       gBondTdimServicePerf1DayIntervalValid
       gBondTdimPortPm1DayIntervalMoniTime,
       gBondTdimPortPm1DayIntervalCrc4s,
       gBondTdimPortPm1DayIntervalCrc6s,
       gBondTdimPortPm1DayIntervalCrc8s,
       gBondTdimPortPm1DayIntervalValid,
       gBondTdimSvcPm1DayIntervalMoniTime,
       gBondTdimSvcPm1DayIntervalDowns,
       gBondTdimSvcPm1DayIntervalValid
     }
     STATUS      current
     DESCRIPTION
       "A collection of objects supporting OPTIONAL historical
       Performance Monitoring information for G.Bond/TDIM ports, during
       previous 1-day intervals ."
     ::= { gBondTdimGroups 7 }

  -- Compliance Statements

   gBondTdimCompliance MODULE-COMPLIANCE
     STATUS      current
     DESCRIPTION
       "The compliance statement for G.Bond/TDIM 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 {
         gBondTdimBasicGroup,
         gBondTdimAlarmConfGroup,
         gBondTdimNotificationGroup
       }

       GROUP       gBondTdimFecGroup
       DESCRIPTION
         "Support for this group is only required for implementations
         supporting G.Bond FEC and Interleaver function."

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

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

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

     ::= { gBondTdimCompliances 1 }
END

7.  Security Considerations

   There is a number of managed objects defined in the GBOND-TDIM-MIB this MIB module that have with
   a MAX-ACCESS clause of read-write or and/or read-create.
   Most objects are writable only when the link is down.  Writing to
   these  Such 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 potentially disruptive effects a negative effect on
   network
   operation, for example: operations.  These are the tables and objects and their
   sensitivity/vulnerability:

   o  Changing of gBondTdimAdminServices gBondTdimPortConfAdminServices object MAY may lead to a
      potential service disruption, by changing a particular service'
      position (therefore changing its drop priority) or even removing
      the service from the link altogether.

   o  Changing of gBondTdimServiceTable gBondTdimSvcTable configuration parameters (e.g.
      gBondTdimServiceType
      gBondTdimSvcType or gBondTdimServiceSize) MAY gBondTdimSvcSize) may lead to a potential
      service impairment, for example a TDM service would be dropped if
      there is not enough actual bandwidth on the bonded link to support
      this service.

   o  Changing of gBondTdimPortConfTable configuration parameters (e.g.
      gBondTdimFecAdminState) MAY
      gBondTdimPortConfFecAdminState) may lead to anything from link
      quality and rate degradation to a complete link initialization
      failure.

   The user

   Some of the GBOND-TDIM-MIB module must therefore be aware that
   support for SET operations in a non-secure environment without proper
   protection can have a negative effect on network operations.

   The readable objects in the GBOND-TDIM-MIB this MIB module (i.e., those with
   MAX-ACCESS other than not-accessible) may be considered sensitive or
   vulnerable in some network environments since, collectively, they
   provide information about the performance of network interfaces and
   can reveal some aspects of their configuration.

   In such environments particular, since a bonded xDSL port can be comprised of multiple
   Unshielded Twisted Pair (UTP) voice grade copper, located in the same
   bundle with other pairs belonging to another operator/customer, it is
   theoretically possible to eavesdrop to a G.Bond transmission, simply
   by "listening" to a cross-talk from the bonded pairs, especially if
   the operating parameters of the G.Bond link in question are known.

   It is thus important to control also even GET and and/or NOTIFY access to
   these objects and possibly even to encrypt their the values of these objects
   when sending them over the network via SNMP.  These are the tables
   and objects and their sensitivity/vulnerability:

   o  gBondTdimPortStatFecOperState in gBondTdimPortStatTable indicate
      whether the FEC function is enabled, which may aid in deciphering
      of the G.Bond/TDIM transmissions.

   o  gBondTdimOperSvcTable provide current operational service
      configuration, which may aid in deciphering of the G.Bond/TDIM
      transmissions.

   SNMP versions prior to SNMPv3 did not include adequate security.
   Even if the network itself is secure (for example by using IPSec),
   even then,
   there is no control as to who on the secure network is allowed to
   access and GET/SET (read/change/create/delete) the objects in this
   MIB module.

   It is RECOMMENDED that implementers consider

   Implementations MUST provide the security features as
   provided described by the
   SNMPv3 framework (see [RFC3410], section 8), [RFC3410]), including full support for the SNMPv3 cryptographic mechanisms (for
   authentication and privacy). 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.

8.  IANA Considerations

   An object identifier for gBondTdimMIB MODULE-IDENTITY SHALL be
   allocated by IANA [1] in the MIB-2 transmission sub-tree, before this
   document is published as an RFC.

9.  Acknowledgments

   This document was produced by the [ADSLMIB] working group.

10.  References

10.1.  Normative References

   [G.998.3]                     ITU-T, "Multi-pair bonding using time-
                                 division inverse multiplexing", ITU-T
                                 Recommendation G.998.3, January 2005, <
                                 http://www.itu.int/rec/T-REC-
                                 G.998.3/en>.

   [I-D.ietf-adslmib-gbond-mib]  Beili, E. and M. Morgenstern, "xDSL
                                 multi-pair bonding (G.Bond) MIB",
                                 draft-ietf-adslmib-gbond-mib-07
                                 draft-ietf-adslmib-gbond-mib-08 (work
                                 in progress), May February 2011.

   [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.

   [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.

   [TR-159]                      Beili, E. and M. Morgenstern,
                                 "Management Framework for xDSL
                                 Bonding", Broadband Forum technical
                                 report TR-159, December 2008.

10.2.  Informative References

   [ADSLMIB]                     IETF, "ADSL MIB (adslmib) Charter", <ht
                                 tp://www.ietf.org/html.charters/
                                 adslmib-charter.html>.

   [G.704]                       ITU-T, "Synchronous frame structures
                                 used at 1544, 6312, 2048, 8448 and
                                 44736 Kbit/s hierarchical levels.",
                                 ITU-T Recommendation G.704,
                                 October 1998,
                                 <http://www.itu.int/rec/T-REC-
                                 G.704/en>.

   [RFC3410]                     Case, J., Mundy, R., Partain, D., and
                                 B. Stewart, "Introduction and
                                 Applicability Statements for Internet-
                                 Standard Management Framework",
                                 RFC 3410, December 2002.

   [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.

   [RFC3593]                     Tesink, K., "Textual Conventions for
                                 MIB Modules Using Performance History
                                 Based on 15 Minute Intervals",
                                 RFC 3593, September 2003.

   [RFC4181]                     Heard, C., "Guidelines for Authors and
                                 Reviewers of MIB Documents", BCP 111,
                                 RFC 4181, September 2005.

URIs

   [1]  <http://www.iana.org/>

Author's Address

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

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