-- *****************************************************************
-- INFINERA-PM-SECYRXSCSTATS-MIB
-- 
-- October 2016, Kavitha Manjunatha
--
--
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-PM-SECYRXSCSTATS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32                                   FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF
    TruthValue                                  FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    HCPerfIntervalCount                         FROM HC-PerfHist-TC-MIB
    macsecPerfMon                               FROM INFINERA-REG-MIB;


secyRxSCStatsPmMIB MODULE-IDENTITY
    LAST-UPDATED  "201502060000Z"
    ORGANIZATION  "Infinera"
    CONTACT-INFO
        "Infinera
        1322 Bordeaux Drive
        Sunnyvale, CA - 94089

        Contact : Technical Support
        Email   : support@infinera.com
        Phone   : 1-877-INF-5288"
    DESCRIPTION
        " "
    REVISION      "201502060000Z" 
    DESCRIPTION
        "First Version"
    ::= { macsecPerfMon 2 }

-- Real PMs

-- secyRxSCStatsPmRealTable OBJECT-TYPE
    -- SYNTAX      SEQUENCE OF SecyRxSCStatsRealEntry
    -- MAX-ACCESS  not-accessible
    -- STATUS      current
    -- DESCRIPTION
        -- "A list of SecyRxSCStatsReal entries. Each entry is uniquely identified by the value of ifIndex."
    -- ::= { secyRxSCStatsPmMIB 1 } 
-- 
-- secyRxSCStatsPmRealEntry  OBJECT-TYPE
    -- SYNTAX      SecyRxSCStatsRealEntry
    -- MAX-ACCESS  not-accessible
    -- STATUS      current
    -- DESCRIPTION
        -- "A secyRxSCStatsPm entry containing real-time performance information pertaining to
        -- Infinera Fan interfaces. . This table is a subclass of IfCommon.
        -- Entries will exist in this table only for interfaces of secyRxSCStats."
    -- INDEX { ifIndex }
    -- ::= { secyRxSCStatsPmRealTable 1 }


-- SecyRxSCStatsRealEntry  ::= SEQUENCE {
    -- secyRxSCStatsPmRealInRpmRaw          FloatTenths
-- }

-- Historical PMs

secyRxSCStatsPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SecyRxSCStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of SecyRxSCStats entries. Each entry is uniquely identified by the value of 
            ifIndex, sampleDuration and secyRxSCStatsPmTimestamp."
    ::= { secyRxSCStatsPmMIB 2 } 

secyRxSCStatsPmEntry  OBJECT-TYPE
    SYNTAX      SecyRxSCStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A Fan entry containing historical performance information pertaining to
        Infinera Fan interfaces. . This table is a subclass of IfCommon.
        Entries will exist in this table only for interfaces of type Fan.
        Each interface may have a number of entries in this table, each with a different combination
        of timestamp and sample duration."
    INDEX { ifIndex, secyRxSCStatsPmSampleDuration, secyRxSCStatsPmTimestamp }
    ::= { secyRxSCStatsPmTable 1 }

SecyRxSCStatsEntry  ::= SEQUENCE {
    secyRxSCStatsPmTimestamp            Integer32,
    secyRxSCStatsPmSampleDuration       INTEGER,
    secyRxSCStatsPmValidity             TruthValue,
    secyRxSCStatsPmUnusedSAPkts         HCPerfIntervalCount,
    secyRxSCStatsPmNotUsingSAPkts       HCPerfIntervalCount,
    secyRxSCStatsPmLatePkts             HCPerfIntervalCount,
    secyRxSCStatsPmNotValidPkts         HCPerfIntervalCount,
    secyRxSCStatsPmInvalidPkts          HCPerfIntervalCount,
    secyRxSCStatsPmDelayedPkts          HCPerfIntervalCount,
    secyRxSCStatsPmUncheckedPkts        HCPerfIntervalCount,
    secyRxSCStatsPmOKPkts               HCPerfIntervalCount,
    secyRxSCStatsPmOctetsValidated      HCPerfIntervalCount,
    secyRxSCStatsPmOctetsDecrypted      HCPerfIntervalCount
}

