-- *****************************************************************
-- FS-PFC-MIB.mib:  FS Priority-flow-control MIB file
--
-- 2017-12-18, Weilin1
--
-- Copyright (c) 2017 by FS.COM Inc..
-- All rights reserved.
-- 
-- *****************************************************************
--

FS-PFC-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        NOTIFICATION-TYPE,
        Integer32,
        Counter32,
        Counter64,
        Unsigned32
                FROM SNMPv2-SMI
        DisplayString
                FROM SNMPv2-TC
        Gauge
                FROM RFC1155-SMI                
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        ConfigStatus,
        IfIndex
                FROM FS-TC
        ifIndex
                FROM RFC1213-MIB
        fsMgmt
                FROM FS-SMI
        InterfaceIndex
                FROM IF-MIB;
                
fsPfcMIB    MODULE-IDENTITY
       LAST-UPDATED    "201712180000Z"
       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 priority-flow-control interface priority counter mibs."
        REVISION      "201712180000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { fsMgmt 157}

fsPfcCounterMIBObjects  OBJECT IDENTIFIER ::= { fsPfcMIB 1 }
fsPfcMIBConformance     OBJECT IDENTIFIER ::= { fsPfcMIB 2 }

--****************************************************************
-- Pfc Counter Objects
--****************************************************************

fsPfcIfPriorityCounterTable OBJECT-TYPE
        SYNTAX SEQUENCE OF FSPfcIfPriorityCounterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of Pfc interface priority counter objects."
        ::= { fsPfcCounterMIBObjects 1 }
    
fsPfcIfPriorityCounterEntry OBJECT-TYPE
        SYNTAX FSPfcIfPriorityCounterEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry contains Pfc interface priority counters."
        INDEX   { 
                    fsIfIndex,
                    fsPfcPriority
                }
        ::= { fsPfcIfPriorityCounterTable 1 }

FSPfcIfPriorityCounterEntry ::=
        SEQUENCE {
            fsIfIndex                   IfIndex,
            fsPfcPriority               Integer32,
            fsPfcRequests               Counter64,
            fsPfcRequestsRate           Counter64,
            fsPfcRequestsRate1st        Counter64,
            fsPfcRequestsRate1stTime    DisplayString,
            fsPfcRequestsRate2nd        Counter64,
            fsPfcRequestsRate2ndTime    DisplayString,
            fsPfcRequestsRate3rd        Counter64, 
            fsPfcRequestsRate3rdTime    DisplayString,       
            fsPfcIndications            Counter64,
            fsPfcIndicationsRate        Counter64,
            fsPfcIndicationsRate1st     Counter64,
            fsPfcIndicationsRate1stTime DisplayString,
            fsPfcIndicationsRate2nd     Counter64,
            fsPfcIndicationsRate2ndTime DisplayString,
            fsPfcIndicationsRate3rd     Counter64, 
            fsPfcIndicationsRate3rdTime DisplayString
        }

fsIfIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Port index."
        ::= { fsPfcIfPriorityCounterEntry 1 }

fsPfcPriority OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "PFC priority value(0-7)."
        ::= { fsPfcIfPriorityCounterEntry 2 }
           
fsPfcRequests OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A count of the invoked PFC M_CONTROL.request primitives.
    
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as cleared by administrator."
        ::= { fsPfcIfPriorityCounterEntry 3 }
    
fsPfcRequestsRate OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The rate of PFC requests."
        ::= { fsPfcIfPriorityCounterEntry 4 }

fsPfcRequestsRate1st OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The first fastest rate of PFC requests in the history.
            The unit is pps(packets per second)."
        ::= { fsPfcIfPriorityCounterEntry 5 }

fsPfcRequestsRate1stTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The moment of the first fastest rate of PFC requests in the history."
        ::= { fsPfcIfPriorityCounterEntry 6 }

fsPfcRequestsRate2nd OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The second fastest rate of PFC requests in the history.
            The unit is pps(packets per second)."
        ::= { fsPfcIfPriorityCounterEntry 7 }

fsPfcRequestsRate2ndTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The moment of the second fastest rate of PFC requests in the history."
        ::= { fsPfcIfPriorityCounterEntry 8 }

fsPfcRequestsRate3rd OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The third fastest rate of PFC requests in the history.
            The unit is pps(packets per second)."
        ::= { fsPfcIfPriorityCounterEntry 9 }

fsPfcRequestsRate3rdTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The moment of the third fastest rate of PFC requests in the history."
        ::= { fsPfcIfPriorityCounterEntry 10 }       
   
fsPfcIndications OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "A count of the received PFC M_CONTROL.indication primitives.
    
            Discontinuities in the value of this counter can occur at
            re-initialization of the management system, and at other
            times as cleared by administrator."
        ::= { fsPfcIfPriorityCounterEntry 11 }
    
fsPfcIndicationsRate OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The rate of PFC indications."
        ::= { fsPfcIfPriorityCounterEntry 12 }

fsPfcIndicationsRate1st OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The first fastest rate of PFC indications in the history.
            The unit is pps(packets per second)."
        ::= { fsPfcIfPriorityCounterEntry 13 }

fsPfcIndicationsRate1stTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The moment of the first fastest rate of PFC indications in the history."
        ::= { fsPfcIfPriorityCounterEntry 14 }

fsPfcIndicationsRate2nd OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The second fastest rate of PFC indications in the history.
            The unit is pps(packets per second)."
        ::= { fsPfcIfPriorityCounterEntry 15 }

fsPfcIndicationsRate2ndTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The moment of the second fastest rate of PFC indications in the history."
        ::= { fsPfcIfPriorityCounterEntry 16 }

fsPfcIndicationsRate3rd OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The third fastest rate of PFC indications in the history.
            The unit is pps(packets per second)."
        ::= { fsPfcIfPriorityCounterEntry 17 }

fsPfcIndicationsRate3rdTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The moment of the third fastest rate of PFC indications in the history."
        ::= { fsPfcIfPriorityCounterEntry 18 }

        
--****************************************************************
-- Pfc Counter Conformance
--****************************************************************

fsPfcIfPriorityCounterMIBGroup OBJECT-GROUP
        OBJECTS {
            fsIfIndex,
            fsPfcPriority,
            fsPfcRequests,
            fsPfcRequestsRate,
            fsPfcRequestsRate1st,
            fsPfcRequestsRate1stTime,
            fsPfcRequestsRate2nd,
            fsPfcRequestsRate2ndTime,
            fsPfcRequestsRate3rd, 
            fsPfcRequestsRate3rdTime,       
            fsPfcIndications,
            fsPfcIndicationsRate,
            fsPfcIndicationsRate1st,
            fsPfcIndicationsRate1stTime,
            fsPfcIndicationsRate2nd,
            fsPfcIndicationsRate2ndTime,
            fsPfcIndicationsRate3rd, 
            fsPfcIndicationsRate3rdTime 
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects contain Pfc interface priority counters."
        ::= { fsPfcMIBConformance 1 }         

END
