-- Copyright (C) 2018 Aricent Group . All Rights Reserved.

--$Id: fslbd.mib,v 1.1 2018/06/18 04:36:16 vijay Exp $

-- This is the MIB for Aricent proprietary "Loop Back Detection" feature

ARICENT-LBD-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, MODULE-IDENTITY, Integer32, Counter32,
    enterprises FROM SNMPv2-SMI
    TruthValue,RowStatus, MacAddress FROM SNMPv2-TC
    ifIndex FROM IF-MIB;


futureLbdMIB MODULE-IDENTITY
         LAST-UPDATED "201805300000Z"
         ORGANIZATION "ARICENT COMMUNICATIONS SOFTWARE"
         CONTACT-INFO "support@aricent.com"
         DESCRIPTION 
             " This proprietary MIB module for loopback detection feature."
             ::=  { enterprises aricent-communication-holding-ltd(29601) 
             iss(2) 123}
  
-- ***************************************************************************
--                         Groups in the MIB
-- ***************************************************************************
     fsLbdSystems                     OBJECT IDENTIFIER ::= { futureLbdMIB 1 }
     fsLbdConfig                      OBJECT IDENTIFIER ::= { futureLbdMIB 2 }

-- SCALAR BEGIN

fsLbdSystemControl OBJECT-TYPE
         SYNTAX      INTEGER { start(1), shutdown(2) }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
             "The administrative system control status of Loopback Detection feature.
              The value 'start' (1) indicates that all resources required by the 
              module should be allocated.
              The value 'shutdown' (2) indicates that Loopback Detection feature is
              shutdown in the device and all allocated memory should be released."
         DEFVAL  { start }
         ::= { fsLbdSystems 1}

fsLbdModuleStatus OBJECT-TYPE
        SYNTAX      INTEGER { enabled(1), disabled(2) }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
           "The administrative module status of  Loopback Detection feature.
           This enables or disables  Loopback Detection in the system .
           A value of 'enabled' (1) indicates that Loopback Detection is enabled in the device.
           A value of 'disabled' (2) indicates that Loopback Detection is disabled
           in the device."
        DEFVAL  { disabled }
        ::= { fsLbdSystems 2}

fsLbdTransmitInterval OBJECT-TYPE
        SYNTAX      INTEGER (1..60) 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
        "This object specifies the time interval(in seconds) between two consecutive Loop Back Detection (LBD) PDUs"

        DEFVAL { 30 }

          ::= { fsLbdSystems 3}

fsLbdDestMacAddress   OBJECT-TYPE
         SYNTAX            MacAddress
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION
            "This object is used to configure the destination MAC address of the Loop Back Detection PDUS.
             By default broadcast address is used as destination MAC address in the LBD PDUs.
             User can configure a preferred, unreserved multicast MAC address (01:xx:xx:xx:xx:xx) 
             as destination MAC address for the LBD PDUs." 
         ::= { fsLbdSystems 4 }

fsLbdTraceOption OBJECT-TYPE
         SYNTAX            Integer32
         MAX-ACCESS        read-write
         STATUS            current
         DESCRIPTION
            "This object is used to enable trace statements in Loopback detection module.

                The mapping between the bit positions & the level of trace is
                as follows:
                        1 - Control Plane Traces
                        2 - Packet Flow Traces
                        3 - Critical Traces
                        4 - Packet Dump Traces
                        5 - Buffer Trace "
         DEFVAL { 8 }
         ::= { fsLbdSystems 5 }

-- SCALAR END

-- --------------------------------------------
-- Loopback-detection  Table
-- --------------------------------------------
fsLbdPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FsLbdPortEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
              "This table contains Loop Back Detection related configuration and statistics
               at port level." 
        ::= {fsLbdConfig 1}

fsLbdPortEntry OBJECT-TYPE
        SYNTAX      FsLbdPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
               " Each entry in this table contains Loop Back Detection related configuration and statistics
                for a port."
        INDEX { fsLbdPortId }
        ::= {fsLbdPortTable 1}

FsLbdPortEntry ::=
        SEQUENCE {
             fsLbdPortId                  Integer32,
             fsLbdLoopDetectStatus        INTEGER,
             fsLbdTxCount                 Counter32,
             fsLbdRxCount                 Counter32,
             fsLbdPortStatus              INTEGER,
             fsLbdPktTxFromPort           Integer32,
             fsLbdPortRowStatus           RowStatus,
             fsLbdClearStats              TruthValue
                  }

fsLbdPortId OBJECT-TYPE
        SYNTAX      Integer32 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
           " This object specifies the Inteface index over which Loopback detection is connected"
     
        ::= {fsLbdPortEntry 1}

fsLbdLoopDetectStatus OBJECT-TYPE
         SYNTAX      INTEGER  { enabled(1), disabled(2) }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
             "This object is used to enable or disable the Loopback detection functionality in
              the port. A value of 'enabled' (1) indicates that Loopback detection 
              functionality is enabled on the port. A value of 'disabled' (2)
              indicates that Loopback detection functionality is disabled in the port.
      
              Loop Back Detection on a port will function only when the feature is enabled in the system 
              as well as on the port."
      
        DEFVAL  { enabled }
      
        ::= {fsLbdPortEntry 2}
      
fsLbdTxCount OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
             "This object specifies the number of LPD PDUs transmitted out of the port."
      
         ::= {fsLbdPortEntry 3}

fsLbdRxCount OBJECT-TYPE
         SYNTAX      Counter32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
      
             "This object specifies the number of LPD PDUs received on the port."
      
         ::= {fsLbdPortEntry 4}
      
fsLbdPortStatus OBJECT-TYPE
         SYNTAX      INTEGER { noloopback(0),
                               loopback(1)}
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
      
             "This object indicates the current condition of the network connected to the port.
              'noloopback' indicates that loop back condition is not detected in the network connected to the port.
              'loopback' indicates that loop back condition is detected in the network connected to the port."
      
         ::= {fsLbdPortEntry 5}

fsLbdPktTxFromPort OBJECT-TYPE
         SYNTAX        Integer32
         MAX-ACCESS    read-only
         STATUS        current
         DESCRIPTION
      
         "This object indicates the 'port-number' that was present in the received LBD PDU.
          This port-number may be the potential port causing the loop condition in the network.
          This object is valid only when 'loopback' condition is detected on a port."
      
         ::= {fsLbdPortEntry 6}

fsLbdPortRowStatus OBJECT-TYPE
         SYNTAX        RowStatus
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
      
         "Row status for the Port Entry"
         ::= {fsLbdPortEntry 7}
      

fsLbdClearStats OBJECT-TYPE
         SYNTAX        TruthValue
         MAX-ACCESS    read-write
         STATUS        current
         DESCRIPTION
      
         "This object is used to clear the statistics of port.
         When this object is set to 'true', it will clear the statistics of the port and reverts back to 'false'"
         DEFVAL { false }
      
         ::= {fsLbdPortEntry 8}

END