secyRxSCStatsPmTimestamp OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "End Time stamp for this interval. If this time is later than the current time,
        then the data for this bucket is currently being collected."
    ::= { secyRxSCStatsPmEntry  1 }

secyRxSCStatsPmSampleDuration OBJECT-TYPE
    SYNTAX      INTEGER {
        fifteenMinutes(1),
        day(2)
    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The duration of this sample."
    ::= { secyRxSCStatsPmEntry  2 }

secyRxSCStatsPmValidity OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Flag indicating if data was valid for the entire interval"
    ::= { secyRxSCStatsPmEntry  3 }

secyRxSCStatsPmUnusedSAPkts OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY RXSCStats UnusedSAPkts"
    ::= { secyRxSCStatsPmEntry  4 }

secyRxSCStatsPmNotUsingSAPkts OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY RXSCStats NotUsingSAPkts"
    ::= { secyRxSCStatsPmEntry  5 }

secyRxSCStatsPmLatePkts OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY RXSCStats LatePkts"
    ::= { secyRxSCStatsPmEntry  6 }

secyRxSCStatsPmNotValidPkts OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY RXSCStats NotValidPkts"
    ::= { secyRxSCStatsPmEntry  7 }

secyRxSCStatsPmInvalidPkts OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY RXSCStats InvalidPkts"
    ::= { secyRxSCStatsPmEntry  8 }

secyRxSCStatsPmDelayedPkts OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY RXSCStats DelayedPkts"
    ::= { secyRxSCStatsPmEntry  9 }

secyRxSCStatsPmUncheckedPkts OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY RXSCStats UncheckedPkts"
    ::= { secyRxSCStatsPmEntry  10 }

secyRxSCStatsPmOKPkts OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY RXSCStats OKPkts"
    ::= { secyRxSCStatsPmEntry  11 }

secyRxSCStatsPmOctetsValidated OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY RXSCStats OctetsValidated"
    ::= { secyRxSCStatsPmEntry  12 }

secyRxSCStatsPmOctetsDecrypted OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY RXSCStats OctetsDecrypted"
    ::= { secyRxSCStatsPmEntry  13 }

-- Conformance Statements

secyRxSCStatsPmConformance    OBJECT IDENTIFIER ::= { secyRxSCStatsPmMIB 3 }
secyRxSCStatsPmCompliances    OBJECT IDENTIFIER ::= { secyRxSCStatsPmConformance 1 }
secyRxSCStatsPmGroups         OBJECT IDENTIFIER ::= { secyRxSCStatsPmConformance 2 }

secyRxSCStatsPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-SECYRXSCSTATS-MIB"
    -- MODULE
        -- MANDATORY-GROUPS { secyRxSCStatsPmRealGroup }
    ::= { secyRxSCStatsPmCompliances 1 }

-- secyRxSCStatsPmRealCompliance MODULE-COMPLIANCE
    -- STATUS current
    -- DESCRIPTION
    -- "Describes the requirements for conformance to the secyRxSCStatsPmReal-MIB"
    -- MODULE
        -- MANDATORY-GROUPS { secyRxSCStatsPmRealGroup }
    -- ::= { secyRxSCStatsPmCompliances 2 }

-- Historical PM groups
secyRxSCStatsPmGroup OBJECT-GROUP
    OBJECTS {
	    secyRxSCStatsPmValidity,
    	secyRxSCStatsPmUnusedSAPkts,
    	secyRxSCStatsPmNotUsingSAPkts,
    	secyRxSCStatsPmLatePkts,
        secyRxSCStatsPmNotValidPkts,
        secyRxSCStatsPmInvalidPkts,
        secyRxSCStatsPmDelayedPkts,
        secyRxSCStatsPmUncheckedPkts,
        secyRxSCStatsPmOKPkts,
        secyRxSCStatsPmOctetsValidated,
        secyRxSCStatsPmOctetsDecrypted
    }
    STATUS current          
    DESCRIPTION             
        " A collection of objects for reading SecyRxSCStats."
    ::= { secyRxSCStatsPmGroups 1 }

END
