--==============================================================================
-- Copyright (c) 2010-2014 Hewlett-Packard Development Company, L.P.
--
-- Description: PPP Over Sonet MIB
-- Reference:
-- Version: V1.5
-- History:
--  V1.0 2004-10-28 created by fuzhenyu
--  V1.1 2004-12-13 add notifications(9-13) under hpnicfPosMIBNotifications by fuzhenyu.
--  V1.2 2005-04-12 add hpnicfPosFlagJ0Type, hpnicfPosFlagJ1Type in hpnicfPosParamTable by zhaotingqi.
--  V1.3 2007-07-19 add hpnicfPosNormalAlarm in hpnicfPosMIBNotifications by chenfangchun
--  V1.4 2010-05-19 modified by Tong Wei for TCA (Threshold Crossing Alarms)
--                  add hpnicfPosB1TCAThreshold, hpnicfPosB2TCAThreshold, hpnicfPosB3TCAThreshold,
--                      hpnicfPosB1TCAEnable, hpnicfPosB2TCAEnable and hpnicfPosB3TCAEnable
--                      in hpnicfPosParamTable
--                  add hpnicfPosB1TCAlarm, hpnicfPosB2TCAlarm and hpnicfPosB3TCAlarm
--                      in hpnicfPosMIBNotifications
--  V1.5 2013-10-10 modify hpnicfPosEncapsulation and hpnicfPosMTU
--                  in hpnicfPosParamTable by chenzhouhui.
--==============================================================================
HPN-ICF-PPP-OVER-SONET-MIB DEFINITIONS ::= BEGIN

IMPORTS
        ifIndex, ifDescr
    FROM IF-MIB
        Counter64, Integer32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE
    FROM SNMPv2-SMI
        DisplayString, TruthValue
    FROM SNMPv2-TC
        hpnicfCommon
    FROM HPN-ICF-OID-MIB;

hpnicfPos MODULE-IDENTITY
    LAST-UPDATED "201310101700Z"        -- Oct 10, 2013  GMT
    ORGANIZATION
        ""
    CONTACT-INFO
        ""
    DESCRIPTION
        "This MIB manages POS(PPP Over Sonet)interfaces by providing
        an operational table which controls parameters of each POS
        interface and reports alarm conditions.
        "
    REVISION "201310101700Z"        -- Oct 10, 2013 at 17:00 GMT
    DESCRIPTION "Update the version of this MIB module"
    REVISION "201005191700Z"        -- May 19, 2010 at 17:00 GMT
    DESCRIPTION "Update the version of this MIB module"
    REVISION "200707191700Z"        -- Jul 19, 2007 at 17:00 GMT
    DESCRIPTION "The initial version of this MIB module"
    ::= { hpnicfCommon 19 }

hpnicfPosMIBObjects OBJECT IDENTIFIER ::= { hpnicfPos 1 }

hpnicfPosParamTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF HpnicfPosParamTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The pos parameter table."
    ::= { hpnicfPosMIBObjects 1 }

hpnicfPosParamTableEntry OBJECT-TYPE
    SYNTAX      HpnicfPosParamTableEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The entry of pos table."
    INDEX
        {
            ifIndex
        }
    ::= { hpnicfPosParamTable 1 }

HpnicfPosParamTableEntry ::= SEQUENCE
    {
        hpnicfPosCRC                 INTEGER,
        hpnicfPosMTU                 Integer32,
        hpnicfPosScramble            TruthValue,
        hpnicfPosClockSource         INTEGER,
        hpnicfPosSdhFlagJ0           DisplayString,
        hpnicfPosSdhFlagJ1           DisplayString,
        hpnicfPosSonetFlagJ0         Integer32,
        hpnicfPosSonetFlagJ1         DisplayString,
        hpnicfPosFlagC2              Integer32,
        hpnicfPosFrameType           INTEGER,
        hpnicfPosBindVlanId          Integer32,
        hpnicfPosEncapsulation       INTEGER,
        hpnicfPoskeepaliveTimeout    Integer32,
        hpnicfPosBERthresholdSF      Integer32,
        hpnicfPosBERthresholdSD      Integer32,
        hpnicfPosB1Error             Counter64,
        hpnicfPosB2Error             Counter64,
        hpnicfPosB3Error             Counter64,
        hpnicfPosM1Error             Counter64,
        hpnicfPosG1Error             Counter64,
        hpnicfPosFlagJ0Type          INTEGER,
        hpnicfPosFlagJ1Type          INTEGER,
        hpnicfPosB1TCAThreshold      Integer32,
        hpnicfPosB2TCAThreshold      Integer32,
        hpnicfPosB3TCAThreshold      Integer32,
        hpnicfPosB1TCAEnable         INTEGER,
        hpnicfPosB2TCAEnable         INTEGER,
        hpnicfPosB3TCAEnable         INTEGER
    }

