------------------------------------------------------------------------------
-- File Name : ZTE-AN-LDP-MIB.mib
-- Date      : 2008-06-30
-- Author    : ZTE Nms dept.
--
-- Zte LDP Mib for Access Node
--
--
------------------------------------------------------------------------------
ZTE-AN-LDP-MIB DEFINITIONS ::= BEGIN
  IMPORTS 
     MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
     experimental, Integer32, Unsigned32, 
     Counter64, TimeTicks, IpAddress
                                                        FROM SNMPv2-SMI    
     zxAnL3IfIndex                                      FROM ZTE-AN-L3-IF-MIB
     RowStatus, DisplayString                           FROM SNMPv2-TC
     zxAn                                               FROM ZTE-AN-TC-MIB
     InetAddress, InetAddressType                       FROM INET-ADDRESS-MIB;

  zxAnLdpMib MODULE-IDENTITY 
     LAST-UPDATED "200806301500Z"
     ORGANIZATION 
        "ZTE Corporation."
     CONTACT-INFO 
         "ZTE NMS dept.
                  Ma Jian       68897122" 

     DESCRIPTION  "This MIB contains managed object definitions for LDP 
     operation." 
     ::= { zxAn 55 } 
     
     zxAnLdpGlobalObjects   OBJECT IDENTIFIER ::= {zxAnLdpMib 1} 
     zxAnLdpObjects         OBJECT IDENTIFIER ::= {zxAnLdpMib 2}


------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.zxAn LDP global mgmt objects
-- 2.zxAn LDP target session table
-- 3.zxAn LDP session table
-- 4.zxAn LDP L3 Interface Entity table
------------------------------------------------------------------------------

