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

INFINERA-PM-SECYTXSCSTATS-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;


secyTxSCStatsPmMIB 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 1 }

-- Real PMs
-- secyTxSCStatsPmRealTable OBJECT-TYPE
    -- SYNTAX      SEQUENCE OF SecyTxSCStatsRealEntry
    -- MAX-ACCESS  not-accessible
    -- STATUS      current
    -- DESCRIPTION
        -- "A list of SecyTxSCStatsReal entries. Each entry is uniquely identified by the value of ifIndex."
    -- ::= { secyTxSCStatsPmMIB 1 } 

-- secyTxSCStatsPmRealEntry  OBJECT-TYPE
    -- SYNTAX      SecyTxSCStatsRealEntry
    -- MAX-ACCESS  not-accessible
    -- STATUS      current
    -- DESCRIPTION
        -- "A secyTxSCStatsPm 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 secyTxSCStats."
    -- INDEX { ifIndex }
    -- ::= { secyTxSCStatsPmRealTable 1 }


-- SecyTxSCStatsRealEntry  ::= SEQUENCE {
-- }

-- Historical PMs
secyTxSCStatsPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SecyTxSCStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of SecyTxSCStats entries. Each entry is uniquely identified by the value of
            ifIndex, sampleDuration and secyTxSCStatsPmTimestamp."
    ::= { secyTxSCStatsPmMIB 2 } 

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

SecyTxSCStatsEntry  ::= SEQUENCE {
    secyTxSCStatsPmTimestamp            Integer32,
    secyTxSCStatsPmSampleDuration       INTEGER,
    secyTxSCStatsPmValidity             TruthValue,
    secyTxSCStatsPmProtectedPkts        HCPerfIntervalCount,
    secyTxSCStatsPmEncryptedPkts        HCPerfIntervalCount,
    secyTxSCStatsPmOctetsProtected      HCPerfIntervalCount,
    secyTxSCStatsPmOctetsEncrypted      HCPerfIntervalCount
}

secyTxSCStatsPmTimestamp 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."
    ::= { secyTxSCStatsPmEntry  1 }

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

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

secyTxSCStatsPmProtectedPkts OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY TXSCStats ProtectedPkts"
    ::= { secyTxSCStatsPmEntry  4 }

secyTxSCStatsPmEncryptedPkts OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY TXSCStats EncryptedPkts"
    ::= { secyTxSCStatsPmEntry  5 }

secyTxSCStatsPmOctetsProtected OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY TXSCStats OctetsProtected"
    ::= { secyTxSCStatsPmEntry  6 }

secyTxSCStatsPmOctetsEncrypted OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "SECY TXSCStats OctetsEncrypted"
    ::= { secyTxSCStatsPmEntry  7 }

-- Conformance Statements

secyTxSCStatsPmConformance    OBJECT IDENTIFIER ::= { secyTxSCStatsPmMIB 3 }
secyTxSCStatsPmCompliances    OBJECT IDENTIFIER ::= { secyTxSCStatsPmConformance 1 }
secyTxSCStatsPmGroups         OBJECT IDENTIFIER ::= { secyTxSCStatsPmConformance 2 }

-- secyTxSCStatsPmRealCompliance MODULE-COMPLIANCE
    -- STATUS current
    -- DESCRIPTION
    -- "Describes the requirements for conformance to the PM-SECYTXSCSTATS-MIB"
    -- MODULE
        -- MANDATORY-GROUPS { secyTxSCStatsPmRealGroup }
    -- ::= { secyTxSCStatsPmCompliances 1 }

secyTxSCStatsPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-SECYTXSCSTATS-MIB"
    MODULE
        MANDATORY-GROUPS { secyTxSCStatsPmGroup }
    ::= { secyTxSCStatsPmCompliances 2 }

-- Historical PM groups
secyTxSCStatsPmGroup OBJECT-GROUP
    OBJECTS {
	    secyTxSCStatsPmValidity,
    	secyTxSCStatsPmProtectedPkts,
    	secyTxSCStatsPmEncryptedPkts,
    	secyTxSCStatsPmOctetsProtected,
        secyTxSCStatsPmOctetsEncrypted
    }
    STATUS current          
    DESCRIPTION             
        " A collection of objects for reading SecyTxSCStats."
    ::= { secyTxSCStatsPmGroups 1 }

--
END
