-- *******************************************************************
-- Juniper enterprise specific QoS based Interface Accounting MIB. 
--
-- Copyright (c) 2001-2006, Juniper Networks, Inc.
-- All rights reserved.
--
-- The contents of this document are subject to change without notice.
-- *******************************************************************

JUNIPER-IF-ACCOUNTING-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, 
    Integer32, Counter64
        FROM SNMPv2-SMI
    InterfaceIndex                       
        FROM IF-MIB
    JnxCosFcIdentifier
        FROM JUNIPER-COS-MIB   
    ifJnx
        FROM JUNIPER-IF-MIB;
        
jnxIfAccountingStats        MODULE-IDENTITY
    LAST-UPDATED "201305151223Z"                -- Wed May 25 12:23:51 2013 UTC
    ORGANIZATION "Juniper Networks, Inc."
    CONTACT-INFO
                 "Juniper Technical Assistance Center
                      Juniper Networks, Inc.
                      1194 N. Mathilda Avenue
                      Sunnyvale, CA 94089
                      E-mail: support@juniper.net"

    DESCRIPTION  "MIB module to define Forwarding Class based Interface statistics.
                    The statistics will provide protocol specific statistics value
                    which includes L2 overhead bytes. The mib is currently supported 
                    only on MX platforms."
    
    REVISION     	"201305151223Z"             -- Wed May 25 12:23:51 2013 UTC
    DESCRIPTION		"MIB module to define QoS based Interface accounting." 
   
    
    ::= { ifJnx 10 }    
    
-- ***************************************************************
--  Per Forwarding-class stats table
-- ***************************************************************
    jnxIfFcAccountStatTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF JnxIfFcAccountStatEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table presents the per forwarding-class and 
             per protocol type statistics."
        ::= { jnxIfAccountingStats 1 }


    jnxIfFcAccountStatEntry OBJECT-TYPE
        SYNTAX      JnxIfFcAccountStatEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This table presents the per forwarding-class and 
             per protocol type statistics. The indices of the 
             table are Interface Index, Forwarding class Index
             and Protocol type"
        INDEX       { jnxIfFcIfIndex, jnxIfFcFcIndex, jnxIfFcProtocol }
        ::= { jnxIfFcAccountStatTable 1 }
        

    JnxIfFcAccountStatEntry ::=
        SEQUENCE {
            jnxIfFcIfIndex              InterfaceIndex,
            jnxIfFcFcIndex              JnxCosFcIdentifier,
            jnxIfFcProtocol             INTEGER,

            -- input packet/byte stats for unicast traffic
            jnxIfFcHCInUcastPkts          Counter64,
            jnxIfFcHCInUcastOctets        Counter64,

            -- output packet/byte stats for unicast traffic
            jnxIfFcHCOutUcastPkts         Counter64,
            jnxIfFcHCOutUcastOctets       Counter64,

            -- input packet/byte stats for multicast traffic
            jnxIfFcHCInMcastPkts        Counter64,
            jnxIfFcHCInMcastOctets      Counter64,

            -- output packet/byte stats for multicast traffic
            jnxIfFcHCOutMcastPkts       Counter64,
            jnxIfFcHCOutMcastOctets     Counter64
    }

    jnxIfFcIfIndex OBJECT-TYPE 
        SYNTAX      InterfaceIndex 
        MAX-ACCESS  not-accessible 
        STATUS      current
        DESCRIPTION
            "The ifIndex of the interface." 
        ::= { jnxIfFcAccountStatEntry 1 }
        
        
    jnxIfFcFcIndex OBJECT-TYPE 
        SYNTAX      JnxCosFcIdentifier 
        MAX-ACCESS  not-accessible 
        STATUS      current
        DESCRIPTION
            "The Forwarding Class Index of the interface." 
        ::= { jnxIfFcAccountStatEntry 2 }
                
            
    --Protocol family for accounting all is aggregate of all types
    jnxIfFcProtocol OBJECT-TYPE
        SYNTAX      INTEGER {
                        all (1),
                        ipv4 (2),
                        ipv6 (3)
        }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                "The protocol type of the entry's traffic."
        ::= { jnxIfFcAccountStatEntry 3 }
        
    --input packet/byte stats for unicast traffic
    jnxIfFcHCInUcastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of unicast packets ingressed."
        ::= { jnxIfFcAccountStatEntry 4 }

    --input packet/byte stats for unicast traffic
    jnxIfFcHCInUcastOctets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of unicast bytes ingressed."
        ::= { jnxIfFcAccountStatEntry 5 }

    --output packet/byte stats for unicast traffic
    jnxIfFcHCOutUcastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of unicast packets egressed."
        ::= { jnxIfFcAccountStatEntry 6 }

    --output packet/byte stats for unicast traffic
    jnxIfFcHCOutUcastOctets  OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of unicast bytes egressed."
        ::= { jnxIfFcAccountStatEntry 7 }

    --input packet/byte stats for multicast traffic
    jnxIfFcHCInMcastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of multicast packets ingressed."
        ::= { jnxIfFcAccountStatEntry 8 }

    --input packet/byte stats for multicast traffic
    jnxIfFcHCInMcastOctets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of multicast bytes ingressed."
        ::= { jnxIfFcAccountStatEntry 9 }

    --output packet/byte stats for multicast traffic
    jnxIfFcHCOutMcastPkts OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of multicast packets egressed."
        ::= { jnxIfFcAccountStatEntry 10 }

    --output packet/byte stats for multicast traffic
    jnxIfFcHCOutMcastOctets OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The total number of multicast bytes egressed."
        ::= { jnxIfFcAccountStatEntry 11 }


END
