ZX-PWE3-EXT-MIB DEFINITIONS ::= BEGIN 
     
    IMPORTS         
        TEXTUAL-CONVENTION, MacAddress, RowStatus, 
        DisplayString, TruthValue                       FROM SNMPv2-TC  -- [RFC2579] 
        MODULE-IDENTITY, OBJECT-TYPE, Unsigned32,Integer32        FROM SNMPv2-SMI -- [RFC2578]        
        InterfaceIndexOrZero                            FROM IF-MIB
        InetAddressType, InetAddress                    FROM INET-ADDRESS-MIB  -- [RFC4001]
        IANAPwPsnTypeTC                                 FROM ZX-PWE3-MIB       
        zxAnCesMib                                      FROM ZTE-MASTER-MIB         
        zxPwIndex                                       FROM ZXPW-STD-MIB;
 
    zxPwe3ExtMib  MODULE-IDENTITY 
        LAST-UPDATED "200905150000Z"  -- May 15, 2009
        ORGANIZATION    "Zhongxing Telcom Co. Ltd."
        CONTACT-INFO    "Zhongxing Telcom Co. Ltd.
                         E-mail: info@mail.zte.com.cn
                         http  : www.zte.com.cn or www.zhongxing.com"
        DESCRIPTION 
            "This MIB module defines PWE3 managed objects as extension of PWE3 standard MIB modules from IETF." 
     
        ::= { zxAnCesMib 21 } 
     
    zxPwe3ExtObjects     OBJECT IDENTIFIER  ::=  { zxPwe3ExtMib 1 }
    zxPwe3ExtTrapObjects OBJECT IDENTIFIER  ::=  { zxPwe3ExtMib 2 }
    
    zxPwe3ExtGlobalObjects OBJECT IDENTIFIER  ::=  { zxPwe3ExtObjects 1 }
    
    -- Textual conventions
    PwVcIDType ::= TEXTUAL-CONVENTION 
        STATUS      current 
        DESCRIPTION 
            "Pseudo-Wire Identifier. Used to identify the PW  
             (together with some other fields) in the signaling  
             session. Zero if the PW is set-up manually." 
        SYNTAX  Unsigned32 

