FASTPATH-PFC-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, 
    Integer32, Unsigned32                FROM SNMPv2-SMI
    RowStatus                            FROM SNMPv2-TC
    InterfaceIndex                       FROM IF-MIB
    fastPath                             FROM BROADCOM-REF-MIB;

    fastPathPFC MODULE-IDENTITY
        LAST-UPDATED "200905220000Z"  -- 22 May 2009 12:00:00 GMT
        ORGANIZATION "Broadcom Corporation"
        CONTACT-INFO
          "                      Customer Support
          Postal:                Broadcom Corporation
                                 100 Perimeter Park Drive
         Suite H
                                 Morrisville, NC 27560
          Tel:                   +1 919 865 2700"
        DESCRIPTION
          "The MIB definitions Priority based Flow Control Feature."

       
    ::= { fastPath 47 }

--*********************************************************************
--   agentPfcCfgGroup
--*********************************************************************
agentPfcCfgGroup OBJECT IDENTIFIER ::= { fastPathPFC 1 }

--*********************************************************************
--   agentPfcTable
--   PFC Profile Configuration table (per-interface)
--*********************************************************************
    agentPfcTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentPfcEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table providing configuration of PFC Profile per interface."

         ::= { agentPfcCfgGroup 1 }

    agentPfcEntry OBJECT-TYPE
         SYNTAX      AgentPfcEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "PFC Profile configuration for a port."
         INDEX   { agentPfcIntfIndex }
         ::= { agentPfcTable 1 }

    AgentPfcEntry::=
         SEQUENCE {
            agentPfcIntfIndex
                InterfaceIndex,
            agentPfcIntfAdminMode
                INTEGER,
            agentPfcIntfPfcStatus
                INTEGER,
            agentPfcTotalIntfPfcFramesRx
                Unsigned32,                
            agentPfcTotalIntfPfcFramesTx
                Unsigned32
         }

    agentPfcIntfIndex OBJECT-TYPE
         SYNTAX      InterfaceIndex
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "This is a unique index for an entry in the
                     agentPfcTable. A non-zero value indicates
                     the ifIndex for the corresponding interface entry
                     in the ifTable."

         ::= { agentPfcEntry 1 }

    agentPfcIntfAdminMode OBJECT-TYPE
         SYNTAX      INTEGER {
                       enable(1),
                       disable(2)
                       }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Enables/disables PFC profile on an interface."
         DEFVAL { 2 }

         ::= { agentPfcEntry 2 }

    agentPfcIntfPfcStatus OBJECT-TYPE
         SYNTAX      INTEGER {
                       active(1),
                       inactive(2)
                       }
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Shows the operational-status of PFC on an interface."
         DEFVAL { 2 }

         ::= { agentPfcEntry 3 }

    agentPfcTotalIntfPfcFramesRx OBJECT-TYPE
         SYNTAX      Unsigned32 
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Total Received PFC Frames on this interface."

         ::= { agentPfcEntry 4 }
         
    agentPfcTotalIntfPfcFramesTx OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Total Transmitted PFC Frames on this interface."

         ::= { agentPfcEntry 5 }

--*********************************************************************
--   agentPfcActionTable
--   PFC Priority and Action Mappings Configuration table (per-interface)
--*********************************************************************
    agentPfcActionTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentPfcActionEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table providing priority and action mappings configuration of PFC."

         ::= { agentPfcCfgGroup 2 }

    agentPfcActionEntry OBJECT-TYPE
         SYNTAX      AgentPfcActionEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "PFC Action Profile configuration for a port."
         INDEX   { agentPfcIntfIndex, agentPfcPriority }
         ::= { agentPfcActionTable 1 }

    AgentPfcActionEntry::=
         SEQUENCE {
            agentPfcPriority
                Unsigned32,
            agentPfcAction
                INTEGER
         }

    agentPfcPriority OBJECT-TYPE
         SYNTAX      Unsigned32 (0..7)
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "This is a unique index for an entry in the
                     agentPfcActionTable. A non-zero value indicates
                     the CosQueue Priority."

         ::= { agentPfcActionEntry 1 }

    agentPfcAction   OBJECT-TYPE
         SYNTAX      INTEGER {
                       drop(1),
                       nodrop(2)
                       }
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
                     "Set Drop/No-Drop action in PFC profile for the corresponding priority."
         DEFVAL { 1 }

         ::= { agentPfcActionEntry 2 }
         
--*********************************************************************
--   agentPfcIntfStatsPerPriorityTable
--   PFC Profile Statistics table (per-interface)
--*********************************************************************
    agentPfcIntfStatsPerPriorityTable OBJECT-TYPE
         SYNTAX      SEQUENCE OF AgentPfcIntfStatsPerPriorityEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "A table providing statistics of PFC per interface per priority."

         ::= { agentPfcCfgGroup 3 }

    agentPfcIntfStatsPerPriorityEntry OBJECT-TYPE
         SYNTAX      AgentPfcIntfStatsPerPriorityEntry
         MAX-ACCESS  not-accessible
         STATUS      current
         DESCRIPTION
                     "PFC Stats for a priority and for a port."
         INDEX   { agentPfcIntfIndex, agentPfcPriority }
         ::= { agentPfcIntfStatsPerPriorityTable 1 }

    AgentPfcIntfStatsPerPriorityEntry::=
         SEQUENCE {
            agentPfcIntfPfcPriorityFramesRx
                Unsigned32
         }

    agentPfcIntfPfcPriorityFramesRx OBJECT-TYPE
         SYNTAX      Unsigned32
         MAX-ACCESS  read-only
         STATUS      current
         DESCRIPTION
                     "Received PFC Frames on this interface for a priority."

         ::= { agentPfcIntfStatsPerPriorityEntry 1 }

END
