-- ======================================================================
-- ==                                                                  ==
-- ==        Copyright (C) 2005 Paradyne Networks, Inc.                ==
-- ==                                                                  ==
-- ======================================================================



PDN-DSL-ATM-BOND-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32, Unsigned32, 
   NOTIFICATION-TYPE
      FROM SNMPv2-SMI
   OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP
      FROM SNMPv2-CONF
   TEXTUAL-CONVENTION, RowStatus, DateAndTime, TestAndIncr, TruthValue
      FROM SNMPv2-TC
   SnmpAdminString
      FROM SNMP-FRAMEWORK-MIB
   InterfaceIndex
      FROM IF-MIB
   pdn-interfaces
      FROM PDN-HEADER-MIB;
        
pdnDslAtmBondMIB MODULE-IDENTITY
   LAST-UPDATED "200508030000Z"  -- August 3, 2005
   ORGANIZATION "Paradyne Networks, Inc.
                 MIB Working Group"
   CONTACT-INFO "Paradyne Networks, Inc.
                 8545 126th Avenue North
                 Largo, FL 33733
                 www.paradyne.com
        
                 General Comments to: mibwg_team@paradyne.com

                 Editor(s)
                    Clay Sikes"

   DESCRIPTION
      "This MIB module defines a collection of objects for managing
       the bonding of multiple digital subscriber lines (DSL) to 
       transport ATM streams.  

       At the time this modules was defined, neither the IETF nor the
       ATM Forum had any indication of plans to produce MIB modules
       to support the bonding of multiple digital subscriber lines to 
       transport ATM streams.  As a result, these objects may be a 
       `temporary' solution should a standards body produces a module
       to support this type of bonding.

       The following documents are informational references with
       respect to this MIB module:

       [G.998.1]  ITU-T G.998.1, `ATM-based Multi-Pair Bonding', 
                  January 2005.

       [RFC 2494] Fowler, D., `Definitions of Managed Objects for the
                  DS0 and DS0 Bundle Interface type', January 1999. 

       [T1E1.4]   ANSI T1E1.4/2003-334R6, American National Standards 
                  Institute (ANSI), `Draft proposed American National 
                  Standard, ATM-based multi-pair bonding', October 2004.

       [TR-090]   Abbi, R., DSL Forum Technical Report Technical Report
                  TR-090, `Protocol Independent Object Model for 
                  Managing Next Generation ADSL Technologies', 
                  December 2004. 


       =================================================================
       ==                                                             ==
       ==          Copyright (C) 2005 Paradyne Networks, Inc.         ==
       ==                                                             ==
       ================================================================="



   REVISION    "200508030000Z"  -- August 3, 2005
   DESCRIPTION "Removed `0' as a supported value for 
                PdnDslAtmBondGroupIdentityTC.  The hardware doesn't 
                support a `0' and a `0' is not explicitly called out
                in the ITU or the ANSI specifications."

   REVISION    "200508010000Z"  -- August 1, 2005
   DESCRIPTION "Added the bonding group's ifIndex to the notification
                data for all traps."

   REVISION    "200507260000Z"  -- July 26, 2005
   DESCRIPTION "Replaced the pdnDslAtmBondNotificationsEnable object
                with the pdnDslAtmBondGroupStatusNotifyEnabled
                object to allow notifications for group status change
                to be controlled on a per-bonding-group basis.
                General clean up and clarification of some descriptions."

   REVISION    "200506070000Z"  -- June 7, 2005
   DESCRIPTION "Initial release."

::=  { pdn-interfaces 33 } 


--
-- Define groups for Notifications, MIB Objects, Accessible for 
-- Notifications (AFNs), and Conformance.
-- These may just be place holders.
--
pdnDslAtmBondNotifications OBJECT IDENTIFIER ::= { pdnDslAtmBondMIB 0 }
pdnDslAtmBondObjects       OBJECT IDENTIFIER ::= { pdnDslAtmBondMIB 1 }
pdnDslAtmBondAFNs          OBJECT IDENTIFIER ::= { pdnDslAtmBondMIB 2 } 
pdnDslAtmBondConformance   OBJECT IDENTIFIER ::= { pdnDslAtmBondMIB 3 }



-- ======================================================================
-- ==              Convention Notes                                    ==
-- ======================================================================
-- ==                                                                  ==
-- == In the, "Protocol Independent Object Model for Managing Next     ==
-- == Generation ADSL Technologies" [TR-090], Section 5.5.1, "ATU      ==
-- == Sub-Carrier Status," there is a note that states the following   ==
-- == relationship:                                                    ==
-- ==     1. ATU-C corresponds to downstream.                          ==
-- ==     2. ATU-R corresponds to upstream.                            ==
-- == In addition, "ANSI ATM-based Multi-pair bonding" [T1E1.4] and    == 
-- == "ITU-T ATM-based Multi-pair bonding" [G.998.1], Definitions      ==
-- == section state:                                                   ==
-- ==     1. Downstream is the direction of transmission from the      ==
-- ==        carrier Central Office to the Customer Installation.      ==
-- ==     2. Upstream is the direction of transmission from the        ==
-- ==        Customer Installation to the carrier Central Office.      ==
-- ==                                                                  ==
-- ======================================================================



-- ======================================================================
-- ==              Textual Conventions                                 ==
-- ======================================================================

PdnDslAtmBondGroupIndexTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "d"
   STATUS       current
   DESCRIPTION  "An identifier for a bonding group table entry.
                 This syntax was chosen to correspond to the 
                 TestAndIncr TC for pdnDslAtmBondNextGroupIndex."
   SYNTAX       Integer32(0..2147483647)

PdnDslAtmBondGroupIdentityTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "d"
   STATUS       current
   DESCRIPTION  "An identifier to uniquely identify a bonding group."
   REFERENCE    "T1E1.4, Section 9.1.4, `Format of the Autonomous Status 
                 Message (ASM)', Table 9-1`ASM Message Format'.
                 G.998.1, Section 9.1.4, `Format of the Autonomous Status 
                 Message (ASM)', Table 9-1`ASM Message Format'."
   SYNTAX       Unsigned32(1..65535)

PdnDslAtmBondGroupBearerNumberTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "d"
   STATUS       current
   DESCRIPTION  "Bearer number for the line to bond."
   REFERENCE    "T1E1.4, Section 9.1.4, `Format of the Autonomous Status
                 Message (ASM)', Table 9-1`ASM Message Format'.
                 G.998.1, Section 9.1.4, `Format of the Autonomous Status 
                 Message (ASM)', Table 9-1`ASM Message Format'."
   SYNTAX       Unsigned32(1..4)

