-- *****************************************************************
-- FS-IP-RNS-MIB.mib:  FS interface MIB file
--
-- March 2014, tangyoucan
--
-- Copyright (c) 2014 by FS.COM Inc..
-- All rights reserved.
-- 
-- *****************************************************************
--

FS-IP-SLA-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        NOTIFICATION-TYPE,
        Integer32,
        OBJECT-TYPE,
        Counter32,
        Counter64,
        Unsigned32,
        IpAddress
                FROM SNMPv2-SMI   
        RowStatus, 
        DateAndTime
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        ConfigStatus,
        IfIndex
                FROM FS-TC
        EnabledStatus 
                FROM P-BRIDGE-MIB
        ifIndex
                FROM RFC1213-MIB
        Gauge,
        TimeTicks
                FROM RFC1155-SMI
        fsMgmt
                FROM FS-SMI
        fsRouterQoSMIB
                FROM FS-ROUTER-QOS-MIB 
        pingCtlOwnerIndex, pingCtlTestName
        FROM DISMAN-PING-MIB 
        IANAifType
                FROM IANAifType-MIB
        InterfaceIndex
                FROM IF-MIB
       SnmpAdminString
                FROM SNMP-FRAMEWORK-MIB          -- RFC3411
       InetAddressType, InetAddress
                FROM INET-ADDRESS-MIB;           -- RFC4001

                
fsIpSlaMIB MODULE-IDENTITY
        LAST-UPDATED "201409120000Z"
        ORGANIZATION "FS.COM Inc.."
        CONTACT-INFO
                " 
                Tel: 400-865-2852 

                E-mail: https://www.fs.com/live_chat_service_mail.html"
        DESCRIPTION
                "This module defines fs ip rns mibs."
        REVISION      "201409120000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { fsRouterQoSMIB 5}

fsIpSlaMIBObjects OBJECT IDENTIFIER ::= { fsIpSlaMIB 1 }
   -- Results Table
        fsIpSlaResultsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF FSIpSlaResultsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The results of these operations are stored in the fsIpSlaResultsTable."
        ::= { fsIpSlaMIBObjects 1 }

        fsIpSlaResultsEntry OBJECT-TYPE
        SYNTAX      FSIpSlaResultsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Defines an entry in the fsIpSlaResultsTable.  The
            fsIpSlaResultsTable has the same indexing as the
            fsIpSlaCtlTable so that a fsIpSlaResultsEntry
            corresponds to the fsIpSlaCtlEntry that caused it to
            be created."
        INDEX {
                 pingCtlOwnerIndex,
                 pingCtlTestName
              }
        ::= { fsIpSlaResultsTable 1 }

        FSIpSlaResultsEntry ::=
        SEQUENCE { 
           fsIpSlaResultsOperStatus          INTEGER,
           fsIpSlaResultsIpTargetAddressType InetAddressType,
           fsIpSlaResultsIpTargetAddress     InetAddress,
           fsIpSlaResultsMaxRtt              Unsigned32,
           fsIpSlaResultsMinRtt              Unsigned32,
           fsIpSlaResultsAverageRtt          Unsigned32,
           fsIpSlaResultsDelayJitter         Unsigned32,
           fsIpSlaResultsPktsLossRate        Unsigned32,
           fsIpSlaResultsNetworkAF           Unsigned32,
           fsIpSlaResultsProbeResponses      Gauge32,
           fsIpSlaResultsSentProbes          Gauge32,
           fsIpSlaResultsRttSumOfSquares     Unsigned32,
           fsIpSlaResultsLastGoodProbe       DateAndTime
        }
 
        fsIpSlaResultsOperStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                             enabled(1),   -- test is in progress
                             disabled(2),  -- test has stopped
                             completed(3)  -- test is completed
                           }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Reflects the operational state of a fsIpSlaCtlEntry:
              enabled(1)    - Test is active.
              disabled(2)   - Test has stopped.
              completed(3)  - Test is completed."
        ::= { fsIpSlaResultsEntry 1 }

        fsIpSlaResultsIpTargetAddressType OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object indicates the type of address stored in the 
            corresponding fsIpSlaResultsIpTargetAddress object."
        DEFVAL { unknown }
        ::= { fsIpSlaResultsEntry 2 }

        fsIpSlaResultsIpTargetAddress OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object reports the IP address associated with a 
            fsIpSlaCtlTargetAddress value when the destination
            address is specified as a DNS name.  The value of this 
            object should be a zero-length octet string when a DNS 
            name is not specified or when a specified DNS name fails
            to resolve.

            The address type (InetAddressType) that relates to
            this object is specified by the corresponding value
            of fsIpSlaResultsIpTargetAddressType."
        DEFVAL { ''H }
        ::= { fsIpSlaResultsEntry 3 }

        fsIpSlaResultsMaxRtt OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The maximum packet round-trip-time (RTT) that received. A value
            of 0 for this object implies that no RTT has been received."
        ::= { fsIpSlaResultsEntry 4 }

        fsIpSlaResultsMinRtt OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The minimum packet round-trip-time (RTT) that received. A value
            of 0 for this object implies that no RTT has been received."
        ::= { fsIpSlaResultsEntry 5 }

        fsIpSlaResultsAverageRtt OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The current average packet round-trip-time (RTT)."
        ::= { fsIpSlaResultsEntry 6 }

        fsIpSlaResultsDelayJitter OBJECT-TYPE
        SYNTAX      Unsigned32
        UNITS       "milliseconds"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object contains the sum of the squares for all ping
            responses received.  Its purpose is to enable standard
            deviation calculation. The estimate value of the delay jitter."
        ::= { fsIpSlaResultsEntry 7 } 
       
        fsIpSlaResultsPktsLossRate OBJECT-TYPE
        SYNTAX      Unsigned32     
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The packets loss rate of the link."
        ::= { fsIpSlaResultsEntry 8 }

        fsIpSlaResultsNetworkAF  OBJECT-TYPE
        SYNTAX       Unsigned32 
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION
            "The network availability factor." 
        ::= { fsIpSlaResultsEntry 9 }
     fsIpSlaResultsProbeResponses OBJECT-TYPE
       SYNTAX      Gauge32
       UNITS       "responses"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Number of responses received for the corresponding
           pingCtlEntry and pingResultsEntry.  The value of this object
           MUST be reported as 0 when no probe responses have been
           received."
       ::= { fsIpSlaResultsEntry 10 }

     fsIpSlaResultsSentProbes OBJECT-TYPE
       SYNTAX      Gauge32
       UNITS       "probes"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of this object reflects the number of probes sent
           for the corresponding pingCtlEntry and pingResultsEntry.
           The value of this object MUST be reported as 0 when no probes
           have been sent."
       ::= { fsIpSlaResultsEntry 11 }

     fsIpSlaResultsRttSumOfSquares OBJECT-TYPE
       SYNTAX      Unsigned32
       UNITS       "milliseconds"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "This object contains the sum of the squares for all ping
           responses received.  Its purpose is to enable standard
           deviation calculation.  The value of this object MUST
           be reported as 0 when no ping responses have been
           received."
       ::= { fsIpSlaResultsEntry 12 }
    fsIpSlaResultsLastGoodProbe OBJECT-TYPE
       SYNTAX      DateAndTime
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "Date and time when the last response was received for
           a probe."
       ::= { fsIpSlaResultsEntry 13 }
   END