hpnicfPosCRC OBJECT-TYPE
    SYNTAX      INTEGER{crc32(1),crc16(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The length of CRC"
    DEFVAL { crc32 }
    ::={ hpnicfPosParamTableEntry 1 }

hpnicfPosMTU OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Maximum Transfer Unit (MTU) of POS interface"
    ::={ hpnicfPosParamTableEntry 2 }

hpnicfPosScramble OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Scrambling is used to avoid continuous 0 or 1 in signals. This
        object is to decide whether to scramble or not"
    DEFVAL { true }
    ::={ hpnicfPosParamTableEntry 3 }

hpnicfPosClockSource OBJECT-TYPE
    SYNTAX      INTEGER{system(1),line(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The value indicates the source of clock signal. System indicates
        that clock signals are from device itself and line for clock signals
        from remote"
    DEFVAL { line }
    ::={ hpnicfPosParamTableEntry 4 }

hpnicfPosSdhFlagJ0 OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..15))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The section trace byte. This node is used when the frame type is sdh."
    ::={ hpnicfPosParamTableEntry 5 }

hpnicfPosSdhFlagJ1 OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..15))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The path trace byte. This node is used when the frame type is sdh."
    ::={ hpnicfPosParamTableEntry 6 }

hpnicfPosSonetFlagJ0 OBJECT-TYPE
    SYNTAX      Integer32(0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The section trace byte. This node is used when the frame type is sonet."
    ::={ hpnicfPosParamTableEntry 7 }

hpnicfPosSonetFlagJ1 OBJECT-TYPE
    SYNTAX      DisplayString(SIZE(0..62))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The path trace byte. This node is used when the frame type is sonet."
    ::={ hpnicfPosParamTableEntry 8 }


hpnicfPosFlagC2 OBJECT-TYPE
    SYNTAX      Integer32(0..255)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The parameter for the channel signal value of C2 byte"
    DEFVAL { 22 }
    ::={ hpnicfPosParamTableEntry 9 }

hpnicfPosFrameType OBJECT-TYPE
    SYNTAX      INTEGER{sdh(1),sonet(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The frame type that encapsulates the packet. Default frame type is
        sdh(Synchronous Digital Hierarchy) It also can be configured using
        sonet type(Synchronous Optical Network)."
    DEFVAL      { sdh }
    ::={ hpnicfPosParamTableEntry 10 }

hpnicfPosBindVlanId OBJECT-TYPE
    SYNTAX      Integer32(0..4095)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The vlan that this pos port binds. The vlan can not include any other
        port, otherwise error will be returned. If the vlan has a virtual
        interface, the status of virtual interface will be up or down according
        to the link status or this pos."
    ::={ hpnicfPosParamTableEntry 11 }

hpnicfPosEncapsulation OBJECT-TYPE
    SYNTAX      INTEGER{ppp(1),hdlc(2),fr(3)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The type of encapsulation "
    DEFVAL      { ppp }
    ::={ hpnicfPosParamTableEntry 12 }

hpnicfPoskeepaliveTimeout OBJECT-TYPE
    SYNTAX      Integer32(0..32767)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The keeplive of ppp, hdlc or fr. It is the query interval of link status. Two
        members of a link should have same keeplive. The default 0 prohibits
        detecting status of link."
    ::={ hpnicfPosParamTableEntry 13 }

hpnicfPosBERthresholdSF OBJECT-TYPE
    SYNTAX      Integer32(3..9)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The bit-error rate threshold for Signal Fault. SF threshold should
        be greater than SD threshold."
    DEFVAL      { 3 }
    ::={ hpnicfPosParamTableEntry 14 }

hpnicfPosBERthresholdSD OBJECT-TYPE
    SYNTAX      Integer32(3..9)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The bit-error rate threshold for Signal Degrade. SD threshold should
        be less than SF threshold."
    DEFVAL      { 6 }
    ::={ hpnicfPosParamTableEntry 15 }

hpnicfPosB1Error OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter for SBIPE(Section Bit Interleave Parity Error)"
    ::={ hpnicfPosParamTableEntry 16 }

hpnicfPosB2Error OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter for LBIPE(Line Bit Interleave Parity Error)"
    ::={ hpnicfPosParamTableEntry 17 }

hpnicfPosB3Error OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Counter for PBIPE(Path Bit Interleave Parity Error)"
    ::={ hpnicfPosParamTableEntry 18 }

hpnicfPosM1Error OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "How many times does LREI(Line Remote Error Indication) occur"
    ::={ hpnicfPosParamTableEntry 19 }

hpnicfPosG1Error OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "How many times does PREI(Path Remote Error Indication) occur"
    ::={ hpnicfPosParamTableEntry 20 }

hpnicfPosFlagJ0Type OBJECT-TYPE
    SYNTAX      INTEGER{sdh(1),sonet(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The frame type that encapsulates the flag J0. Default frame type is
        sdh(Synchronous Digital Hierarchy). It also can be configured using
        sonet(Synchronous Optical Network) type."
    DEFVAL      { sdh }
    ::={ hpnicfPosParamTableEntry 21 }

hpnicfPosFlagJ1Type OBJECT-TYPE
    SYNTAX      INTEGER{sdh(1),sonet(2)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The frame type that encapsulates the flag J1. Default frame type is
        sdh(Synchronous Digital Hierarchy). It also can be configured using
        sonet(Synchronous Optical Network) type."
    DEFVAL      { sdh }
    ::={ hpnicfPosParamTableEntry 22 }

hpnicfPosB1TCAThreshold OBJECT-TYPE
    SYNTAX  Integer32 (3..9)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Threshold for B1 TCA."
    DEFVAL { 6 }
    ::={ hpnicfPosParamTableEntry 23 }

hpnicfPosB2TCAThreshold OBJECT-TYPE
    SYNTAX  Integer32 (3..9)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Threshold for B2 TCA."
    DEFVAL { 6 }
    ::={ hpnicfPosParamTableEntry 24 }

hpnicfPosB3TCAThreshold OBJECT-TYPE
    SYNTAX  Integer32 (3..9)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Threshold for B3 TCA."
    DEFVAL { 6 }
    ::={ hpnicfPosParamTableEntry 25 }

hpnicfPosB1TCAEnable OBJECT-TYPE
    SYNTAX  INTEGER {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable traps of B1 TCA."
    DEFVAL { enable }
    ::={ hpnicfPosParamTableEntry 26 }

hpnicfPosB2TCAEnable OBJECT-TYPE
    SYNTAX  INTEGER {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable traps of B2 TCA."
    DEFVAL { enable }
    ::={ hpnicfPosParamTableEntry 27 }

hpnicfPosB3TCAEnable OBJECT-TYPE
    SYNTAX  INTEGER {
            enable(1),
            disable(2)
        }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable traps of B3 TCA."
    DEFVAL { enable }
    ::={ hpnicfPosParamTableEntry 28 }

hpnicfPosMIBNotificationsPrefix OBJECT IDENTIFIER ::= { hpnicfPos 2 }
hpnicfPosMIBNotifications OBJECT IDENTIFIER ::= { hpnicfPosMIBNotificationsPrefix 0 }

hpnicfPosLOSAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates loss of signal"
    ::={ hpnicfPosMIBNotifications 1 }

hpnicfPosLOFAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates loss of frame"
    ::={ hpnicfPosMIBNotifications 2 }

hpnicfPosOOFAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates out of frame"
    ::={ hpnicfPosMIBNotifications 3 }

hpnicfPosLAISAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm when LAIS(Line  Alarm  Indication  Signal) arrives"
    ::={ hpnicfPosMIBNotifications 4 }

hpnicfPosLRDIAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm when LRDI(Line  Remote  Defect  Indication) arrives"
    ::={ hpnicfPosMIBNotifications 5 }

hpnicfPosPRDIAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm when PRDI(Path  Remote  Defect  Indication) arrives"
    ::={ hpnicfPosMIBNotifications 6 }

hpnicfPosPAISAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm when PAIS(Path  Alarm  Indication  Signal) arrives"
    ::={ hpnicfPosMIBNotifications 7 }

hpnicfPosLOPAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates loss of pointer"
    ::={ hpnicfPosMIBNotifications 8 }

hpnicfPosSTIMAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates inconsistency between sent and received J0 bytes."
    ::={ hpnicfPosMIBNotifications 9 }

hpnicfPosPTIMAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates inconsistency between sent and received J1 bytes."
    ::={ hpnicfPosMIBNotifications 10 }

hpnicfPosPSLMAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates a mismatched C2 byte."
    ::={ hpnicfPosMIBNotifications 11 }

hpnicfPosLSDAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates that the B2 bit-error rate exceeds SD threshold."
    ::={ hpnicfPosMIBNotifications 12 }

hpnicfPosLSFAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates that the B2 bit-error rate exceeds SF threshold."
    ::={ hpnicfPosMIBNotifications 13 }

hpnicfPosNormalAlarm NOTIFICATION-TYPE
    OBJECTS
        {
            ifIndex
        }
    STATUS      current
    DESCRIPTION
        "Alarm indicates that the Pos interface state returns normal."
    ::={ hpnicfPosMIBNotifications 14 }

hpnicfPosB1TCAlarm NOTIFICATION-TYPE
    OBJECTS { ifIndex, ifDescr }
    STATUS      current
    DESCRIPTION
        "Threshold crossing alarms for B1."
    ::={ hpnicfPosMIBNotifications 15 }

hpnicfPosB2TCAlarm NOTIFICATION-TYPE
    OBJECTS { ifIndex, ifDescr }
    STATUS      current
    DESCRIPTION
        "Threshold crossing alarms for B2."
    ::={ hpnicfPosMIBNotifications 16 }

hpnicfPosB3TCAlarm NOTIFICATION-TYPE
    OBJECTS { ifIndex, ifDescr }
    STATUS      current
    DESCRIPTION
        "Threshold crossing alarms for B3."
    ::={ hpnicfPosMIBNotifications 17 }

END