PdnDslAtmBondLinkStatusAsmTC ::= TEXTUAL-CONVENTION
   STATUS       current
   DESCRIPTION  "The status of a link within a bonding group relative to 
                 its capability or current state with respect to the
                 transportation of bonded traffic.

                 +------------------------------------------------------+
                 |                                                      |
                 | Rx Link Status                                       |
                 |    1.  Not provisioned.                              |
                 |        The link is indicated as not provisioned, and |
                 |        will never be part of a bonded group.         |
                 |    2.  Should not be used.                           |
                 |        The transmitter should not use this link for  |
                 |        bonding, but this link is provisioned as a    |
                 |        candidate link member (i.e. a temporary       |
                 |        outage).                                      |
                 |    3.  Acceptable to carry bonded traffic.           |
                 |        This status is used to request that the       |
                 |        transmitter consider this provisioned link    |
                 |        for bonding.                                  |
                 |    4.  Selected to carry bonded traffic.             |
                 |        Bonded traffic is expected on this link.      |
                 |                                                      |
                 +------------------------------------------------------+
                 |                                                      |
                 | Tx Link Status                                       |
                 |    1.  Not provisioned.                              |
                 |        The link is indicated as not provisioned, and |
                 |        will never be part of a bonded group.         |
                 |    2.  Should not be used.                           |
                 |        The receiver should not consider this link    |
                 |        for bonding, but this link is provisioned as  |
                 |        a candidate link member.                      |
                 |    3.  Acceptable to carry bonded traffic.           |
                 |        This status is used to indicate that the      |
                 |        receiver should consider it for carrying      |
                 |        bonded traffic.                               |
                 |    4.  Selected to carry bonded traffic.             |
                 |        The transmitter is using or will use this     |
                 |        link to carry bonded traffic.                 |
                 |                                                      |
                 +------------------------------------------------------+"                
   REFERENCE    "T1E1.4, Section 9.1.4, `Format of the Autonomous Status 
                 Message (ASM)', Table 9-1`ASM Message Format'.
                 G.998.1, Section 9.1.4, `Format of the Autonomous Status 
                 Message (ASM)', Table 9-1`ASM Message Format'."
   SYNTAX       INTEGER {
                   notProvisioned(1),
                   shouldNotBeUsed(2),
                   acceptableToCarryBondedTraffic(3),
                   selectedToCarryBondedTraffic(4)
                }

PdnDslAtmBondAsmRxStatusTC ::= TEXTUAL-CONVENTION
   STATUS       current
   DESCRIPTION  "The status of Autonomous Status Message (ASM) received
                 on a link in the past one second.  The bonding entity 
                 is required to send ASM status messages at no less a
                 frequency than once per second per link."
   REFERENCE    "T1E1.4, Section 9.1.3, `Frequency of Autonomous Status
                 Messages'.
                 G.998.1, Section 9.1.3, `Frequency of Autonomous Status
                 Messages'.
                 T1E1.4, Section 9.1.4, `Format of the Autonomous Status 
                 Message (ASM)', Table 9-1`ASM Message Format'.
                 G.998.1, Section 9.1.4, `Format of the Autonomous Status 
                 Message (ASM)', Table 9-1`ASM Message Format'."
   SYNTAX       INTEGER {
                   receivedASM(1),
                   notReceivedASM(2)
                }

PdnDslAtmBondGroupDataRateTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "d"
   STATUS       current
   DESCRIPTION  "A data rate, in bits/s, for a bonding group.  The
                 value, -1 represents infinity, and indicates that the 
                 parameter is to be ignored."
   REFERENCE    "T1E1.4,  Section 11.4.1, `Group Provisioning'.
                 G.998.1, Section 11.4.1, `Group Provisioning'."
   SYNTAX       Integer32(-1 | 0..2147483647)

PdnDslAtmBondGroupDiffDelayTolTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "d"
   STATUS       current
   DESCRIPTION  "The maximum differential delay tolerance, in 
                 milliseconds, among member links in a bonding group."
   REFERENCE    "T1E1.4,  Section 11.4.1, `Group Provisioning'.
                 G.998.1, Section 11.4.1, `Group Provisioning'."
   SYNTAX       Unsigned32(0..2147483647)

PdnDslAtmBondGroupStatusTC ::= TEXTUAL-CONVENTION
   STATUS       current
   DESCRIPTION  "The status of a group.  A group is considered 
                 `unavailable' when it does not satisfy the
                 parameters provisioned for the group."
   REFERENCE    "T1E1.4,  Section 11.4.2, `Group Performance'.
                 G.998.1, Section 11.4.2, `Group Performance'."
   SYNTAX       INTEGER {
                   operational(1),
                   unavailable(2)
                }

PdnDslAtmBondGroupFailReasonTC ::= TEXTUAL-CONVENTION
   STATUS       current
   DESCRIPTION  "The reason the operational status for a bonding group
                 is not `operational'."
   REFERENCE    "T1E1.4,  Section 11.4.3, `Group Failures'.
                 G.998.1, Section 11.4.3, `Group Failures'."
   SYNTAX       INTEGER {
                   notApplicable(1),          -- In an `operational` 
                                              -- state, so a reason is
                                              -- not applicable.
                   unknown(2),                -- Could not match a reason
                                              -- in this list.
                   atucMinDataRateNotMet(3),  -- Couldn't achieve the 
                                              -- minimum data rate 
                                              -- specified for the group
                                              -- for the downstream 
                                              -- direction.
                   aturMinDataRateNotMet(4),  -- Couldn't achieve the 
                                              -- minimum data rate 
                                              -- specified for the group
                                              -- for the upstream 
                                              -- direction.
                   atucDiffDelayExceeded(5),  -- Couldn't achieve the 
                                              -- differential delay 
                                              -- tolerance in the 
                                              -- downstream direction.
                   aturDiffDelayExceeded(6)   -- Couldn't achieve the 
                                              -- differential delay 
                                              -- tolerance in the 
                                              -- upstream direction.
                }

                  


-- ======================================================================
-- ==                  MIB Objects                                     ==
-- ======================================================================

pdnDslAtmBondNextGroupIndex OBJECT-TYPE
   SYNTAX      TestAndIncr
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION "This object is used to establish the next unused group
                index (pdnDslAtmBondGroupIndex).

                This object is used to assist the manager in
                selecting a value for pdnDslAtmBondGroupIndex.  Because
                this object is of syntax TestAndIncr (see the
                SNMPv2-TC document, RFC 2579) it can also be used
                to avoid race conditions with multiple managers
                trying to create rows in the table.

                If the result of the SET for pdnDslAtmBondNextGroupIndex
                is not success, this means the value has been
                changed from index (i.e. another manager used the
                value), so a new value is required.

                The algorithm is:
                done = false
                while done == false
                   index = GET (pdnDslAtmBondNextGroupIndex.0)
                   SET (pdnDslAtmBondNextGroupIndex.0=index)
                   if (set failed)
                      done = false
                   else
                      SET(pdnDslAtmBondGroupRowStatus.index=createAndGo)
                      if (set failed)
                         done = false
                      else
                         done = true
                         other error handling

                This description was modeled from RFC2494, 
                DS0BUNDLE-MIB."
   ::= { pdnDslAtmBondObjects 1 }

pdnDslAtmBondNbrOfGroups OBJECT-TYPE
   SYNTAX      Unsigned32(0..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The number of bonding groups configured on this system."
   ::= { pdnDslAtmBondObjects 2 }


-- =================================================
-- == DSL ATM Bond Group Table
-- =================================================
pdnDslAtmBondGroupTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF PdnDslAtmBondGroupEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "The DSL ATM Bond Group Table.  
                Contains configuration and operational information 
                relative to a particular bonding group."
   REFERENCE   "T1E1.4,  Section 11.4.1, `Group Provisioning'.
                G.998.1, Section 11.4.1, `Group Provisioning'."
   ::= { pdnDslAtmBondObjects 3 }

pdnDslAtmBondGroupEntry OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "An entry in the DSL ATM Bond Group Table.
                Each entry represents a particular bonding group."
   INDEX       { pdnDslAtmBondGroupIndex }
   ::= { pdnDslAtmBondGroupTable 1 }

PdnDslAtmBondGroupEntry ::=
   SEQUENCE {
      pdnDslAtmBondGroupIndex              PdnDslAtmBondGroupIndexTC,
      pdnDslAtmBondGroupRowStatus          RowStatus,
      pdnDslAtmBondGroupNbrRefs            Unsigned32,
      pdnDslAtmBondGroupIfIndex            InterfaceIndex,
      pdnDslAtmBondGroupID                 PdnDslAtmBondGroupIdentityTC,
      pdnDslAtmBondGroupAlarmConfProfileName SnmpAdminString,
      pdnDslAtmBondGroupAtucMaxNetDataRate PdnDslAtmBondGroupDataRateTC,
      pdnDslAtmBondGroupAturMaxNetDataRate PdnDslAtmBondGroupDataRateTC,
      pdnDslAtmBondGroupAtucMinNetDataRate PdnDslAtmBondGroupDataRateTC,
      pdnDslAtmBondGroupAturMinNetDataRate PdnDslAtmBondGroupDataRateTC,
      pdnDslAtmBondGroupAtucDiffDelay  PdnDslAtmBondGroupDiffDelayTolTC,
      pdnDslAtmBondGroupAturDiffDelay  PdnDslAtmBondGroupDiffDelayTolTC,
      pdnDslAtmBondGroupStatusNotifyEnabled  TruthValue
   }

pdnDslAtmBondGroupIndex OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupIndexTC
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "A unique identifier for a bonding group.  This is not
                the same value as an ifIndex for the group.  The
                pdnDslAtmBondGroupIfIndex object contains the bonding
                group's ifIndex."
   ::= { pdnDslAtmBondGroupEntry 1 }

pdnDslAtmBondGroupRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "This object allows create, change, and delete operations 
                on the table.  The delete operation can only occur when
                the pdnDslAtmBondGroupNbrRefs is 0 meaning that there
                are no DSL interfaces and bearers that are bonded to 
                this group."
   ::= { pdnDslAtmBondGroupEntry 2 }

pdnDslAtmBondGroupNbrRefs OBJECT-TYPE
   SYNTAX      Unsigned32(0..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The number of DSL interface / bearer combinations that
                are members of this group.  This is the number of 
                entries in the pdnDslAtmBondMappingTable that have
                their pdnDslAtmBondMappingGroupIndex assigned to this
                value of pdnDslAtmBondGroupIndex."
   ::= { pdnDslAtmBondGroupEntry 3 }

pdnDslAtmBondGroupIfIndex OBJECT-TYPE
   SYNTAX      InterfaceIndex
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "Identifies the interface number assigned to this bonding
                group and is used to identify corresponding rows in the 
                interfaces MIB."
   ::= { pdnDslAtmBondGroupEntry 4 }

pdnDslAtmBondGroupID OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupIdentityTC
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "An identifier to uniquely identify the bonding group.
                This ID one of the fields of the Autonomous Status 
                Message and may be useful in some debugging situations."
   REFERENCE   "T1E1.4, Section 9.1.4, `Format of the Autonomous Status 
                Message (ASM)', Table 9-1`ASM Message Format'.
                G.998.1, Section 9.1.4, `Format of the Autonomous Status 
                Message (ASM)', Table 9-1`ASM Message Format'."
   ::= { pdnDslAtmBondGroupEntry 5 }

