ADTRAN-GENSHAPER-MIB

-- TITLE:     The ADTRAN Shaper MIB
-- PRODUCT:   Metro Ethernet Products
-- VERSION:   1.0
-- DATE:      09/03/09
-- AUTHOR:    Joey Boyd
-- STATUS:    PRELIMINARY

-- This MIB defines the object identifiers (OIDs) for the
-- ADTRAN GENSHAPER MIB objects

-- HISTORY:
-- 09/03/09 jlb   STATUS: PRELIMINARY.
-- 10/14/09 jlb   Added adGenShaperProvApplicationType, adGenShaperSlotTable, and adGenShaperLookupPerInterfaceTable.
-- 10/16/09 jlb   Added unspecified(1) to adGenShaperProvApplicationType.
-- 10/14/10 ams   Added adGenShaperBurstSize.

-- ******************************************************************************************
DEFINITIONS ::= BEGIN

IMPORTS

   adGenShaper,
   adGenShaperID
      FROM ADTRAN-SHARED-CND-SYSTEM-MIB

   OBJECT-TYPE,
   MODULE-IDENTITY,
   Integer32,
   Unsigned32
      FROM SNMPv2-SMI

   DisplayString,
   RowStatus
      FROM SNMPv2-TC

   InterfaceIndex,
   InterfaceIndexOrZero,
   ifIndex
      FROM IF-MIB

   adGenSlotInfoIndex
      FROM ADTRAN-GENSLOT-MIB
   ;

adGenShaperMIB MODULE-IDENTITY
   LAST-UPDATED "200910140000Z"
   ORGANIZATION "Adtran, Inc."
   CONTACT-INFO
     "CND Tech Support
         Postal: ADTRAN, Inc.
                 901 Explorer Blvd.
                 Huntsville, AL  35806
                 Tel: +1 800 726 8663
                 Fax: +1 256 963 6217
                 E-mail: support@adtran.com"
   DESCRIPTION
      "This MIB defines the objects for the Shaper MIB."
   REVISION "200909030000Z"
   DESCRIPTION "Created"
::= { adGenShaperID 1 }

adGenShaperProvisioning                OBJECT IDENTIFIER ::= {adGenShaper 1}

