-- *****************************************************************
-- INFINERA-TP-GROUPTP-MIB
-- 
-- October 2008, Sharfuddin Syed / Narendra Gupta
-- 
-- 
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-TP-GROUPTP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32                                   FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF
    DisplayString                               FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    FloatTenths, InfnServiceType                FROM INFINERA-TC-MIB
    terminationPoint                            FROM INFINERA-REG-MIB;


groupTpMIB MODULE-IDENTITY
    LAST-UPDATED  "200810200000Z"
    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  "200810200000Z"
    DESCRIPTION
        "First Version"
    ::= { terminationPoint 10 }



groupTpTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF GroupTpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of GroupTp entries. Each entry is uniquely identified by the value of ifIndex."
    ::= { groupTpMIB 1 } 

groupTpEntry  OBJECT-TYPE
    SYNTAX      GroupTpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A GroupTp entry containing information pertaining to Infinera GroupTp interfaces. This table is a subclass
        of IfCommon. Entries will exist in this table only for interfaces of type GroupTp."
    INDEX { ifIndex }
    ::= { groupTpTable 1 }


GroupTpEntry  ::= SEQUENCE {
    groupTpCfgProtSt               INTEGER,
    groupTpProtMod                 INTEGER,
    groupTpSwReason                INTEGER,
    groupTpGtpType                 INTEGER,
    groupTpDtpList                 DisplayString,
    groupTpCrossConnectType        INTEGER,
    groupTpPmHistStatsEnable       INTEGER,
    groupTpConfigPayload           INTEGER,
    groupTpSupportingCircuitIdList DisplayString,
    groupTpServiceAvailability     INTEGER    
}

groupTpCfgProtSt OBJECT-TYPE
    SYNTAX  INTEGER {
        unknown(1),
        wrk(2),
        prot(3),
        relb(4),
        pu(5)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "This attribute represents the role user configured for this group termination point as PU."
    DEFVAL      { unknown }
    ::= { groupTpEntry  1 }


groupTpProtMod OBJECT-TYPE
    SYNTAX  INTEGER {
        none(1),
        dtDSNCP(2),
        stDSNCP(3)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "This attribute represents whether this DTP (as PU or Reliable TP)
     is contributing to Single TAM SDNCP or Dual TAM DSNCP. For GTP this will
      always be STDSNCP if Protected. For unprotected service this value shall be None."
    DEFVAL      { none }
    ::= { groupTpEntry  2 }


groupTpSwReason OBJECT-TYPE
    SYNTAX  INTEGER {
        mSwP(1),
        mSwW(2),
        wLck(3),
        pLck(4),
        auto(5),
        none(6),
        revert(7),
        admLck(8),
        unProv(9),
        eqFlt(10),
        liFlt(11),
        liSF(12),
        clRxFlt(13),
        clTxFlt(14),
        sysLof(15)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The reason for the protection swicth. "
    DEFVAL      { none }
    ::= { groupTpEntry  3 }


groupTpGtpType OBJECT-TYPE
    SYNTAX  INTEGER {
        trib(1),
        line(2),
        hybrid(3)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "The group termination point type."
    DEFVAL      { line }
    ::= { groupTpEntry  4 }


groupTpDtpList OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "An unordered list of the MoId's of the DTPs associated with this groupTp object.
        This string contains the string representation of each supporting
        MoId, separated by a ';' (semicolon) if there is more than one DTP."
    ::= { groupTpEntry  5 }


groupTpCrossConnectType OBJECT-TYPE
    SYNTAX  INTEGER {
        none(1),
        unidirectionFrom(2),
        unidirectionTo(3),
        unidirectionToAndFrom(4),
        bidirection(5),
        bidirectionUnidirectionFrom(6),
        bidirectionUnidirectionTo(7),
        bidirectionUnidirectionToAndFrom(8)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "CrossConnectType"
    DEFVAL      { none }
    ::= { groupTpEntry  6 }


groupTpPmHistStatsEnable OBJECT-TYPE
    SYNTAX  INTEGER {
        enabled(1),
        disabled(2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION "Flag to enable or disable PM collection."
    DEFVAL      { enabled }
    ::= { groupTpEntry  7 }


groupTpConfigPayload OBJECT-TYPE
    SYNTAX  InfnServiceType 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The configured payload type."
    DEFVAL      { notSet }
    ::= { groupTpEntry  8 }

groupTpSupportingCircuitIdList  OBJECT-TYPE
    SYNTAX     DisplayString
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION 
        "An unordered list of the Circuit Id's which support this entry.
         This string contains the string representation of each supporting
          CircuitId, separated by a ',' (comma) if there is more than one."
    ::= { groupTpEntry 9 }
    
groupTpServiceAvailability  OBJECT-TYPE
    SYNTAX  INTEGER {
        available(1),
        notAvailable(2)
    } 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The availability state of the group TP."
    ::= { groupTpEntry  10 }    
    
-- Conformance Statements
groupTpConformance    OBJECT IDENTIFIER ::= { groupTpMIB 3 }
groupTpCompliances    OBJECT IDENTIFIER ::= { groupTpConformance 1 }
groupTpGroups         OBJECT IDENTIFIER ::= { groupTpConformance 2 }

groupTpCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the GROUPTP-MIB"
    MODULE
        MANDATORY-GROUPS { groupTpGroup }
    ::= { groupTpCompliances 1 }

groupTpGroup OBJECT-GROUP
    OBJECTS {
        groupTpCfgProtSt,
        groupTpProtMod,
        groupTpSwReason,
        groupTpGtpType,
        groupTpDtpList,
        groupTpCrossConnectType,
        groupTpPmHistStatsEnable,
        groupTpConfigPayload,
        groupTpSupportingCircuitIdList,
        groupTpServiceAvailability
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for managing the groupTp"
    ::= { groupTpGroups 1 }


END