pdnDslAtmBondGroupAlarmConfProfileName OBJECT-TYPE
   SYNTAX      SnmpAdminString(SIZE(0 | 1..32))
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "Identifies the Alarm Profile this group is associated
                with which is an entry in the 
                pdnDslAtmBondAlarmConfProfileTable.  If this object 
                is not a zero-length string, it should default to the
                default profile whose name is `DEFVAL'."
   ::= { pdnDslAtmBondGroupEntry 6 }

pdnDslAtmBondGroupAtucMaxNetDataRate OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupDataRateTC 
   UNITS       "bps"
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "The maximum net data rate this bonding group is allowed
                to achieve in the downstream direction."
   ::= { pdnDslAtmBondGroupEntry 7 }

pdnDslAtmBondGroupAturMaxNetDataRate OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupDataRateTC  
   UNITS       "bps"  
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "The maximum net data rate this bonding group is allowed
                to achieve in the upstream direction."
   ::= { pdnDslAtmBondGroupEntry 8 }

pdnDslAtmBondGroupAtucMinNetDataRate OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupDataRateTC
   UNITS       "bps"
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "The minimum net data rate this bonding group is allowed
                to achieve in the downstream direction."
   ::= { pdnDslAtmBondGroupEntry 9 }

pdnDslAtmBondGroupAturMinNetDataRate OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupDataRateTC 
   UNITS       "bps"
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "The minimum net data rate this bonding group is allowed
                to achieve in the upstream direction."
   ::= { pdnDslAtmBondGroupEntry 10 }

pdnDslAtmBondGroupAtucDiffDelay OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupDiffDelayTolTC
   UNITS       "milliseconds"
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "The maximum differential delay tolerance among member 
                links in this bonding group in the downstream 
                direction."
   ::= { pdnDslAtmBondGroupEntry 11 }

pdnDslAtmBondGroupAturDiffDelay OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupDiffDelayTolTC
   UNITS       "milliseconds"
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "The maximum differential delay tolerance among member 
                links in this bonding group in the upstream 
                direction."
   ::= { pdnDslAtmBondGroupEntry 12 }

pdnDslAtmBondGroupStatusNotifyEnabled OBJECT-TYPE
   SYNTAX      TruthValue
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "Specifies whether or not the 
                pdnDslAtmBondGroupStatusChange notification will be
                generated.  When set to true(1), the notification will
                be generated when the pdnDslAtmBondPerfGroupStatus 
                changes.  When set to false(2), the notification will
                not be generated with the pdnDslAtmBondPerfGroupStatus
                changes."
   ::= { pdnDslAtmBondGroupEntry 13 }


-- =================================================
-- == DSL ATM Bond Mapping Table
-- =================================================
pdnDslAtmBondMappingTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF PdnDslAtmBondMappingEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "The DSL ATM Bond Mapping Table. 
                This table is used to map a DSL port and a bearer 
                number to a bonding group."
   REFERENCE   "T1E1.4,  Section 11.4.1, `Group Provisioning'.
                G.998.1, Section 11.4.1, `Group Provisioning'."
   ::= { pdnDslAtmBondObjects 4 }

pdnDslAtmBondMappingEntry OBJECT-TYPE
   SYNTAX      PdnDslAtmBondMappingEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "An entry in the DSL ATM Bond Mapping Table.
                Each entry represents a DSL interface and a a
                bearer number."
   INDEX       { pdnDslAtmBondDslIfIndex, 
                 pdnDslAtmBondBearerNbr } 
   ::= { pdnDslAtmBondMappingTable 1 }

PdnDslAtmBondMappingEntry ::=
   SEQUENCE {
      pdnDslAtmBondDslIfIndex          InterfaceIndex,
      pdnDslAtmBondBearerNbr           PdnDslAtmBondGroupBearerNumberTC,
      pdnDslAtmBondMappingRowStatus    RowStatus,
      pdnDslAtmBondMappingGroupIndex   PdnDslAtmBondGroupIndexTC
   }

pdnDslAtmBondDslIfIndex OBJECT-TYPE
   SYNTAX      InterfaceIndex
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "Identifies the DSL interface of a link that is to be
                bonded to the group."
   ::= { pdnDslAtmBondMappingEntry 1 }

pdnDslAtmBondBearerNbr OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupBearerNumberTC
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "Identifies the bearer number of a link for the DSL line 
                to be bonded to the group."
   ::= { pdnDslAtmBondMappingEntry 2 }

pdnDslAtmBondMappingRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "This object allows create, change, and delete operations 
                on the table."
   ::= { pdnDslAtmBondMappingEntry 3 }

pdnDslAtmBondMappingGroupIndex OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupIndexTC
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "The pdnDslAtmBondGroupIndex which identifies the
                group to which the DSL line and bearer number, which 
                form a link, are to be bound to."
   ::= { pdnDslAtmBondMappingEntry 4 }


-- =================================================
-- == DSL ATM Bond Group Index Mapping Table
-- =================================================
pdnDslAtmBondGroupIndexMappingTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF PdnDslAtmBondGroupIndexMappingEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "The DSL ATM Bond Group Index Mapping Table.
                This table identifies the mapping from the bonding
                group's ifIndex to the bonding group's index."
   ::= { pdnDslAtmBondObjects 5 }

pdnDslAtmBondGroupIndexMappingEntry OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupIndexMappingEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "An entry in the DSL ATM Bond Group Index Mapping Table.
                Each entry represents an ifIndex for a bonding group."
   INDEX       { pdnDslAtmBondGroupIfIndex }
   ::= { pdnDslAtmBondGroupIndexMappingTable 1 }

PdnDslAtmBondGroupIndexMappingEntry ::=
   SEQUENCE {
      pdnDslAtmBondGroupIndexMappingIndex    PdnDslAtmBondGroupIndexTC
   }

pdnDslAtmBondGroupIndexMappingIndex OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupIndexTC
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The pdnDslAtmBondGroupIndex this group ifIndex entry
                maps to."
   ::= { pdnDslAtmBondGroupIndexMappingEntry 1 }


-- =================================================
-- == DSL ATM Bond Group Inverse Mapping Table
-- =================================================
pdnDslAtmBondGroupInvMappingTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF PdnDslAtmBondGroupInvMappingEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "The DSL ATM Bond Group Inverse Mapping Table.
                This table identifies the mapping from a bonding
                group's index and a DSL interface to a bearer.
                This object provides a a mechanism to list bonding
                groups from a group's index."
   REFERENCE   "T1E1.4,  Section 11.4.1, `Group Provisioning'.
                G.998.1, Section 11.4.1, `Group Provisioning'."
   ::= { pdnDslAtmBondObjects 6 }

pdnDslAtmBondGroupInvMappingEntry OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupInvMappingEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "An entry in the DSL ATM Bond Inverse Mapping Table.
                Each entry represents a particular bonding group and a
                particular DSL interface."
   INDEX       { pdnDslAtmBondGroupIndex, pdnDslAtmBondDslIfIndex }
   ::= { pdnDslAtmBondGroupInvMappingTable 1 }

PdnDslAtmBondGroupInvMappingEntry ::=
   SEQUENCE {
      pdnDslAtmBondInvMappingBearerNbr  PdnDslAtmBondGroupBearerNumberTC
   }

pdnDslAtmBondInvMappingBearerNbr OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupBearerNumberTC
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The bearer on a particular DSL interface that is  a
                member of the bonding group."
   ::= { pdnDslAtmBondGroupInvMappingEntry 1 }


-- =================================================
-- == DSL ATM Bond Performance Table
-- =================================================
pdnDslAtmBondPerfTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF PdnDslAtmBondPerfEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "The DSL ATM Bond Current Table.
                This table contains the status and performance 
                information for bonding groups."
   REFERENCE   "T1E1.4,  Section 11.4.2, `Group Performance'.
                G.998.1, Section 11.4.2, `Group Performance'.
                T1E1.4,  Section 11.4.3, `Group Failures'.
                G.998.1, Section 11.4.3, `Group Failures'."
   ::= { pdnDslAtmBondObjects 7 }

pdnDslAtmBondPerfEntry OBJECT-TYPE
   SYNTAX      PdnDslAtmBondPerfEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "An entry in the DSL ATM Bond Performance Table.
                Each entry represents a particular bonding group."
   INDEX       { pdnDslAtmBondGroupIndex }
   ::= { pdnDslAtmBondPerfTable 1 }

PdnDslAtmBondPerfEntry ::=
   SEQUENCE {
      pdnDslAtmBondPerfCurrAtucNetDataRate PdnDslAtmBondGroupDataRateTC,
      pdnDslAtmBondPerfCurrAturNetDataRate PdnDslAtmBondGroupDataRateTC,
      pdnDslAtmBondPerfPrevAtucNetDataRate PdnDslAtmBondGroupDataRateTC,
      pdnDslAtmBondPerfPrevAturNetDataRate PdnDslAtmBondGroupDataRateTC,
      pdnDslAtmBondPerfGroupStatus         PdnDslAtmBondGroupStatusTC,
      pdnDslAtmBondPerfFailReason        PdnDslAtmBondGroupFailReasonTC,
      pdnDslAtmBondPerfFailCount         Counter32,
      pdnDslAtmBondPerfRunTime           Counter32,
      pdnDslAtmBondPerfUAS               Counter32,
      pdnDslAtmBondPerfAtucRxCellLoss    Counter32,
      pdnDslAtmBondPerfAturRxCellLoss    Counter32      
   }

pdnDslAtmBondPerfCurrAtucNetDataRate OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupDataRateTC
   UNITS       "bps"  
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The current net data rate the bonding group has achieved
                for the downstream direction."
   ::= { pdnDslAtmBondPerfEntry 1 }

pdnDslAtmBondPerfCurrAturNetDataRate OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupDataRateTC
   UNITS       "bps"  
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The current net data rate the bonding group has achieved
                for the upstream direction."
   ::= { pdnDslAtmBondPerfEntry 2 }

pdnDslAtmBondPerfPrevAtucNetDataRate OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupDataRateTC
   UNITS       "bps"  
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The previous net data rate the bonding group had 
                achieved for the downstream direction.  This value is 
                set at initialization to prevent a notification from
                being sent."
   ::= { pdnDslAtmBondPerfEntry 3 }

pdnDslAtmBondPerfPrevAturNetDataRate OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupDataRateTC
   UNITS       "bps"  
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The previous net data rate the bonding group had 
                achieved for the upstream direction.  This value is 
                set at initialization to prevent a notification from
                being sent."
   ::= { pdnDslAtmBondPerfEntry 4 }

pdnDslAtmBondPerfGroupStatus OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupStatusTC
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The status of the bonding group."
   ::= { pdnDslAtmBondPerfEntry 5 }

pdnDslAtmBondPerfFailReason OBJECT-TYPE
   SYNTAX      PdnDslAtmBondGroupFailReasonTC
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The reason the operational status of the bonding group
                is not `operational'."
   ::= { pdnDslAtmBondPerfEntry 6 }

pdnDslAtmBondPerfFailCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "A count of the number of times the group was declared
                `unavailable` since last restart."
   ::= { pdnDslAtmBondPerfEntry 7 }

pdnDslAtmBondPerfRunTime OBJECT-TYPE
   SYNTAX      Counter32
   UNITS       "seconds"  
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The total accumulated time the bonding group was in 
                the `normal' operational status since last restart."
   ::= { pdnDslAtmBondPerfEntry 8 }

pdnDslAtmBondPerfUAS OBJECT-TYPE
   SYNTAX      Counter32
   UNITS       "seconds"
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The total accumulated time the bonding group was 
                unavailable since last restart."
   ::= { pdnDslAtmBondPerfEntry 9 }

pdnDslAtmBondPerfAtucRxCellLoss OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The total number of cells that are lost at the 
                aggregation output in the upstream direction from the
                bonding group since last restart."
   ::= { pdnDslAtmBondPerfEntry 10 }

pdnDslAtmBondPerfAturRxCellLoss OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The total number of cells that are lost at the 
                aggregation output in the downstream direction from a 
                bonding group since last restart."
   ::= { pdnDslAtmBondPerfEntry 11 }


-- =================================================
-- == DSL ATM Bond 15-Minute Interval Table
-- =================================================
pdnDslAtmBond15MinIntervalTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF PdnDslAtmBond15MinIntervalEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "The DSL ATM Bond 15-Minute Interval Table.
                This table contains the status and performance 
                information for bonding groups collected in
                 15-minute intervals."
   REFERENCE   "T1E1.4,  Section 11.4.2, `Group Performance'.
                G.998.1, Section 11.4.2, `Group Performance'.
                T1E1.4,  Section 11.4.3, `Group Failures'.
                G.998.1, Section 11.4.3, `Group Failures'."
   ::= { pdnDslAtmBondObjects 8 }

pdnDslAtmBond15MinIntervalEntry OBJECT-TYPE
   SYNTAX      PdnDslAtmBond15MinIntervalEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "An entry in the DSL ATM Bond 15-Minute Interval Table.
                Each entry represents a particular bonding group and a
                particular 15-minute interval."
   INDEX       { pdnDslAtmBondGroupIndex, 
                 pdnDslAtmBond15MinIntervalNumber }
   ::= { pdnDslAtmBond15MinIntervalTable 1 }

PdnDslAtmBond15MinIntervalEntry ::=
   SEQUENCE {
      pdnDslAtmBond15MinIntervalNumber                        Unsigned32,
      pdnDslAtmBond15MinIntervalStartDateAndTime              DateAndTime,
      pdnDslAtmBond15MinIntervalFailCount                     Counter32,
      pdnDslAtmBond15MinIntervalRunTime                       Counter32,
      pdnDslAtmBond15MinIntervalUAS                           Counter32,
      pdnDslAtmBond15MinIntervalAtucRxCellLoss                Counter32,
      pdnDslAtmBond15MinIntervalAturRxCellLoss                Counter32
   }

pdnDslAtmBond15MinIntervalNumber OBJECT-TYPE
   SYNTAX      Unsigned32(1..96)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "Performance Data Interval number.  Interval 1 is the 
                most recent previous 15-minute interval; interval 96 is
                24 hours ago.  Intervals 2..96 are optional."
   ::= { pdnDslAtmBond15MinIntervalEntry 1 }

pdnDslAtmBond15MinIntervalStartDateAndTime OBJECT-TYPE
   SYNTAX      DateAndTime
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "Provides a date-time indication of when the interval 
                started."
   ::= { pdnDslAtmBond15MinIntervalEntry 2 }

pdnDslAtmBond15MinIntervalFailCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "A count of the number of times the group was declared
                `unavailable` during the interval."
   ::= { pdnDslAtmBond15MinIntervalEntry 3 }

pdnDslAtmBond15MinIntervalRunTime OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The accumulated time the bonding group was in the
                `normal' operational status during the interval."
   ::= { pdnDslAtmBond15MinIntervalEntry 4 }

