-- Copyright (C) 2008-2014 Super Micro Computer Inc. All Rights Reserved

-- $Id: fsG8261Ts.mib,v 1.2 2012/09/07 09:52:04 siva Exp $

--    FsG8261Ts Proprietary MIB Definition

--    This document explains the proprietary MIB implemented
--    for G8261 test simulator product. This is a test mib containing
--    only the delay parameters and the PTP related objects are present in fsptp.mib


--    The proprietary MIB definitions follows:
      SUPERMICRO-G8261TS-MIB DEFINITIONS ::= BEGIN

      IMPORTS
         MODULE-IDENTITY, OBJECT-TYPE,
         enterprises, Unsigned32, Integer32
         FROM SNMPv2-SMI
         DisplayString
         FROM SNMPv2-TC;

      fsG8261Ts MODULE-IDENTITY
           LAST-UPDATED "201209050000Z"
           ORGANIZATION "Super Micro Computer Inc."
           CONTACT-INFO "support@Supermicro.com"
         DESCRIPTION
              "This is the proprietary MIB for Delay."
	 REVISION "201209050000Z"
         DESCRIPTION
              "This is the proprietary MIB for Delay."
         ::=  { enterprises supermicro-computer-inc(10876) super-switch(101) basic(2) 72 }

-- *****************************************************************************
--              subtrees in the G8261TS MIB
-- *****************************************************************************
    fsG8261TsSystem           OBJECT IDENTIFIER ::= { fsG8261Ts 1 }
    fsG8261TsParams           OBJECT IDENTIFIER ::= { fsG8261Ts 2 }
    fsG8261TsOutput           OBJECT IDENTIFIER ::= { fsG8261Ts 3 }

-- *****************************************************************************
--              fsG8261TsSystem subtree
--  This subtree contain module status object.
-- *****************************************************************************

   fsG8261TsModuleStatus  OBJECT-TYPE
    SYNTAX      INTEGER { enable(1), disable (2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "Module status for G8261TestSimulator module. G8261 test simulator is 
         functional only when the module status is set as enabled"
    ::= { fsG8261TsSystem 1 }

-- *****************************************************************************
--              fsG8261TsParams subtree
--  This subtree contain objects that are configurable parameters of the delay
--  module.Based on the objects on this sub-tree, the delay is calculated in the
-- test simulator module.
-- *****************************************************************************
      fsG8261TsParamsTable OBJECT-TYPE 
            SYNTAX SEQUENCE OF FsG8261TsParamsEntry 
            MAX-ACCESS not-accessible 
            STATUS current 
            DESCRIPTION 

                "A table containing the configurable parameters of the delay module.
                The table contains an entry per direction (forward/reverse)" 
            ::= { fsG8261TsParams 1 } 

      fsG8261TsParamsEntry OBJECT-TYPE 
            SYNTAX FsG8261TsParamsEntry 
            MAX-ACCESS not-accessible 
            STATUS current 
            DESCRIPTION 

                "A list of objects that determine the delay to be introduced." 
            INDEX { fsG8261TsDirection } 
            ::= { fsG8261TsParamsTable 1 }


      FsG8261TsParamsEntry ::= 
          SEQUENCE { 
          fsG8261TsDirection
              INTEGER,
          fsG8261TsSwitchCount
              Unsigned32,
          fsG8261TsPacketSize
             Unsigned32,
          fsG8261TsLoad
             Unsigned32,
          fsG8261TsNetworkDisturbance
             Unsigned32,
          fsG8261TsDuration
             Unsigned32,
          fsG8261TsFlowVariationFactor
            INTEGER,
          fsG8261TsFlowInterval
            Unsigned32,
          fsG8261TsFrequency
            Unsigned32
          }  

   fsG8261TsDirection  OBJECT-TYPE
    SYNTAX     INTEGER
    {
        forward (1),
        reverse (2)
    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
         "Direction on which the network disturbance to be introduced"
    ::= { fsG8261TsParamsEntry 1 }
   
   fsG8261TsSwitchCount  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "No. of switches through which the packet should pass through in the 
         direction specified by fsG8261TsDirection."
    ::= { fsG8261TsParamsEntry 2 }

   fsG8261TsPacketSize  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The size of the largest packet to be sent on the network,
            specified in octets. "
    ::= { fsG8261TsParamsEntry 3 }
   
   fsG8261TsLoad  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "Percentage of load or no. of packets of size specified by 
         fsG8261TsPacketSize to be transmitted for a duration specified by
         fsG8261TsDuration."
    ::= { fsG8261TsParamsEntry 4 }
   
   fsG8261TsNetworkDisturbance  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "Percentage of noise to be introduced in the network."
    ::= { fsG8261TsParamsEntry 5 }

   fsG8261TsDuration  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "Duration for which network disturbance/load should be applied.
         The units of duration is in seconds."
    ::= { fsG8261TsParamsEntry 6 }
   
   fsG8261TsFlowVariationFactor  OBJECT-TYPE
    SYNTAX     INTEGER 
    {
        constant (1),
        incremental (2),
        decremental (3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "Flow variation factor with which the load/noise should be introduced.
         Noise/load can be introduced either as a constant flow or it can
         applied as any of the following: 1. incremental flow  
         2.decremented flow"
    ::= { fsG8261TsParamsEntry 7 }

   fsG8261TsFlowInterval  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "Interval in seconds till when the flow is applied."
    ::= { fsG8261TsParamsEntry 8 }

   fsG8261TsFrequency  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
         "Frequency at which the load specified by fsG8261TsLoad is applied on
         the network."
    ::= { fsG8261TsParamsEntry 9 }


   
   
-- *****************************************************************************
--              fsG8261TsOutput subtree
--  This subtree contain the delay variance and accuracy objects.
-- *****************************************************************************
   fsG8261TsMeanVariance  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	"This is the current value of the mean propagation time scalenanoseconds 
     between a master and a slave as computed by the slave.

     The time interval field represents the values in scalednanoseconds.
     The scalednanoseconds member is the time interval expressed in
     units of nanoseconds and multiplied by 2^16.
     Positive or negative time intervals outside the maximum range of
     this data type shall be encoded as the largest positive and
     negative values of this data type, respectively. For example, 2.5 
     nanoseconds, will be expressed as 2.5 * 2^16 and the value
     converted to hexadecimal that will obviously evolve to
     0000 0000 0002 8000 base 16."
    ::= { fsG8261TsOutput 1 }
   
   fsG8261TsAccuracy  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
	"This is the current value of the time difference scalednanoseconds 
     between a master and a slave as computed by the slave.

     The time interval field represents the values in scalednanoseconds.
     The scalednanoseconds member is the time interval expressed in
     units of nanoseconds and multiplied by 2^16.
     Positive or negative time intervals outside the maximum range of
     this data type shall be encoded as the largest positive and
     negative values of this data type, respectively. For example, 2.5 
     nanoseconds, will be expressed as 2.5 * 2^16 and the value
     converted to hexadecimal that will obviously evolve to
     0000 0000 0002 8000 base 16."
    ::= { fsG8261TsOutput 2 }
   
   fsG8261TsDelay  OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
         "The total delay introduced by the G8261TS module in terms of 
         nano seconds with the delay params configured."
    ::= { fsG8261TsOutput 3 }
END