------------------------------------------------------------------------------
--  1.zxAnLDP global mgmt objects
------------------------------------------------------------------------------
    zxAnLdpMplsEnable OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Enable MPLS service."
        DEFVAL { disable }
        ::= { zxAnLdpGlobalObjects 1 }

    zxAnLdpMplsMinLabel  OBJECT-TYPE
        SYNTAX      Integer32 (16..1048575)
        MAX-ACCESS  read-write
        STATUS current
        DESCRIPTION
            "Minimum value in dynamic label range of MPLS.
            For OLT C300, the label value range from 16 to 1044478."
        DEFVAL { 16 }
        ::= { zxAnLdpGlobalObjects 2 }
        
    zxAnLdpMplsMaxLabel  OBJECT-TYPE
        SYNTAX      Integer32 (16..1048575)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Maximum value in dynamic label range of MPLS.
            For OLT C300, the label value range from 16 to 1044478, 
            and the default maximum value is 1044478."
        DEFVAL { 100000 }
        ::= { zxAnLdpGlobalObjects 3 }
                
    zxAnLdpMplsLdpRouterId  OBJECT-TYPE
        SYNTAX      Integer32     
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "A zxAnL3IfIndex is used as the LDP router ID. It is recommended
            to use loopback interface as LDP router ID. L3 VLAN interface
            also can be configed. IP address of zxAnL3IfIndex should be 
            configured before the zxAnL3IfIndex configured as the router ID."
        DEFVAL { 0 }
        ::= { zxAnLdpGlobalObjects 4 }
        
    zxAnLdpMplsLdpRouterIdForce   OBJECT-TYPE
        SYNTAX      INTEGER
        {
            force(1),
            noForce(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "zxAnLdpMplsLdpRouterId is valid immediately. When force is set 
            whether the router ID designated takes effect depends on the 
            current status of the designated interface. 
            When current status of designated interface is up, and other
            addresses are not the current router ID. Router will force 
            router ID to change into designated value, intermit current
            session, free label studied in the session and intermit the MPLS
            transmission relating to binding with labels.
            When current status of the designated interface is down, once it
            turns to up. Router will force router ID to change into designated
            value, intermit current session, free label studied in the session
            and intermit MPLS transmission relating to binding with labels."
        DEFVAL { noForce }
        ::= { zxAnLdpGlobalObjects 5 }
        
    zxAnLdpMplsExplicitNullEnable  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "MPLS explicit null label enable switch."
        DEFVAL { disable }
        ::= { zxAnLdpGlobalObjects 6 }                                     
        
    zxAnLdpMplsMinInUseLabel  OBJECT-TYPE
        SYNTAX      INTEGER(16..1048575)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Minimum value in dynamic label range of MPLS in use.
            For OLT C300, the label value ranges from 16 to 1044478."
        ::= { zxAnLdpGlobalObjects 7 }
    
    zxAnLdpMplsMaxInUseLabel  OBJECT-TYPE
        SYNTAX      INTEGER(16..1048575)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Maximum value in dynamic label range of MPLS in use.
            For OLT C300, the label value ranges from 16 to 1044478."
        ::= { zxAnLdpGlobalObjects 8 }
    
    zxAnLdpMplsSessInitBackoffTime  OBJECT-TYPE
         SYNTAX      INTEGER(10..65535)
         UNITS       "seconds"
         MAX-ACCESS  read-write
         STATUS      current
         DESCRIPTION
             "The initial time which LDP entity should wait and try again
             after LDP failed to establish a session."
         DEFVAL { 15 }
         ::= { zxAnLdpGlobalObjects 9 }

    zxAnLdpMplsSessMaxBackoffTime  OBJECT-TYPE
        SYNTAX      INTEGER(10..65535)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The maximum time which LDP entity could use to rebuild session
            after LDP failed to establish a session. The waiting time starts
            from the initial back off time, then increases exponentially
            up to the maximum back off time."
        DEFVAL { 120 }
        ::= { zxAnLdpGlobalObjects 10 }
    
    zxAnLdpMplsSessKeepAliveTime  OBJECT-TYPE
        SYNTAX      INTEGER(15..65535)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The timer which is the proposed keep alive hold timer
            for LDP session."
        DEFVAL { 180 }
        ::= { zxAnLdpGlobalObjects 11 }
    
    zxAnLdpMplsGrEnable  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "LDP GR(Graceful Restart) function enable switch. 
            It indicates whether LDP GR function should be enabled."
        DEFVAL { disable }
        ::= { zxAnLdpGlobalObjects 12 }

    zxAnLdpMplsGrRecoveryTime  OBJECT-TYPE
        SYNTAX      INTEGER(15..600)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The maximum time which is the proposed GR recovery timer
            for this LDP entity. After LDP session rebuilt, GR Helper
            assists GR Restarter to update label forwarding table."
        DEFVAL { 120 }
        ::= { zxAnLdpGlobalObjects 13 }

    zxAnLdpMplsGrNeighKeepAliveTime  OBJECT-TYPE
        SYNTAX      INTEGER(5..300)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The maximum time which is the proposed keep alive neighbor
            when a LDP entity found the peer is down."
        DEFVAL { 120 }
        ::= { zxAnLdpGlobalObjects 14 }

    zxAnLdpMplsVpnGrEnable  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "MPLS Layer 2 VPN GR function enable switch."
        DEFVAL { disable }
        ::= { zxAnLdpGlobalObjects 15 }
    
    zxAnLdpMplsHelloHoldTime  OBJECT-TYPE
        SYNTAX      INTEGER(3..65535)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The timer which is the proposed Hello hold timer for this
            LDP entity. A value of 65535 means infinite."
        DEFVAL { 15 }
        ::= { zxAnLdpGlobalObjects 16 }

    zxAnLdpMplsHelloSendInterval  OBJECT-TYPE
        SYNTAX      INTEGER(1..65535)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The time interval to send Hello message for this LDP entity.
            The time must be smaller than the hello hold time."
        DEFVAL { 5 }
        ::= { zxAnLdpGlobalObjects 17 }

    zxAnLdpMplsTgtHelloHoldTime  OBJECT-TYPE
        SYNTAX      INTEGER(3..65535)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The timer which is the proposed targeted Hello hold timer for
            this LDP entity. A value of 65535 means infinite."
        DEFVAL { 45 }
        ::= { zxAnLdpGlobalObjects 18 }
        
    zxAnLdpMplsTgtHelloSendInterval  OBJECT-TYPE
        SYNTAX      INTEGER(1..65535)
        UNITS       "seconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The time interval to send targeted Hello message for this
            LDP entity. The time must be smaller than the targeted hello
            hold time."
        DEFVAL { 15 }
        ::= { zxAnLdpGlobalObjects 19 }
        
    zxAnLdpMplsKeepSessWithHelloMsg  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "LDP session keeping alive with hello messages enable switch.
            If the switch is enabling, the LDP session reset keep alive timer
            when receiving a hello message."
        DEFVAL { disable }
        ::= { zxAnLdpGlobalObjects 20 }
        
    zxAnLdpMplsGrHelperEnable  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Graceful restart helper enable switch."
        DEFVAL { enable }
        ::= { zxAnLdpGlobalObjects 21 }
        
    zxAnLdpMplsLabelControlMode  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            ordered(1),
            independent(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "To specify control mode of LSP."
        DEFVAL { independent }
        ::= { zxAnLdpGlobalObjects 22 }
        
    zxAnLdpMplsLabelRetentionMode  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            conservative(1),
            liberal(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "To specify retention mode of LSP."
        DEFVAL { liberal }
        ::= { zxAnLdpGlobalObjects 23 }
   
   zxAnLdpMplsPktWithLabelEnable  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "To specify label encapsulation mode when LSR
            sending protocol packets."
        DEFVAL { disable }
        ::= { zxAnLdpGlobalObjects 24 }
        
------------------------------------------------------------------------------
-- 2.zxAn LDP target session table
------------------------------------------------------------------------------
    zxAnLdpTargetSessionTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnLdpTargetSessionEntry 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION           
            "This table contains information about the
            MPLS target session."            
        ::= { zxAnLdpObjects 3 }

    zxAnLdpTargetSessionEntry  OBJECT-TYPE
        SYNTAX      ZxAnLdpTargetSessionEntry 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION           
            "An entry in this table represents an LDP target session."
        INDEX       { zxAnLdpTargetIpAddrType, zxAnLdpTargetIpAddr }
        ::= { zxAnLdpTargetSessionTable 1 }
         
    ZxAnLdpTargetSessionEntry ::= SEQUENCE {
        zxAnLdpTargetIpAddrType        InetAddressType,
        zxAnLdpTargetIpAddr            InetAddress,
        zxAnLdpTargetDistributionMode  INTEGER,
        zxAnLdpTargetSessionRowStatus  RowStatus 
    }
   
    zxAnLdpTargetIpAddrType  OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The type of the zxAnLdpTargetIpAddr, as defined
            in the InetAddress MIB."
        ::= { zxAnLdpTargetSessionEntry 1 } 
   
    zxAnLdpTargetIpAddr  OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Peer address of target LDP session."
        ::= { zxAnLdpTargetSessionEntry 2 }
    
    zxAnLdpTargetDistributionMode  OBJECT-TYPE
        SYNTAX      INTEGER
        {
            dod(1),
            du(2)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The label distribution mode."
        DEFVAL { du }
        ::= { zxAnLdpTargetSessionEntry 3 }
    
    zxAnLdpTargetSessionRowStatus OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Row Status of the table."
        ::= { zxAnLdpTargetSessionEntry 20 }
    
------------------------------------------------------------------------------
-- 3.zxAn LDP session table
------------------------------------------------------------------------------
    zxAnLdpSessionTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ZxAnLdpSessionEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "LDP session table. This table contains information
            about LDP session."
        ::= { zxAnLdpObjects 4 }
        
    zxAnLdpSessionEntry OBJECT-TYPE
        SYNTAX     ZxAnLdpSessionEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Entry contains LDP information."
        INDEX { zxAnLdpPeerIpAddrType, zxAnLdpPeerIpAddr }
        ::= { zxAnLdpSessionTable 1 }

    ZxAnLdpSessionEntry ::= SEQUENCE {
        zxAnLdpPeerIpAddrType      InetAddressType,
        zxAnLdpPeerIpAddr          InetAddress,
        zxAnLdpMd5Pwd              DisplayString,
        zxAnLdpMd5PwdConfStatus    INTEGER,
        zxAnLdpMd5PwdEncrypt       INTEGER,
        zxAnLdpSessionReset        INTEGER,
        zxAnLdpSessionRowStatus    RowStatus
    }
    
    zxAnLdpPeerIpAddrType  OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The type of the zxAnLdpPeerIpAddr, as defined
            in the InetAddress MIB."
        ::= { zxAnLdpSessionEntry 1 } 
        
    zxAnLdpPeerIpAddr  OBJECT-TYPE
        SYNTAX     InetAddress
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "The IP address of peer."
        ::= { zxAnLdpSessionEntry 2 } 
            
    zxAnLdpMd5Pwd  OBJECT-TYPE
        SYNTAX     DisplayString (SIZE (3..80))
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "Password used for communication between LSRs."
        ::= { zxAnLdpSessionEntry 3 } 
        
    zxAnLdpMd5PwdConfStatus  OBJECT-TYPE
        SYNTAX     INTEGER
        {
            noPwd(1),
            withPwd(2)
        }
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "The status indicates whether the MD5 is registered."
        ::= { zxAnLdpSessionEntry 4 }

    zxAnLdpMd5PwdEncrypt  OBJECT-TYPE
        SYNTAX     INTEGER
        {
            noEncrypt(1),
            encrypt(2)
        }
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The status indicates whether the MD5 password is encrypted.
            When the password is encrypted, the password cannot be read."
        ::= { zxAnLdpSessionEntry 5 }
        
    zxAnLdpSessionReset  OBJECT-TYPE
        SYNTAX     INTEGER
        {
            noReset(1),
            reset(2)
        }
        MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "Used to reset the LDP session."
        ::= { zxAnLdpSessionEntry 6 }
        
    zxAnLdpSessionRowStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Row Status of the table."
        ::= { zxAnLdpSessionEntry 20 } 
        
------------------------------------------------------------------------------
-- 4.zxAn LDP L3 Interface Entity table
------------------------------------------------------------------------------
    zxAnLdpL3IfEntityTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ZxAnLdpL3IfEntityEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
             "This table contains information about the MPLS Label 
             Distribution Protocol Entities which exist on this 
             L3 VLAN interface."
        ::= { zxAnLdpObjects 5 }
        
    zxAnLdpL3IfEntityEntry OBJECT-TYPE
        SYNTAX     ZxAnLdpL3IfEntityEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "Entry contains information of the LDP Entity."
        INDEX { zxAnL3IfIndex }
        ::= { zxAnLdpL3IfEntityTable 1 }

    ZxAnLdpL3IfEntityEntry ::= SEQUENCE {
        zxAnLdpL3IfTransAddrMode         INTEGER,
        zxAnLdpL3IfTransAddrType         InetAddressType,
        zxAnLdpL3IfTransAddr             InetAddress,
        zxAnLdpL3IfDistributionMode      INTEGER,
        zxAnLdpL3IfEntityRowStatus       RowStatus
    }
    
    zxAnLdpL3IfTransAddrMode  OBJECT-TYPE
        SYNTAX     INTEGER
        {
            unconfigured(0),
            ifIp(1),
            specifyIp(2)
        }
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "Change the transport address configuration of LDP."
        ::= { zxAnLdpL3IfEntityEntry 1 } 
    
    zxAnLdpL3IfTransAddrType  OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The type of the zxAnLdpTransAddr, as defined
            in the InetAddress MIB."
        ::= { zxAnLdpL3IfEntityEntry 2 } 
   
    zxAnLdpL3IfTransAddr  OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Address of transport."
        ::= { zxAnLdpL3IfEntityEntry 3 } 
        
    zxAnLdpL3IfDistributionMode  OBJECT-TYPE
        SYNTAX     INTEGER
        {
            dod(1),
            du(2)
        }
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The label distribution mode."
        DEFVAL { du }
        ::= { zxAnLdpL3IfEntityEntry 4 } 
              
    zxAnLdpL3IfEntityRowStatus  OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Row Status of the Table."
        ::= { zxAnLdpL3IfEntityEntry 20 }  

END