pdnDslAtmBond15MinIntervalUAS OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The accumulated time the bonding group was unavailable
                during the interval,"
   ::= { pdnDslAtmBond15MinIntervalEntry 5 }

pdnDslAtmBond15MinIntervalAtucRxCellLoss OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The number of cells that are lost at the aggregation
                output in the upstream direction from the bonding group
                during the interval."
   ::= { pdnDslAtmBond15MinIntervalEntry 6 }

pdnDslAtmBond15MinIntervalAturRxCellLoss OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The number of cells that are lost at the aggregation 
                output in the downstream direction from the bonding 
                group during the interval."
   ::= { pdnDslAtmBond15MinIntervalEntry 7 }


-- =================================================
-- == DSL ATM Bond 1-Day Interval Table
-- =================================================
pdnDslAtmBond1DayIntervalTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF PdnDslAtmBond1DayIntervalEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "The DSL ATM Bond 1-Day Interval Table.
                This table contains the status and performance 
                information for bonding groups collected in
                 1-Day intervals."
   REFERENCE   "T1E1.4,  Section 11.4.2, `Group Performance'.
                G.998.1, Section 11.4.2, `Group Performance'.
                T1E1.4,  Section 11.4.3, `Group Failures'.
                G.998.1, Section 11.4.3, `Group Failures'."
   ::= { pdnDslAtmBondObjects 9 }

pdnDslAtmBond1DayIntervalEntry OBJECT-TYPE
   SYNTAX      PdnDslAtmBond1DayIntervalEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "An entry in the DSL ATM Bond 1-Day Interval Table.
                Each entry represents a particular bonding group and a
                particular 1-day interval."
   INDEX       { pdnDslAtmBondGroupIndex, 
                 pdnDslAtmBond1DayIntervalNumber }
   ::= { pdnDslAtmBond1DayIntervalTable 1 }

PdnDslAtmBond1DayIntervalEntry ::=
   SEQUENCE {
      pdnDslAtmBond1DayIntervalNumber                         Unsigned32,
      pdnDslAtmBond1DayIntervalStartDateAndTime               DateAndTime,
      pdnDslAtmBond1DayIntervalFailCount                      Counter32,
      pdnDslAtmBond1DayIntervalRunTime                        Counter32,
      pdnDslAtmBond1DayIntervalUAS                            Counter32,
      pdnDslAtmBond1DayIntervalAtucRxCellLoss                 Counter32,
      pdnDslAtmBond1DayIntervalAturRxCellLoss                 Counter32
   }

pdnDslAtmBond1DayIntervalNumber OBJECT-TYPE
   SYNTAX      Unsigned32(1..30)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "Performance Data Interval number.  Interval 1 is the 
                most recent previous 1-day interval; interval 30 is 30
                days ago.  Intervals 2..30 are optional."
   ::= { pdnDslAtmBond1DayIntervalEntry 1 }

pdnDslAtmBond1DayIntervalStartDateAndTime OBJECT-TYPE
   SYNTAX      DateAndTime
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "Provides a date-time indication of when the interval
                started."
   ::= { pdnDslAtmBond1DayIntervalEntry 2 }

pdnDslAtmBond1DayIntervalFailCount OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "A count of the number of times the group was declared
                `unavailable` during the interval."
   ::= { pdnDslAtmBond1DayIntervalEntry 3 }

pdnDslAtmBond1DayIntervalRunTime OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The accumulated time the bonding group was in the
                `normal' operational status during the interval."
   ::= { pdnDslAtmBond1DayIntervalEntry 4 }

pdnDslAtmBond1DayIntervalUAS OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The accumulated time the bonding group was unavailable
                during the interval,"
   ::= { pdnDslAtmBond1DayIntervalEntry 5 }

pdnDslAtmBond1DayIntervalAtucRxCellLoss OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The number of cells that are lost at the aggregation
                output in the upstream direction from a bonding group
                during the interval."
   ::= { pdnDslAtmBond1DayIntervalEntry 6 }

pdnDslAtmBond1DayIntervalAturRxCellLoss OBJECT-TYPE
   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The number of cells that are lost at the aggregation 
                output in the downstream direction from the bonding 
                group during the interval."
   ::= { pdnDslAtmBond1DayIntervalEntry 7 }


-- =================================================
-- == DSL ATM Bond Link Table
-- =================================================
pdnDslAtmBondLinkTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF PdnDslAtmBondLinkEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "The DSL ATM Bond Link Table.
                This table contains the current status information for
                a link in a bonding group."
   REFERENCE   "T1E1.4, Section 9.1.3, `Frequency of Autonomous Status
                Messages'.
                G.998.1, Section 9.1.3, `Frequency of Autonomous Status
                Messages'.
                T1E1.4, Section 9.1.4, `Format of the Autonomous Status 
                Message (ASM)', Table 9-1`ASM Message Format'.
                G.998.1, Section 9.1.4, `Format of the Autonomous Status 
                Message (ASM)', Table 9-1`ASM Message Format'."
   ::= { pdnDslAtmBondObjects 10 }

