-- ============================================================================
-- Copyright (C) 2010 by  HUAWEI TECHNOLOGIES. All rights reserved.
-- Description: This MIB Module provides Textual Conventions 
--              and OBJECT-IDENTITY Objects to be used in networks 
--              implementing PW services.
-- Reference:
-- Version:     V1.13
-- ============================================================================
    HUAWEI-PW-TC-MIB DEFINITIONS ::= BEGIN 
   
        IMPORTS        
            hwMpls            
                FROM HUAWEI-MIB                    
            MODULE-IDENTITY, Unsigned32, Integer32 
                FROM SNMPv2-SMI    
            TEXTUAL-CONVENTION 
                FROM SNMPv2-TC; 
  
        hwPwTCMIB MODULE-IDENTITY 
            LAST-UPDATED "201011200000Z"
            ORGANIZATION "Huawei Technologies Co.,Ltd."      
            CONTACT-INFO                                               
                "Huawei Industrial Base
                 Bantian, Longgang
                 Shenzhen 518129
                 People's Republic of China
                 Website: http://www.huawei.com
                 Email: support@huawei.com
                "                                      
            DESCRIPTION 
            "This MIB Module provides Textual Conventions 
             and OBJECT-IDENTITY Objects to be used in networks 
             implementing PW services. 
            " 
            
            -- Revision history. 
            REVISION     "201011200000Z" 
            DESCRIPTION  "V1.13, updated the description." 
                        
            REVISION     "201011090000Z" 
            DESCRIPTION  "V1.12, updated the description and format." 
            
            REVISION     "201007242000Z" 
            DESCRIPTION  "V1.11, updated the description and format." 

            REVISION     "201007160000Z" 
            DESCRIPTION  "V1.10, updated the description and format."  
            
            REVISION     "200505281200Z"
            DESCRIPTION  "V1.09, modified as HUAWEI private mib based on draft." 
          
            REVISION     "200406141200Z"
            DESCRIPTION  "V1.08, changes from previous drafts: 
                          Updated PW types based on new IANA draft -04. 
                          FCS Retention status had been updated to include FCS size 
                          mismatch. 
                         " 
   
            REVISION     "200402031200Z"
            DESCRIPTION  "V1.07, changes from previous drafts: 
                          Changed IANA request text. 
                          Changed PwVcRemoteCwStatus to PwVcCwStatus and added two 
                          enum so the textual convention will indicate the full 
                          status of the CW negotiation including the final result. 
                         " 
                         
            REVISION     "200311301200Z"
            DESCRIPTION  "V1.06, changes from previous drafts: 
                          Removed non-necessary textual convention. Adapted description of main clause based on MIB boilerplate. 
                         " 
            REVISION     "200307281200Z"
            DESCRIPTION  "V1.05, added objects to cover new control draft. Adapted VC types for current values in WG documents." 
   
            REVISION     "200305011200Z"
            DESCRIPTION  "V1.04, added PwVcAttachmentIdentifierType. Adapted VC types for current values in WG documents." 
   
            REVISION     "200205281200Z"
            DESCRIPTION  "V1.03, added PwVcType, and anded enhance some descriptions." 
      
            REVISION     "200201301200Z"
            DESCRIPTION  "V1.02, added PwVcVlanCfg, PwAddressType and PwOperStatus." 
   
            REVISION     "200112201200Z"
            DESCRIPTION  "V1.01, removed PwVcInstance" 
   
            REVISION     "200107121200Z"
            DESCRIPTION  "V1.00, initial version." 
   
            ::= { hwPwStdMIB 1 }                   
     
        hwPw OBJECT IDENTIFIER ::= { hwMpls 8 }
   
        hwPwStdMIB OBJECT IDENTIFIER ::= { hwPw 2 }  
   
        PwGroupID ::= TEXTUAL-CONVENTION 
            STATUS      current 
            DESCRIPTION 
                "An administrative identification mechanism for grouping a 
                 set of service-specific pseudo-wire services. May only 
                 have local significance." 
            SYNTAX  Unsigned32 
   
        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 
   
        PwVcIndexType ::= TEXTUAL-CONVENTION 
            STATUS      current 
            DESCRIPTION 
                "Pseudo Wire Index. Locally unique index for indexing 
                 several MIB tables associated with a particular PW." 
            SYNTAX  Unsigned32 
   
       PwVcVlanCfg ::= TEXTUAL-CONVENTION 
            STATUS      current 
            DESCRIPTION 
                "VLAN configuration for Ethernet PW.  
                 Values between 0 to 4095 indicate the actual VLAN field value.  
                 A value of 4096 indicates that the object refer to  
                 untagged frames, i.e. frames without 802.1Q field. 
                 A value of 4097 indicates that the object is not relevant." 
            SYNTAX  Integer32 (0..4097) 

        PwOperStatus ::= TEXTUAL-CONVENTION 
            STATUS      current 
            DESCRIPTION 
                "Indicates the operational status of the PW. 
                 Options: 
                 1. up(1)             -ready to pass packets
                 2. down(2)           -if PW signaling has not yet finished, or indications 
                                       available at the service level indicate that the VC 
                                       is not passing packets
                 3. testing(3)        -if AdminStatus at the PW level is set to test
                 4. dormant(4)        -the PW is not available because of the required resources 
                                       are occupied PW with higher priority PWs
                 5. notPresent(5)     -some component is missing to accomplish the setup of the 
                                       PW
                 6. lowerLayerDown(6) -the underlying PSN or outer tunnel is not in OperStatus 
                                       'up' state
                " 
            SYNTAX   INTEGER { 
                up(1), 
                down(2), 
                testing(3), 
                unknown(4), 
                dormant(5), 
                notPresent(6), 
               lowerLayerDown(7) 
            }       
   
        PwVcType ::= TEXTUAL-CONVENTION 
            STATUS      current 
            DESCRIPTION 
                "Indicates the PW type (i.e. the carried service). 
                 Options:
                 1. other(0)
                 2. frameRelayDlci(1)
                 3. atmAal5SduVcc(2)
                 4. atmTransparent(3)
                 5. ethernetTagged(4)
                 6. ethernet(5)
                 7. hdlc(6)
                 8. ppp(7)
                 9. cem(8)
                 10.atmCellNto1Vcc(9)
                 11.atmCellNto1Vpc(10)
                 12.ipLayer2Transport(11)
                 13.atmCell1to1Vcc(12)
                 14.atmCell1to1Vpc(13)
                 15.atmAal5PduVcc(14)
                 16.frameRelayPortMode(15)
                 17.cep(16)
                 18.e1Satop(17)
                 19.t1Satop(18)
                 20.e3Satop(19)
                 21.t3Satop(20)
                 22.basicCesPsn(21)
                 23.basicTdmIp(22)
                 24.tdmCasCesPsn(23)
                 25.tdmCasTdmIp(24)             
                " 
            SYNTAX   INTEGER { 
                other(0), 
                frameRelayDlci(1), 
                atmAal5SduVcc(2), 
                atmTransparent(3), 
                ethernetTagged(4), 
                ethernet(5), 
                hdlc(6), 
                ppp(7), 
                cem(8),  -- old format 
                atmCellNto1Vcc(9), 
                atmCellNto1Vpc(10), 
                ipLayer2Transport(11), 
                atmCell1to1Vcc(12), 
                atmCell1to1Vpc(13), 
                atmAal5PduVcc(14), 
                frameRelayPortMode(15), 
                cep(16), 
                e1Satop(17), 
                t1Satop(18), 
                e3Satop(19), 
                t3Satop(20), 
                basicCesPsn(21), 
                basicTdmIp(22), 
                tdmCasCesPsn(23), 
                tdmCasTdmIp(24) 
            }       
   
        PwVcAttachmentIdentifierType ::= TEXTUAL-CONVENTION 
            STATUS      current 
            DESCRIPTION 
                "An octet string used in the generalized FEC element for 
                 identifying attachment forwarder and groups. The NULL  
                 identifier is of zero length. 
                " 
            SYNTAX    OCTET STRING (SIZE (0..255)) 
   
        PwVcCwStatus ::= TEXTUAL-CONVENTION 
            STATUS      current 
            DESCRIPTION 
                "Indicates the status of the control word negotiation based 
                 on the local configuration and the indications received from 
                 the peer node.   
                 Options:
                 1. waitingForNextMsg(1)               -indicates that the node is waiting for another 
                                                        label mapping from the remote
                 2. sentWrongBitErrorCode(2)           -indicates that the local node has notified the 
                                                        peer about mismatch in the C bit
                 3. rxWithdrawWithWrongBitErrorCode(3) -indicates that a withdraw message has been 
                                                        received with the wrong C-bit error code
                 4. illegalReceivedBit(4)              -indicates a C bit configuration with the remote 
                                                        which is not compatible with the PW type
                 5. cwPresent(5)                       -indicates that the CW is present for this PW: 
                                                        if signaling is used - C bit is set and agreed 
                                                        between the peers, and for manual configured 
                                                        PW the local configuration require the use of 
                                                        the CW
                 6. cwNotPresent(6)                    -indicates that the CW is not present for this 
                                                        PW: if signaling is used - C bit is reset and 
                                                        agreed between the peers, and for manual 
                                                        configured PW the local configuration requires 
                                                        that CW would not be used
                 7. notYetKnown(7)                     -indicate that a label mapping has not yet 
                                                        received from the peer
                "
            SYNTAX    INTEGER { 
                waitingForNextMsg (1), 
                sentWrongBitErrorCode (2), 
                rxWithdrawWithWrongBitErrorCode (3), 
                illegalReceivedBit (4), 
                cwPresent (5), 
                cwNotPresent (6), 
                notYetKnown(7) 
            } 
   
        PwVcCapabilities ::= TEXTUAL-CONVENTION 
            STATUS      current 
            DESCRIPTION 
                "Indicates the optional capabilities of the control protocol. 
                 A value of zero indicates the basic LDP PW signaling.  
                 Values may be added in the future based on new capabilities  
                 introduced in IETF documents. 
                " 
            SYNTAX   BITS { 
                pwStatusIndication (0) 
            }       
   
        PwVcStatus ::= TEXTUAL-CONVENTION 
            STATUS      current 
            DESCRIPTION 
                "The status of the PW and the interfaces affecting this PW. 
                 If none of the bits are set, it indicate no faults are  
                 reported. 
                " 
            SYNTAX   BITS { 
                pwNotForwarding (0), 
                customerFacingPwRxFault (1), 
                customerFacingPwTxFault (2), 
                psnFacingPwRxFault  (3), 
                psnFacingPwTxFault  (4) 
            }       
   
        PwVcFragSize ::= TEXTUAL-CONVENTION 
            STATUS      current 
            DESCRIPTION 
                "If set to value other than zero, it indicates desired  
                 fragmentation to the value set. If set to zero,  
                 fragmentation is not desired for PSN bound packets.  
                " 
            SYNTAX   Unsigned32  
   
        PwVcFragStatus ::= TEXTUAL-CONVENTION 
            STATUS      current 
            DESCRIPTION 
                "The status of the fragmentation process based on local  
                 configuration and the remote capability. 
   
                 noFrag(0) bit indicates that local configuration is for no 
                 fragmentation. 
   
                 cfgFragGreaterThanPsnMtu(1) bit indicates the local desire 
                 to fragment, but the fragmentation size desired is greater  
                 than the MTU available at the PSN between peers.  
                 Fragmentation is not done in this case. 
          
                 cfgFragButRemoteIncapable(2) bit indicates that the local  
                 configuration indicates the desire for fragmentation but  
                 the remote is not capable of fragmentation. 
   
                 cfgFragFcsLengthMismatch(3) bit indicates that there is a  
                 mismatch between the FCS size between the local  
                 configuration and the remote configuration. 
   
                 fragEnabled(4) bit indicates that both the local was  
                 configured for fragmentation and the remote has the  
                 cabability to accept fragmented packets, and the FCS size is 
                 equal in both peers. 
                " 
        SYNTAX   BITS { 
            noFrag (0), 
            cfgFragGreaterThanPsnMtu (1), 
            cfgFragButRemoteIncapable (2), 
            remoteFragCapable (3), 
            fragEnabled (4) 
        }       
   
    END 
