ADTRAN-GEN-MONITOR-SESSION-MIB

-- TITLE:     The ADTRAN MONITOR SESSION MIB
-- PRODUCT:   TA5000 AND OSP
-- VERSION:   1.0
-- DATE:      12/15/17
-- AUTHOR:    
-- STATUS:    PRELIMINARY

DEFINITIONS ::= BEGIN

IMPORTS

   adGenMonitorSession,
   adGenMonitorSessionID
      FROM ADTRAN-SHARED-CND-SYSTEM-MIB

   OBJECT-TYPE,
   MODULE-IDENTITY
      FROM SNMPv2-SMI

   DisplayString,
   RowStatus
      FROM SNMPv2-TC

   adGenSlotInfoIndex
      FROM ADTRAN-GENSLOT-MIB

   InterfaceIndex
      FROM IF-MIB

   ;

adGenMonitorSessionMIB MODULE-IDENTITY
   LAST-UPDATED "201712150000Z"
   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 Monitor Session. 
       Monitor Session is used for Port Mirroring. This is used for monitoring network traffic. 
       Switch sends all network packets on source port to destination port where packets can be analyzed.  
       Creation of Monitor Session, Source interfaces and Destination interface provisioning to the monitor
       session can be done using these objects."

   REVISION "201712150000Z"
   DESCRIPTION "Created"

::= { adGenMonitorSessionID 1 }

   adGenMonitorSessionProv        OBJECT IDENTIFIER ::= {adGenMonitorSession 1}

-- ==================================================================================================================
-- Monitor Session Table 
-- ==================================================================================================================

   adGenMonitorSessionTable       OBJECT-TYPE
      SYNTAX                      SEQUENCE OF AdGenMonitorSessionEntry
      MAX-ACCESS                  not-accessible
      STATUS                      current
      DESCRIPTION
          "Monitor Session Provisioning table."
      ::= { adGenMonitorSessionProv 1 }

   adGenMonitorSessionEntry       OBJECT-TYPE
      SYNTAX                      AdGenMonitorSessionEntry
      MAX-ACCESS                  not-accessible
      STATUS                      current
      DESCRIPTION
          "An entry in Monitor Session provisioning Table. Monitor Session entries
           are uniquely identified by their ID and Slot on which it is created."
      INDEX  { adGenSlotInfoIndex, adGenMonitorSessionNum }
      ::= { adGenMonitorSessionTable 1 }

   AdGenMonitorSessionEntry ::=
      SEQUENCE { 
         adGenMonitorSessionNum             INTEGER,   
         adGenMonitorSessionAdminState      INTEGER,
         adGenMonitorSessionLastError       DisplayString,
         adGenMonitorSessionRowStatus       RowStatus
         
      } 

   adGenMonitorSessionNum         OBJECT-TYPE
       SYNTAX                     INTEGER (1)
       MAX-ACCESS                 read-only
       STATUS                     current
       DESCRIPTION
           "Displays Monitor Session Number(ID)."
       ::= { adGenMonitorSessionEntry 1 }

   adGenMonitorSessionAdminState  OBJECT-TYPE
       SYNTAX                     INTEGER  { up ( 1 ) , down ( 2 ) } 
       MAX-ACCESS                 read-create
       STATUS                     current
       DESCRIPTION
           "This object is used to control the Administrative State of 
            the Monitor Session." 
       ::= { adGenMonitorSessionEntry 2 }

   adGenMonitorSessionLastError   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."
       ::= { adGenMonitorSessionEntry 3 }

   adGenMonitorSessionRowStatus   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 this table.Setting this value to createAndWait creates 
           the new Monitor Session and setting this value to destroy removes the 
           Monitor Session (and the table row).
           Setting this value to 'active' indicates that the Monitor Session is 
           administratively In-Service. 
           Setting this value to 'notInService' indicates that the Monitor Session 
           is administratively 'Out-Of-Service'."
      ::= { adGenMonitorSessionEntry 4 }
       