--==================================================================================================================

   adGenShaperProvTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenShaperProvEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Shaper provisioning table."
      ::= { adGenShaperProvisioning 1 }

   adGenShaperProvEntry OBJECT-TYPE
      SYNTAX  AdGenShaperProvEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Shaper provisioning table.  Shaper entries
          are uniquely identified by their name and slot."
      INDEX  { adGenSlotInfoIndex, IMPLIED adGenShaperProvName }
      ::= { adGenShaperProvTable 1 }

   AdGenShaperProvEntry ::=
      SEQUENCE {
         adGenShaperProvName
            DisplayString,
         adGenShaperProvRowStatus
            RowStatus,
         adGenShaperProvOperStatus
            INTEGER,
         adGenShaperProvOperStatusDetail
            DisplayString,
         adGenShaperProvLastProvError
            DisplayString,
	 adGenShaperProvApplication
	    INTEGER,
         adGenShaperProvRate
            Unsigned32,
         adGenShaperProvInterface
            InterfaceIndexOrZero,
         adGenShaperBurstSize
            Unsigned32
      }

      adGenShaperProvName OBJECT-TYPE
       	 SYNTAX  DisplayString (SIZE (1..50))
         MAX-ACCESS  not-accessible
         STATUS  current
         DESCRIPTION
            "A user configurable name for the Shaper.  Upon creation of the Shaper,
             the associated name will default to a unique value."
         ::= { adGenShaperProvEntry 1 }

      adGenShaperProvRowStatus OBJECT-TYPE
         SYNTAX  RowStatus
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
           "This object is used to create a new row or modify or delete an
            existing row in the Shaper table."
         ::= { adGenShaperProvEntry 2 }

      adGenShaperProvOperStatus OBJECT-TYPE
         SYNTAX INTEGER  {
            up(1),
            down(2)
         }
         MAX-ACCESS read-only
         STATUS current
         DESCRIPTION
            "Returns the current operational status of the Shaper."
         ::= { adGenShaperProvEntry 3 }

      adGenShaperProvOperStatusDetail OBJECT-TYPE
         SYNTAX  DisplayString
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "This variable provides the Shaper status.  If there is no error, the Shaper
             status will be 'running'.  If there is an error and the Shaper cannot be
             applied, then adGenShaperProvOperStatusDetail will provide more details about the error."
         ::= { adGenShaperProvEntry 4 }

      adGenShaperProvLastProvError OBJECT-TYPE
          SYNTAX         DisplayString
          MAX-ACCESS     read-only
          STATUS         current
          DESCRIPTION
             "This string describes the last error experienced
              for this particular entry in the table."
          ::= { adGenShaperProvEntry 5 }

      adGenShaperProvApplication OBJECT-TYPE
         SYNTAX  INTEGER  {
			unspecified(1),
			perInterface(2)
		 }
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "This variable specifies where the shaper is applied.  This value will determine which
			 combination of objects will be used to identify where the shaper is applied."
         ::= { adGenShaperProvEntry 6 }

      adGenShaperProvRate OBJECT-TYPE
         SYNTAX  Unsigned32
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "This variable specifies the shaper rate in kbps.  The range supported
			 is determined by the interface the shaper is connected to.  The minimum shaper
			 rate is 1kbps and the maximum is the line rate of the interface."
         ::= { adGenShaperProvEntry 7 }

      adGenShaperProvInterface OBJECT-TYPE
          SYNTAX InterfaceIndexOrZero
          MAX-ACCESS read-create
          STATUS current
          DESCRIPTION
             "Specifies the Layer 2 Ethernet interface the shaper is applied to.  A value of
			  zero means this interface has not been set."
          ::= {adGenShaperProvEntry 8 }

      adGenShaperBurstSize OBJECT-TYPE
         SYNTAX  Unsigned32
         MAX-ACCESS  read-create
         STATUS  current
         DESCRIPTION
            "This variable configures the Burst Size in bytes for the shaper. The burst  
            size specifies the number of consecutive bytes allowed to egress at the 
            interface rate when no packets have been sent for some time."
         ::= { adGenShaperProvEntry 9 }


--==================================================================================================================

   adGenShaperSlotTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenShaperSlotEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Shaper provisioning table."
      ::= { adGenShaperProvisioning 2 }

   adGenShaperSlotEntry OBJECT-TYPE
      SYNTAX  AdGenShaperSlotEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Shaper slot table.  These items are applicable to the device
		  and not to an individual shaper."
      INDEX  { adGenSlotInfoIndex }
      ::= { adGenShaperSlotTable 1 }

   AdGenShaperSlotEntry ::=
      SEQUENCE {
         adGenShaperSlotLastCreateError
            DisplayString
      }

      adGenShaperSlotLastCreateError OBJECT-TYPE
       	 SYNTAX  DisplayString
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "If creation of a shaper fails.  This string will be used to return the
			 reason for failure."
         ::= { adGenShaperSlotEntry 1 }

--==================================================================================================================

   adGenShaperLookupPerInterfaceTable OBJECT-TYPE
      SYNTAX  SEQUENCE OF AdGenShaperLookupPerInterfaceEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "The Shaper lookup per interface table."
      ::= { adGenShaperProvisioning 3 }

   adGenShaperLookupPerInterfaceEntry OBJECT-TYPE
      SYNTAX  AdGenShaperLookupPerInterfaceEntry
      MAX-ACCESS  not-accessible
      STATUS  current
      DESCRIPTION
         "An entry in the Shaper lookup per interface table.  This table will only contain entries
		  for those interface that are connected to a shaper that is applied perInterface(2)."
      INDEX  { ifIndex }
      ::= { adGenShaperLookupPerInterfaceTable 1 }

   AdGenShaperLookupPerInterfaceEntry ::=
      SEQUENCE {
         adGenShaperLookupPerInterface
            DisplayString
      }

      adGenShaperLookupPerInterface OBJECT-TYPE
       	 SYNTAX  DisplayString
         MAX-ACCESS  read-only
         STATUS  current
         DESCRIPTION
            "If the selected interface is connected to a shaper that is applied perInterface(2), this
			 object will contain the name of the shaper."
         ::= { adGenShaperLookupPerInterfaceEntry 1 }

END