pdnDslAtmBondLinkEntry OBJECT-TYPE
   SYNTAX      PdnDslAtmBondLinkEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "An entry in the DSL ATM Bond Link Table.
                each entry represents a DSL interface on a particular 
                bonding group."
   INDEX       { pdnDslAtmBondGroupIndex,
                 pdnDslAtmBondDslIfIndex }
   ::= { pdnDslAtmBondLinkTable 1 }

PdnDslAtmBondLinkEntry ::=
   SEQUENCE {
      pdnDslAtmBondLinkAtucRxLinkStatus    PdnDslAtmBondLinkStatusAsmTC,
      pdnDslAtmBondLinkAturRxLinkStatus    PdnDslAtmBondLinkStatusAsmTC,
      pdnDslAtmBondLinkAtucTxLinkStatus    PdnDslAtmBondLinkStatusAsmTC,
      pdnDslAtmBondLinkAturTxLinkStatus    PdnDslAtmBondLinkStatusAsmTC,
      pdnDslAtmBondLinkAtucAsmRxStatus     PdnDslAtmBondAsmRxStatusTC,
      pdnDslAtmBondLinkAturAsmRxStatus     PdnDslAtmBondAsmRxStatusTC
   }

pdnDslAtmBondLinkAtucRxLinkStatus OBJECT-TYPE
   SYNTAX      PdnDslAtmBondLinkStatusAsmTC
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The status of the Rx link in a bonded group in the 
                upstream direction."
   ::= { pdnDslAtmBondLinkEntry 1 }

pdnDslAtmBondLinkAturRxLinkStatus OBJECT-TYPE
   SYNTAX      PdnDslAtmBondLinkStatusAsmTC
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The status of the Rx link in a bonded group in the 
                downstream direction."
   ::= { pdnDslAtmBondLinkEntry 2 }

pdnDslAtmBondLinkAtucTxLinkStatus OBJECT-TYPE
   SYNTAX      PdnDslAtmBondLinkStatusAsmTC
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The status of the Tx link in a bonded group in the 
                downstream direction."
   ::= { pdnDslAtmBondLinkEntry 3 }

pdnDslAtmBondLinkAturTxLinkStatus OBJECT-TYPE
   SYNTAX      PdnDslAtmBondLinkStatusAsmTC
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The status of the Rx link in a bonded group in the 
                upstream direction."
   ::= { pdnDslAtmBondLinkEntry 4 }

pdnDslAtmBondLinkAtucAsmRxStatus OBJECT-TYPE
   SYNTAX      PdnDslAtmBondAsmRxStatusTC
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The status of ASMs received for the link in a bonded 
                in the upstream direction."
   ::= { pdnDslAtmBondLinkEntry 5 }

pdnDslAtmBondLinkAturAsmRxStatus OBJECT-TYPE
   SYNTAX      PdnDslAtmBondAsmRxStatusTC
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The status of ASMs received for the link in a bonded 
                in the downstream direction."
   ::= { pdnDslAtmBondLinkEntry 6 }


-- ===================================================
-- == DSL ATM Bond Alarm Configuration Profile Table
-- ===================================================
pdnDslAtmBondAlarmConfProfileTable OBJECT-TYPE
   SYNTAX      SEQUENCE OF PdnDslAtmBondAlarmConfProfileEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "The DSL ATM Bond Alarm Configuration Profile Table.
                This table contains the alarm configuration profiles
                for DSL ATM Bonding."
   ::= { pdnDslAtmBondObjects 11 }

pdnDslAtmBondAlarmConfProfileEntry OBJECT-TYPE
   SYNTAX      PdnDslAtmBondAlarmConfProfileEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "An entry in the DSL ATM Bond Alarm Configuration 
                Profile Table.  Each entry represents a single alarm 
                configuration profile.  Profiles may be created/deleted
                using the RowStatus mechanism not including the default
                profile.  A default profile with
                an index of `DEFVAL' will always exist and its 
                parameters will be set to implementation-specific 
                values."
   INDEX       { IMPLIED pdnDslAtmBondAlarmConfProfileName }
   ::= { pdnDslAtmBondAlarmConfProfileTable 1 }

PdnDslAtmBondAlarmConfProfileEntry ::=
   SEQUENCE {
      pdnDslAtmBondAlarmConfProfileName            SnmpAdminString,
      pdnDslAtmBondAlarmConfRowStatus              RowStatus,
      pdnDslAtmBondAlarmConfNbrRefs                Unsigned32,
      pdnDslAtmBondAlarmConfAtucThreshRateUp       Integer32,
      pdnDslAtmBondAlarmConfAturThreshRateUp       Integer32,
      pdnDslAtmBondAlarmConfAtucThreshRateDown     Integer32,
      pdnDslAtmBondAlarmConfAturThreshRateDown     Integer32
   }

pdnDslAtmBondAlarmConfProfileName OBJECT-TYPE
   SYNTAX      SnmpAdminString(SIZE(1..32))
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION "This object is the index for the table and identifies
                a unique row in the table.  A default profile with an 
                index of `DEFVAL' will always exist and its parameters
                will be set to implementation-specific values."
   ::= { pdnDslAtmBondAlarmConfProfileEntry 1 }

pdnDslAtmBondAlarmConfRowStatus OBJECT-TYPE
   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "This object allows profiles to be created to deleted.
                The delete operation can only occur when the 
                pdnDslAtmBondAlarmConfNbrRefs is 0 meaning that there
                are no entries in the pdnDslAtmBondGroupTable that
                reference this group."
   ::= { pdnDslAtmBondAlarmConfProfileEntry 2 }