-------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.PWE3 Golbal Objects
-- 2.PWE3 PW Extended Table
-- 3.PWE3 MPLS Extended Table
-- 4.PWE3 PW Label Table
-- 5.PWE3 PW IP Head Table
-- 6.PWE3 PW ATM Extended Table
-- 7.PWE3 PW QoS Table
-- 8.PWE3 PW Clock Table
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
-- 1.PWE3 Golbal Objects
--------------------------------------------------------------------------------
    zxPwe3ExtCesMode OBJECT-TYPE
        SYNTAX      INTEGER
            {
                ces(1),
                pwe3(2)
            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The CES work mode."
        DEFVAL{ 1 } 
        ::= { zxPwe3ExtGlobalObjects 1 } 
     
    zxPwe3ExtCesIp1Type OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The type of CES IP address 1."
        DEFVAL{ 1 } 
        ::= { zxPwe3ExtGlobalObjects 2 } 
        
    zxPwe3ExtCesIp1 OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "CES IP address 1. When creating a pseudowire, the source IP must be zxPwe3ExtCesIp1 or zxPwe3ExtCesIp2."
        ::= { zxPwe3ExtGlobalObjects 3 } 
    
    zxPwe3ExtCesIp2Type OBJECT-TYPE
        SYNTAX      InetAddressType
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The type of CES IP address 2."
        DEFVAL{ 1 } 
        ::= { zxPwe3ExtGlobalObjects 4 } 
        
    zxPwe3ExtCesIp2 OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "CES IP address 2. When creating a pseudowire, the source IP must be zxPwe3ExtCesIp1 or zxPwe3ExtCesIp2."
        ::= { zxPwe3ExtGlobalObjects 5 } 
    
    zxPwe3ExtCesMac1 OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "CES MAC address 1. When creating a pseudowire, the source MAC must be zxPwe3ExtCesMac1 or zxPwe3ExtCesMac2."
        ::= { zxPwe3ExtGlobalObjects 6 } 
    
    zxPwe3ExtCesMac2 OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "CES MAC address 2. When creating a pseudowire, the source MAC must be zxPwe3ExtCesMac1 or zxPwe3ExtCesMac2."
        ::= { zxPwe3ExtGlobalObjects 7 } 
    
    zxPwe3ExtCesMinUdpPort OBJECT-TYPE
        SYNTAX      INTEGER(0..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The minimum UDP port. When creating a pseudowire, the UDP port must between zxPwe3ExtCesMinUdpPort and zxPwe3ExtCesMaxUdpPort."
        ::= { zxPwe3ExtGlobalObjects 8 } 
    
    zxPwe3ExtCesMaxUdpPort OBJECT-TYPE
        SYNTAX      INTEGER(0..65535)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The maximum UDP port. When creating a pseudowire, the UDP port must between zxPwe3ExtCesMinUdpPort and zxPwe3ExtCesMaxUdpPort."
        ::= { zxPwe3ExtGlobalObjects 9 } 
    
--------------------------------------------------------------------------------
-- 2.PWE3 PW Extended Table
--------------------------------------------------------------------------------

    zxPwe3ExtPwTable   OBJECT-TYPE
        SYNTAX        SEQUENCE OF ZxPwe3ExtPwEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
            "This table controls pseudowire extended parameters."
        ::= { zxPwe3ExtObjects 2 }
    
    zxPwe3ExtPwEntry   OBJECT-TYPE
        SYNTAX        ZxPwe3ExtPwEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
            "A row in this table represents extended parameters of a pseudowire (PW). The row is created
            automatically by the local agent. It is indexed by zxPwIndex, which uniquely identifying a singular PW.
            Manual entries in this table SHOULD be preserved after a reboot, the agent MUST ensure the integrity of those entries."    
        INDEX  { zxPwIndex }    
        ::= { zxPwe3ExtPwTable 1 }

    ZxPwe3ExtPwEntry ::= SEQUENCE {
         zxPwe3ExtPwSrcIpType        InetAddressType,  
         zxPwe3ExtPwSrcIp            InetAddress,  
         zxPwe3ExtPwSrcMac           MacAddress
      }
        
    zxPwe3ExtPwSrcIpType OBJECT-TYPE  
        SYNTAX   InetAddressType
        MAX-ACCESS    read-create  
        STATUS        current  
        DESCRIPTION  
           "The pseudowire source IP address type."  
        DEFVAL{ 1 } 
        ::= { zxPwe3ExtPwEntry 1 }  
    
    zxPwe3ExtPwSrcIp OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
           "The pseudowire source IP address."
        ::= { zxPwe3ExtPwEntry 2 }  
    
    zxPwe3ExtPwSrcMac OBJECT-TYPE
        SYNTAX          MacAddress
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
           "The pseudowire source MAC address."
        REFERENCE
            "Used by MAP"           
        ::= { zxPwe3ExtPwEntry 3 }

--------------------------------------------------------------------------------
-- 3.PWE3 MPLS Extended Table
--------------------------------------------------------------------------------

    zxPwMplsExtTable   OBJECT-TYPE
        SYNTAX        SEQUENCE OF ZxPwMplsExtEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
            "This table controls MPLS specific parameters when the PW is
             going to be carried over MPLS PSN."
        ::= { zxPwe3ExtObjects 3 }
    
    zxPwMplsExtEntry   OBJECT-TYPE
        SYNTAX        ZxPwMplsExtEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
            "A row in this table represents parameters specific to MPLS
            PSN for a pseudowire (PW). The row is created
            automatically by the local agent if the zxPwPsnType is
            mpls(1). It is indexed by zxPwIndex, which uniquely
            identifying a singular PW.
            Manual entries in this table SHOULD be preserved after a
            reboot, the agent MUST ensure the integrity of those
            entries.
            If the set of entries of a specific row were found to be
            non consistent after reboot, the PW pwOperStatus MUST be
            declared as down(2).
            Any read-write object in this table MAY be changed at any
            time, however change of some objects (for example
            pwMplsMplsType) during PW forwarding state MAY cause traffic
            disruption."    
        INDEX  { zxPwIndex }    
        ::= { zxPwMplsExtTable 1 }

    ZxPwMplsExtEntry ::= SEQUENCE {
        zxPwMplsExtMplsType              INTEGER,  
        zxPwMplsExtOutboundTunnelLabel   Unsigned32,
        zxPwMplsExtInboundTunnelLabel    Unsigned32,         
        zxPwMplsExtVcID                  PwVcIDType,
        zxPwMplsExtControlWord           TruthValue,
        zxPwMplsExtWithSequenceNumber    TruthValue
      }
        
    zxPwMplsExtMplsType OBJECT-TYPE  
        SYNTAX   INTEGER {  
            static       (1),   
            dynamic      (2),
            staticsingle (3) 
            }   
        MAX-ACCESS    read-create
        STATUS        current  
        DESCRIPTION  
           "This variable indicates the MPLS type."  
        ::= { zxPwMplsExtEntry 1 }  
    
    zxPwMplsExtOutboundTunnelLabel OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
           "The MPLS Outbound Tunnel Label."
        ::= { zxPwMplsExtEntry 2 }  
    
    zxPwMplsExtInboundTunnelLabel OBJECT-TYPE
        SYNTAX          Unsigned32
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
           "The MPLS Inbound Tunnel Label."
        ::= { zxPwMplsExtEntry 3 } 
         
    zxPwMplsExtVcID OBJECT-TYPE 
        SYNTAX        PwVcIDType 
        MAX-ACCESS    read-create
        STATUS        current 
        DESCRIPTION 
           "Used in the outgoing VC ID field within the 'Virtual 
            Circuit FEC Element' when LDP signaling is used or PW ID  
            AVP for L2TP." 
        REFERENCE 
           "Martini, et al, <draft-martini-l2circuit-trans-mpls>. 
            and So, et al, <draft-so-pwe3-ethernet>.
            Note: as specified in l2circuit-trans: It is REQUIRED to 
            assign the same VC ID, and VC type for a given circuit in 
            both directions." 
        ::= { zxPwMplsExtEntry 4 } 
    
    zxPwMplsExtControlWord OBJECT-TYPE 
        SYNTAX        TruthValue 
        MAX-ACCESS    read-create
        STATUS        current 
        DESCRIPTION 
           "Define if the control word will be sent with each packet by  
            the local node." 
        REFERENCE 
           "Martini, et al, <draft-martini-l2circuit-trans-mpls>" 
        DEFVAL 
           { false } 
        ::= { zxPwMplsExtEntry 5 } 

    zxPwMplsExtWithSequenceNumber OBJECT-TYPE 
        SYNTAX        TruthValue 
        MAX-ACCESS    read-create
        STATUS        current 
        DESCRIPTION 
           "Define if the sequence number will be sent with each packet by  
            the local node."
        DEFVAL 
           { false } 
        ::= { zxPwMplsExtEntry 6 } 

--------------------------------------------------------------------------------
-- 4.PWE3 PW Label Table
--------------------------------------------------------------------------------

    zxPwe3ExtPwLabelTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxPwe3ExtPwLabelEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "This table controls pseudowire labels which have been used."
        ::= { zxPwe3ExtObjects 4 }

    zxPwe3ExtPwLabelEntry  OBJECT-TYPE
        SYNTAX      ZxPwe3ExtPwLabelEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A row in this table represents pseudowire labels which have been used."
        INDEX  { zxPwe3ExtPwPsnType, zxPwe3ExtPwLabelIndex}
        ::= { zxPwe3ExtPwLabelTable 1 }
        
    ZxPwe3ExtPwLabelEntry ::= SEQUENCE {
        zxPwe3ExtPwPsnType     IANAPwPsnTypeTC,
        zxPwe3ExtPwLabelIndex  Integer32,
        zxPwe3ExtPwLabel       DisplayString
    }
    
    zxPwe3ExtPwPsnType  OBJECT-TYPE
        SYNTAX      IANAPwPsnTypeTC
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The PSN type."
        ::= { zxPwe3ExtPwLabelEntry 1 }
    
    zxPwe3ExtPwLabelIndex  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Index of the pseudowire labels which have been used."
        ::= { zxPwe3ExtPwLabelEntry 2 }
    
    zxPwe3ExtPwLabel  OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The pseudowire labels which have been used."
        ::= { zxPwe3ExtPwLabelEntry 3 }
        
--------------------------------------------------------------------------------
-- 5.PWE3 PW IP Head Table
--------------------------------------------------------------------------------
    zxPwExtIpHeadTable   OBJECT-TYPE
        SYNTAX        SEQUENCE OF ZxPwExtIpHeadEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
            "This table controls IP head parameters of a pseudowire."
        ::= { zxPwe3ExtObjects 5 }
    
    zxPwExtIpHeadEntry   OBJECT-TYPE
        SYNTAX        ZxPwExtIpHeadEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
            "A row in this table represents IP head parameters of a pseudowire."    
        INDEX  { zxPwIndex }    
        ::= { zxPwExtIpHeadTable 1 }

    ZxPwExtIpHeadEntry ::= SEQUENCE {
         zxPwExtIpTos     INTEGER,  
         zxPwExtIpTtl     INTEGER,
         zxPwExtIpDf      INTEGER
      }
        
    zxPwExtIpTos OBJECT-TYPE  
        SYNTAX   INTEGER(0..256)   
        MAX-ACCESS    read-create 
        STATUS        current  
        DESCRIPTION  
           "Type of service. 256 means using the original TOS value."  
        DEFVAL{ 1 } 
        ::= { zxPwExtIpHeadEntry 1 }  
    
    zxPwExtIpTtl OBJECT-TYPE
        SYNTAX          INTEGER(0..255)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
           "Time to live."
        DEFVAL{ 255 } 
        ::= { zxPwExtIpHeadEntry 2 }  
    
    zxPwExtIpDf OBJECT-TYPE
        SYNTAX          INTEGER(0..1)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
           "Don't Fragment."
        ::= { zxPwExtIpHeadEntry 3 }

--------------------------------------------------------------------------------
-- 6.PWE3 PW ATM Extended Table
--------------------------------------------------------------------------------
    zxAnPwAtmExtCfgTable OBJECT-TYPE
        SYNTAX    SEQUENCE OF ZxAnPwAtmExtCfgEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION
            "This table specifies extended information for an ATM PW
             to be carried over PSN in any mode."
        ::= { zxPwe3ExtObjects 6 }

    zxAnPwAtmExtCfgEntry OBJECT-TYPE
        SYNTAX        ZxAnPwAtmExtCfgEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
             "This table contains a set of extended parameters for
             the ATM PW that needs to be adapted and carried
             over the PSN.  This table is indexed by zxPwIndex from
             zxPwTable.  An entry is created for every new ATM
             type associated zxPwIndex in the zxPwTable.  Unless
             otherwise specified, all read-write objects in
             this table MAY be changed when the PW is defined
             as not active, and all RW objects values must
             persist after reboot."        
        INDEX { zxPwIndex }
        ::= { zxAnPwAtmExtCfgTable 1 }
    
    ZxAnPwAtmExtCfgEntry ::= SEQUENCE {
        zxAnPwAtmExtTransmitTimeout       Integer32
    }

    zxAnPwAtmExtTransmitTimeout  OBJECT-TYPE
        SYNTAX      Integer32 (50..4095)
        UNITS       "microseconds"
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "A packet can be transmitted to the PSN based on timeout expiration
            for collecting cells. "
        DEFVAL { 50 }
        ::= { zxAnPwAtmExtCfgEntry 1 }

--------------------------------------------------------------------------------
-- 7.PWE3 PW QoS Table
--------------------------------------------------------------------------------
    zxAnPwQosTable OBJECT-TYPE
        SYNTAX    SEQUENCE OF ZxAnPwQosEntry
        MAX-ACCESS        not-accessible
        STATUS            current
        DESCRIPTION
            "PW QoS table."
        ::= { zxPwe3ExtObjects 7 }

    zxAnPwQosEntry OBJECT-TYPE
        SYNTAX        ZxAnPwQosEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
             "PW QoS entry."        
        INDEX { zxPwIndex }
        ::= { zxAnPwQosTable 1 }
    
    ZxAnPwQosEntry ::= SEQUENCE {
        zxAnPwQosCir                Integer32,
        zxAnPwQosCbs                Integer32,
        zxAnPwQosCirRemarkCos       Integer32,
        zxAnPwQosPir                Integer32,
        zxAnPwQosPbs                Integer32,
        zxAnPwQosPirRemarkCos       Integer32,
        zxAnPwQosRowStatus          RowStatus
    }

    zxAnPwQosCir    OBJECT-TYPE
        SYNTAX      Integer32(64..65535)
        UNITS       "kbps"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Committed information rate. "
        ::= { zxAnPwQosEntry 1 }

    zxAnPwQosCbs    OBJECT-TYPE
        SYNTAX      Integer32(64..65535)
        UNITS       "kbytes"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Committed burst size. "
        ::= { zxAnPwQosEntry 2 }

    zxAnPwQosCirRemarkCos   OBJECT-TYPE
        SYNTAX      Integer32(0..7|255)      
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "CoS remark value for traffic lower than CIR. 
            The value 255 indicates that no remark CoS is configured."
        ::= { zxAnPwQosEntry 3 }

    zxAnPwQosPir    OBJECT-TYPE
        SYNTAX      Integer32(64..65535)
        UNITS       "kbps"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Peak information rate. "
        ::= { zxAnPwQosEntry 4 }

    zxAnPwQosPbs    OBJECT-TYPE
        SYNTAX      Integer32(64..65535)
        UNITS       "kbytes"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Peak burst size. "
        ::= { zxAnPwQosEntry 5 }

    zxAnPwQosPirRemarkCos   OBJECT-TYPE
        SYNTAX      Integer32(0..7|255)       
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "CoS remark value for traffic lower than PCR and higher than 
             CIR. 
            The value 255 indicates that no remark CoS is configured."
        ::= { zxAnPwQosEntry 6 }

    zxAnPwQosRowStatus    OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The row status of this entry."
        ::= {zxAnPwQosEntry 20 }  

--------------------------------------------------------------------------------
-- 8.PWE3 PW Clock Table
--------------------------------------------------------------------------------

    zxAnPwClockTable OBJECT-TYPE
        SYNTAX    SEQUENCE OF ZxAnPwClockEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
            "Pseudo-wire clock table."
        ::= { zxPwe3ExtObjects 8 }

    zxAnPwClockEntry OBJECT-TYPE
        SYNTAX        ZxAnPwClockEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
             "Pseudo-wire clock table entry."        
        INDEX { zxPwIndex }
        ::= { zxAnPwClockTable 1 }
    
    ZxAnPwClockEntry ::= SEQUENCE {
        zxAnPwClockStatus           INTEGER,
        zxAnPwClockOffset           Integer32
    }
    
    zxAnPwClockStatus   OBJECT-TYPE
        SYNTAX      INTEGER
            {
                freeRun(1),
                holdOver(2),
                acquiring(3),
                acquired(4),
                notReady(5)
            }       
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Pseudo wire clock status.            
             freeRun(1)   - Pseudo-wire clock could not be acquired and in free
                            status.
             holdOver(2)  - Pseudo-wire could not acquire clock, and hold
                            current clock
                            for a while. 
             acquiring(3) - Pseudo-wire clock is being acquired.
             acquired(4)  - Pseudo-wire clock has been acquired.
             notReady(5)  - Pseudo-wire is not ready to established and clock
                            is in this status.
            "
        ::= { zxAnPwClockEntry 1 }

    zxAnPwClockOffset    OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "ppb"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Pseudo-wire clock offset.
             The unit is ppb(part per billion)."
        ::= {zxAnPwClockEntry 2 }
END 