-- ==================================================================================================================
-- Monitor Session Source Provisioning Table provisions the source interface.
-- ==================================================================================================================

   adGenMonitorSessionSrcProvTable OBJECT-TYPE
      SYNTAX                       SEQUENCE OF AdGenMonitorSessionSrcProvEntry
      MAX-ACCESS                   not-accessible
      STATUS                       current
      DESCRIPTION
          "Monitor Session Source Provisioning table."
      ::= { adGenMonitorSessionProv 2 }

   adGenMonitorSessionSrcProvEntry OBJECT-TYPE
      SYNTAX                       AdGenMonitorSessionSrcProvEntry
      MAX-ACCESS                   not-accessible
      STATUS                       current
      DESCRIPTION
          "An entry in Monitor Session Source Table. This table can be
           used to add or remove Source Ports for Monitor Session.
           The first index is adGenSlotInfoIndex to identify the Slot on which Monitor
           Session is created. The second index is adGenMonitorSessionNum, identifies 
           the Monitor Session uniquely. The third index is the ifIndex for the Source Port."
      INDEX  {  adGenSlotInfoIndex, adGenMonitorSessionNum, adGenMonitorSessionSrcifIndex }
      ::= { adGenMonitorSessionSrcProvTable 1 }

   AdGenMonitorSessionSrcProvEntry ::=
      SEQUENCE {
         adGenMonitorSessionSrcifIndex       InterfaceIndex,
         adGenMonitorSessionSrcDirection     INTEGER,
         adGenMonitorSessionSrcLastError     DisplayString,
         adGenMonitorSessionSrcRowStatus     RowStatus 
       } 
       

   adGenMonitorSessionSrcifIndex   OBJECT-TYPE
         SYNTAX                    InterfaceIndex
         MAX-ACCESS                not-accessible
         STATUS                    current
         DESCRIPTION
             "Identifies the interface index of the Source port to be connected to this Monitor Session."
         ::= { adGenMonitorSessionSrcProvEntry 1 }


   adGenMonitorSessionSrcDirection OBJECT-TYPE
      SYNTAX                       INTEGER { rx (0),
                                             tx (1),
                                             both (2) }
      MAX-ACCESS                   read-create
      STATUS                       current
      DESCRIPTION
          "Provision for the traffic direction of source interface : 
           rx(0) - Monitor traffic received (ingress) on this port , 
           tx(1) - Monitor traffic transmitted (egress) on this port , 
           both(2) - Monitor all traffic on this port."
      DEFVAL {both}
      ::= { adGenMonitorSessionSrcProvEntry 2 }

   adGenMonitorSessionSrcLastError 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."
       ::= { adGenMonitorSessionSrcProvEntry 3 }

   adGenMonitorSessionSrcRowStatus 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 this table.Setting this value to createAndGo
           and 'createAndWait' adds the source port to the Monitor Session 
           and setting this value to destroy removes the source port from
           the Monitor Session (and the table row)."
      ::= { adGenMonitorSessionSrcProvEntry 4 }


-- ==================================================================================================================
-- Monitor Session Destination Provisioning Table provisions the destination interface.
-- ==================================================================================================================

   adGenMonitorSessionDestProvTable OBJECT-TYPE
      SYNTAX                        SEQUENCE OF AdGenMonitorSessionDestProvEntry
      MAX-ACCESS                    not-accessible
      STATUS                        current
      DESCRIPTION
          "Monitor Session Destination Provisioning table."
      ::= { adGenMonitorSessionProv 3 }

   adGenMonitorSessionDestProvEntry OBJECT-TYPE
      SYNTAX                        AdGenMonitorSessionDestProvEntry
      MAX-ACCESS                    not-accessible
      STATUS                        current
      DESCRIPTION
          "An entry in Monitor Session Destination Table.  This table can be
           used to add or remove Destination Port for Monitor Session.
           The first index is adGenSlotInfoIndex to identify the Slot on which Monitor
           Session is created. The second index is adGenMonitorSessionNum, identifies 
           the Monitor Session uniquely. The third index is the ifIndex for the Destination Port."
      INDEX  { adGenSlotInfoIndex, adGenMonitorSessionNum, adGenMonitorSessionDestifIndex }
      ::= { adGenMonitorSessionDestProvTable 1 }

   AdGenMonitorSessionDestProvEntry ::=
      SEQUENCE {    
         adGenMonitorSessionDestifIndex        InterfaceIndex,
         adGenMonitorSessionDestLastError      DisplayString,
         adGenMonitorSessionDestRowStatus      RowStatus 
      }

   adGenMonitorSessionDestifIndex   OBJECT-TYPE
         SYNTAX                     InterfaceIndex
         MAX-ACCESS                 not-accessible
         STATUS                     current
         DESCRIPTION
             "Identifies the interface index of the Destination port to be 
              connected to this Monitor Session."
         ::= { adGenMonitorSessionDestProvEntry 1 }

   adGenMonitorSessionDestLastError 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."
       ::= { adGenMonitorSessionDestProvEntry 2 }

   adGenMonitorSessionDestRowStatus OBJECT-TYPE
      SYNTAX                        RowStatus
      MAX-ACCESS                    read-create
      STATUS                        current
      DESCRIPTION
          "This object is used to create a new row or delete an
           existing row in this table.Setting this value to createAndGo and 
           'createAndWait'adds the destination port to the Monitor Session and 
           setting this value to destroy removes the destination port from 
           the Monitor Session (and the table row)."
      ::= { adGenMonitorSessionDestProvEntry 3 }


END