pdnDslAtmBondAlarmConfNbrRefs OBJECT-TYPE
   SYNTAX      Unsigned32(0..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION "The number of entries in the pdnDslAtmBondGroupTable
                that reference this profile."
   ::= { pdnDslAtmBondAlarmConfProfileEntry 3 }

pdnDslAtmBondAlarmConfAtucThreshRateUp OBJECT-TYPE
   SYNTAX      Integer32(0..2147483647)
   UNITS       "bps"  
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "Configured change in rate, in bps, causing a 
                pdnDslAtmBondAtucRateChange notification.  The 
                notification is produced when 
                current rate >= previous rate plus the value of this
                object.  A value of `0' will disable the trap."
   ::= { pdnDslAtmBondAlarmConfProfileEntry 4 }

pdnDslAtmBondAlarmConfAturThreshRateUp OBJECT-TYPE
   SYNTAX      Integer32(0..2147483647)
   UNITS       "bps"  
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "Configured change in rate, in bps, causing a 
                pdnDslAtmBondAturRateChange notification.  The 
                notification is produced when 
                current rate >= previous rate plus the value of this
                object.  A value of `0' will disable the trap."
   ::= { pdnDslAtmBondAlarmConfProfileEntry 5 }

pdnDslAtmBondAlarmConfAtucThreshRateDown OBJECT-TYPE
   SYNTAX      Integer32(0..2147483647)
   UNITS       "bps"  
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "Configured change in rate, in bps, causing a 
                pdnDslAtmBondAtucRateChange notification.  The 
                notification is produced when 
                current rate <= previous rate minus the value of this
                object.  A value of `0' will disable the trap."
   ::= { pdnDslAtmBondAlarmConfProfileEntry 6 }

pdnDslAtmBondAlarmConfAturThreshRateDown OBJECT-TYPE
   SYNTAX      Integer32(0..2147483647)
   UNITS       "bps"  
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION "Configured change in rate, in bps, causing a 
                pdnDslAtmBondAturRateChange notification.  The 
                notification is produced when 
                current rate <= previous rate minus the value of this
                object.  A value of `0' will disable the trap."
   ::= { pdnDslAtmBondAlarmConfProfileEntry 7 }




-- ======================================================================
-- ==              Accessible for Notifications (AFNs)                 ==
-- ======================================================================
-- None defined



-- ======================================================================
-- ==                  Traps/Notifications                             ==
-- ======================================================================

pdnDslAtmBondAtucRateChange NOTIFICATION-TYPE
   OBJECTS {
      pdnDslAtmBondGroupIfIndex,
      pdnDslAtmBondPerfCurrAtucNetDataRate,
      pdnDslAtmBondPerfPrevAtucNetDataRate
   }
   STATUS current
   DESCRIPTION "The downstream transmit rate has changed."
   ::= { pdnDslAtmBondNotifications 1 }
   
pdnDslAtmBondAturRateChange NOTIFICATION-TYPE
   OBJECTS {
      pdnDslAtmBondGroupIfIndex,
      pdnDslAtmBondPerfCurrAturNetDataRate,
      pdnDslAtmBondPerfPrevAturNetDataRate
   }
   STATUS current
   DESCRIPTION "The upstream transmit rate has changed."
   ::= { pdnDslAtmBondNotifications 2 }

pdnDslAtmBondGroupStatusChange NOTIFICATION-TYPE
   OBJECTS {
      pdnDslAtmBondGroupIfIndex,
      pdnDslAtmBondPerfGroupStatus,
      pdnDslAtmBondPerfFailReason
   }
   STATUS      current
   DESCRIPTION "The operational status of the group has changed."
   ::= { pdnDslAtmBondNotifications 3 }



-- ======================================================================
-- ==                  Conformance Information                         ==
-- ======================================================================

pdnDslAtmBondCompliances  OBJECT IDENTIFIER ::= 
   { pdnDslAtmBondConformance 1 }
pdnDslAtmBondGroups       OBJECT IDENTIFIER ::= 
   { pdnDslAtmBondConformance 2 }


-- ===========================
-- == Compliance Statements ==
-- ===========================


pdnDslAtmBondMIBCompliance MODULE-COMPLIANCE
   STATUS      current
   DESCRIPTION "The compliance statement for the entities which
                implement the pdnDslAtmBondMIB."
   MODULE      -- this module

   MANDATORY-GROUPS {
         pdnDslAtmBondGroup,
         pdnDslAtmBondMappingGroup,
         pdnDslAtmBondPerfAggDataRateGroup,
         pdnDslAtmBondPerfBondGroupStatusGroup,
         pdnDslAtmBondNotificationsGroup
      }

   --
   -- Optional Groups
   --

   GROUP       pdnDslAtmBondMaxRateGroup
   DESCRIPTION "This group is only required for implementations that
                need to be able to configure the maximum net data rate
                a bonding group is allowed to achieve."

   GROUP       pdnDslAtmBondMinRateGroup
   DESCRIPTION "This group is only required for implementations that
                need to be able to configure the minimum net data rate
                a bonding group is allowed to achieve."

   GROUP       pdnDslAtmBondDiffDelayGroup
   DESCRIPTION "This group is only required for implementations that
                need to be able to configure the maximum differential
                delay tolerance among member links in a bonding group."

   GROUP       pdnDslAtmBondGroupStatusNotifyEnabledGroup
   DESCRIPTION "This group is only required for implementations that
                need to be able to configure whether or not 
                notifications will be generated when the status of
                a particular bonding group changes."

   GROUP       pdnDslAtmBondIndexMappingGroup
   DESCRIPTION "This group is only required for implementations that
                require mapping from a group's ifIndex to the 
                group's index."

   GROUP       pdnDslAtmBondInvMappingGroup
   DESCRIPTION "This group is only required for implementations that
                require inverse mapping support."

   GROUP       pdnDslAtmBondDateAndTimeGroup
   DESCRIPTION "This group is only required for implementations that
                require a date-time stamp for a particular entry in
                an interval table."

   GROUP       pdnDslAtmBondRunTimeGroup
   DESCRIPTION "This group is only required for implementations that
                require tracking of the time a bonding group is 
                `operational'."

   GROUP       pdnDslAtmBondRxCellLossGroup
   DESCRIPTION "This group is only required for implementations that
                require tracking of the number of cells that are lost
                at the aggregation output from a bonding group."

   GROUP       pdnDslAtmBondPerfFailReasonGroup
   DESCRIPTION "This group is only required for implementations that
                require tracking of the reason a bonding group is 
                failing to become `operational'."

   GROUP       pdnDslAtmBondFailCountGroup
   DESCRIPTION "This group is only required for implementations that
                require tracking of the number of times a bonding group
                was declared `unavailable'."

   GROUP       pdnDslAtmBondUASGroup
   DESCRIPTION "This group is only required for implementations that
                require tracking of the time the bonding group was
                unavailable."

   GROUP       pdnDslAtmBondTrafficCapGroup
   DESCRIPTION "This group is only required for implementations that
                require tracking of the current status of a link
                in a bonded group with respect to carrying bonded
                traffic."

   GROUP       pdnDslATmBondAsmRxStatusGroup
   DESCRIPTION "This group is only required for implementations that
                require the tracking of the status of reception of ASMs
                for a link in a bonded group."

   GROUP       pdnDslAtmBondAlarmConfProfileGroup
   DESCRIPTION "This group is only required for implementations that
                require the support for alarm profiles."

   GROUP       pdnDslAtmBondAlarmConfAtucThreshRateGroup
   DESCRIPTION "This group is only required for implementations that
                require thresholds for rate changes in the downstream
                direction."

   GROUP       pdnDslAtmBondAlarmConfAturThreshRateGroup
   DESCRIPTION "This group is only required for implementations that
                require thresholds for rate changes in the upstream
                direction."



   OBJECT pdnDslAtmBondInvMappingBearerNbr
   SYNTAX      Integer32(1)
   DESCRIPTION "An implementation only has to support 1 bearer."


   ::= { pdnDslAtmBondCompliances 1 }


-- ==========================
-- == Units of Conformance ==
-- ==========================

pdnDslAtmBondObjGroups   OBJECT IDENTIFIER ::= { pdnDslAtmBondGroups 1 }
pdnDslAtmBondAfnGroups   OBJECT IDENTIFIER ::= { pdnDslAtmBondGroups 2 }
pdnDslAtmBondNtfyGroups  OBJECT IDENTIFIER ::= { pdnDslAtmBondGroups 3 }

-- ===================
-- == Object Groups ==
-- ===================

pdnDslAtmBondGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondNextGroupIndex,
      pdnDslAtmBondNbrOfGroups,
      pdnDslAtmBondGroupRowStatus,
      pdnDslAtmBondGroupNbrRefs,
      pdnDslAtmBondGroupIfIndex,
      pdnDslAtmBondGroupID
    }
    STATUS      current
    DESCRIPTION "General configuration/definition of a bonding group."
    ::= { pdnDslAtmBondObjGroups 1 }

pdnDslAtmBondMaxRateGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondGroupAtucMaxNetDataRate,
      pdnDslAtmBondGroupAturMaxNetDataRate
    }
    STATUS      current
    DESCRIPTION "Configuration of the maximum net data rate a bonding
                 group is allowed to achieve."
    ::= { pdnDslAtmBondObjGroups 2 }

pdnDslAtmBondMinRateGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondGroupAtucMinNetDataRate,
      pdnDslAtmBondGroupAturMinNetDataRate
    }
    STATUS      current
    DESCRIPTION "Configuration of the minimum net data rate a bonding
                 group is allowed to achieve."
    ::= { pdnDslAtmBondObjGroups 3 }

pdnDslAtmBondDiffDelayGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondGroupAtucDiffDelay,
      pdnDslAtmBondGroupAturDiffDelay

    }
    STATUS      current
    DESCRIPTION "Configuration of maximum differential delay among 
                 member links in a bonding group."
    ::= { pdnDslAtmBondObjGroups 4 }

pdnDslAtmBondGroupStatusNotifyEnabledGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondGroupStatusNotifyEnabled
   }
   STATUS      current
   DESCRIPTION "Configuration of notifications for changes to the
                status of a bonding group."
   ::= { pdnDslAtmBondObjGroups 5 }

pdnDslAtmBondMappingGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondMappingRowStatus,
      pdnDslAtmBondMappingGroupIndex
   }
   STATUS      current
   DESCRIPTION "Map a DSL interface and a bearer to a bonding group."
   ::= { pdnDslAtmBondObjGroups 6 }

pdnDslAtmBondIndexMappingGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondGroupIndexMappingIndex
   }
   STATUS       current
   DESCRIPTION "Map from a bonding group's ifIndex to the bonding
                group's index."
   ::= { pdnDslAtmBondObjGroups 7 }

pdnDslAtmBondInvMappingGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondInvMappingBearerNbr
   }
   STATUS       current
   DESCRIPTION "Map from a bonding group and a DSL interface to a 
                bearer."
   ::= { pdnDslAtmBondObjGroups 8 }

pdnDslAtmBondPerfAggDataRateGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondPerfCurrAtucNetDataRate,
      pdnDslAtmBondPerfCurrAturNetDataRate,
      pdnDslAtmBondPerfPrevAtucNetDataRate,
      pdnDslAtmBondPerfPrevAturNetDataRate
   }
   STATUS      current
   DESCRIPTION "Status of the net data rate the bonding group has 
                currently or had previously achieved."
   ::= { pdnDslAtmBondObjGroups 9 }

pdnDslAtmBondPerfBondGroupStatusGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondPerfGroupStatus
   }
   STATUS      current
   DESCRIPTION "Current status of the bonding group."
   ::= { pdnDslAtmBondObjGroups 10 }

pdnDslAtmBondDateAndTimeGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBond15MinIntervalStartDateAndTime,
      pdnDslAtmBond1DayIntervalStartDateAndTime
   }
   STATUS      current
   DESCRIPTION "Date-time stamp of when an interval started."
   ::= { pdnDslAtmBondObjGroups 11 }

pdnDslAtmBondRunTimeGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondPerfRunTime,
      pdnDslAtmBond15MinIntervalRunTime,
      pdnDslAtmBond1DayIntervalRunTime
   }
   STATUS      current
   DESCRIPTION "The tracking of time a bonding group is `operational'."
   ::= { pdnDslAtmBondObjGroups 12 }

pdnDslAtmBondRxCellLossGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondPerfAtucRxCellLoss,
      pdnDslAtmBondPerfAturRxCellLoss,
      pdnDslAtmBond15MinIntervalAtucRxCellLoss,
      pdnDslAtmBond15MinIntervalAturRxCellLoss,
      pdnDslAtmBond1DayIntervalAtucRxCellLoss,
      pdnDslAtmBond1DayIntervalAturRxCellLoss
   }
   STATUS      current
   DESCRIPTION "The tracking the total number of cells that are lost
                at the aggregation output from a bonding group."
   ::= { pdnDslAtmBondObjGroups 13 }

pdnDslAtmBondPerfFailReasonGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondPerfFailReason
   }
   STATUS      current
   DESCRIPTION "The reason the operational status of the bonding group 
                is not `operational'."
   ::= { pdnDslAtmBondObjGroups 14 }

pdnDslAtmBondFailCountGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondPerfFailCount,
      pdnDslAtmBond15MinIntervalFailCount,
      pdnDslAtmBond1DayIntervalFailCount
   }
   STATUS      current
   DESCRIPTION "The number of times a bonding group was declared 
                `unavailable'."
   ::= { pdnDslAtmBondObjGroups 15 }

pdnDslAtmBondUASGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondPerfUAS,
      pdnDslAtmBond15MinIntervalUAS,
      pdnDslAtmBond1DayIntervalUAS
   }
   STATUS      current
   DESCRIPTION "The time a bonding group was unavailable."
   ::= { pdnDslAtmBondObjGroups 16 }

pdnDslAtmBondTrafficCapGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondLinkAtucRxLinkStatus,
      pdnDslAtmBondLinkAturRxLinkStatus,
      pdnDslAtmBondLinkAtucTxLinkStatus,
      pdnDslAtmBondLinkAturTxLinkStatus
   }
   STATUS      current
   DESCRIPTION "Current status of the link in a bonded group with
                respect to carrying bonded traffic."
   ::= { pdnDslAtmBondObjGroups 17 }

pdnDslATmBondAsmRxStatusGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondLinkAtucAsmRxStatus,
      pdnDslAtmBondLinkAturAsmRxStatus
   }
   STATUS      current
   DESCRIPTION "Status of the reception of ASMs for a link in a bonded
                group."
   ::= { pdnDslAtmBondObjGroups 18 }

pdnDslAtmBondAlarmConfProfileGroup OBJECT-GROUP
   OBJECTS {
       pdnDslAtmBondGroupAlarmConfProfileName,
       pdnDslAtmBondAlarmConfRowStatus,
       pdnDslAtmBondAlarmConfNbrRefs
   }
   STATUS      current
   DESCRIPTION "Provides the ability to create or delete alarm 
                profiles."
   ::= { pdnDslAtmBondObjGroups 19 }

pdnDslAtmBondAlarmConfAtucThreshRateGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondAlarmConfAtucThreshRateUp,
      pdnDslAtmBondAlarmConfAtucThreshRateDown
   }
   STATUS      current
   DESCRIPTION "Provides the ability to configure thresholds for
                rate changes in the downstream direction."
   ::=  { pdnDslAtmBondObjGroups 20 }

pdnDslAtmBondAlarmConfAturThreshRateGroup OBJECT-GROUP
   OBJECTS {
      pdnDslAtmBondAlarmConfAturThreshRateUp,
      pdnDslAtmBondAlarmConfAturThreshRateDown
   }
   STATUS      current
   DESCRIPTION "Provides the ability to configure thresholds for
                rate changes in the upstream direction."
   ::=  { pdnDslAtmBondObjGroups 21 }




-- ==================================
-- == Accessible for Notify Groups ==
-- ==================================
-- None.



-- =========================
-- == Notification Groups ==
-- =========================

pdnDslAtmBondNotificationsGroup NOTIFICATION-GROUP
   NOTIFICATIONS {
      pdnDslAtmBondAtucRateChange,
      pdnDslAtmBondAturRateChange,
      pdnDslAtmBondGroupStatusChange
   }
   STATUS      current
   DESCRIPTION "The collection of notifications for the MIB module."
   ::= { pdnDslAtmBondNtfyGroups 1 }


-- =========
-- == END ==
-- =========
END
