-- =================================================================
-- Copyright (C) 2008 by HUAWEI TECHNOLOGIES. All rights reserved
-- 
-- Description: This MIB defines all the objects that containing VPLS tunnel information.
-- Reference: rfc4001
-- Version: V1.00
-- History:
--         V1.0 Rengaofeng, 2008-12-11, publish
-- =================================================================

 HUAWEI-VPLS-TNL-MIB DEFINITIONS ::= BEGIN
 
  IMPORTS
   hwDatacomm   
    FROM HUAWEI-MIB   
   InterfaceIndex   
    FROM IF-MIB   
   OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP   
    FROM SNMPv2-CONF   
   IpAddress, Integer32, Unsigned32, Counter64, OBJECT-TYPE, MODULE-IDENTITY, 
   NOTIFICATION-TYPE  
    FROM SNMPv2-SMI   
   DisplayString, RowStatus, TruthValue, TEXTUAL-CONVENTION   
    FROM SNMPv2-TC;

 
  hwL2VpnVplsTnlExt MODULE-IDENTITY 
   LAST-UPDATED "200812151925Z"  -- Dec 15, 2008 at 19:25 GMT
   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 defines all the objects that containing VPLS tunnel information."
   ::= { hwL2Vpn 6 }
  
--
-- Node definitions
-- 
   hwL2Vpn OBJECT IDENTIFIER ::= { hwDatacomm 119 }
  
--         
-- The VPLS Attribute Group
-- 
   hwVplsTunnelMIBObjects OBJECT IDENTIFIER ::= { hwL2VpnVplsTnlExt 1 }

-- Textual Conventions.

-- 
-- ======================= definition begin =========================

-- hwVPLSTNL OBJECT IDENTIFIER ::= { hwU2000 1 }        
      
--  ============== hwVplsTunnelTable  define beginning ==============
   hwVplsTunnelTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwVplsTunnelEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
             "Information about VPLS PW Tunnel. This object is used 
             to get VPLS PW tunnel table."  
            ::= { hwVplsTunnelMIBObjects 1 }
   
   -- hwVplsTunnelEntry 
   hwVplsTunnelEntry OBJECT-TYPE
            SYNTAX HwVplsTunnelEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
             "It is  used to get detailed tunnel information."
            INDEX { hwVplsVsiName, hwVplsNexthopPeer, hwVplsSiteOrPwId, hwVplsPeerTnlId}
            ::= { hwVplsTunnelTable 1 }
     
   -- hwVplsTunnelEntry  
   HwVplsTunnelEntry ::=              
    SEQUENCE { 
     hwVplsVsiName
      DisplayString, 
     hwVplsNexthopPeer   
      IpAddress,
     hwVplsSiteOrPwId
      Unsigned32,                    
     hwVplsPeerTnlId
      Unsigned32,
     hwVplsTnlName
      OCTET STRING, 
     hwVplsTnlType
      INTEGER,
     hwVplsTnlSrcAddress
      IpAddress,
     hwVplsTnlDestAddress
      IpAddress,
     hwVplsLspIndex 
       Integer32, 
     hwVplsLspOutIf
      OCTET STRING,
     hwVplsLspOutLabel
      Integer32,
     hwVplsLspNextHop
       IpAddress,
     hwVplsLspFec
      IpAddress, 
     hwVplsLspFecPfxLen
      Integer32,
     hwVplsLspIsBackup
      TruthValue,
     hwVplsIsBalance
      TruthValue,
     hwVplsLspTunnelId
      Integer32,
     hwVplsLspSignType
      INTEGER,
     hwVplsTnlRowStatus
      RowStatus 
    }    


    hwVplsVsiName OBJECT-TYPE
           SYNTAX DisplayString (SIZE (1..31))
           MAX-ACCESS    not-accessible
           STATUS        current
           DESCRIPTION
              "The name of this VPLS instance."
           ::= { hwVplsTunnelEntry 1 }  
           

    hwVplsNexthopPeer OBJECT-TYPE 
           SYNTAX IpAddress
           MAX-ACCESS not-accessible
           STATUS current
           DESCRIPTION
            "The ip address of the peer PE."
           ::= { hwVplsTunnelEntry 2 }   

  
    hwVplsSiteOrPwId OBJECT-TYPE
           SYNTAX   Unsigned32
           MAX-ACCESS not-accessible
           STATUS current
           DESCRIPTION
            "Remote Site ID for BGP Mode, or PW id for LDP Mode"
           ::= { hwVplsTunnelEntry 3 }  
                             

    hwVplsPeerTnlId OBJECT-TYPE
           SYNTAX   Unsigned32
           MAX-ACCESS not-accessible
           STATUS current
           DESCRIPTION
            "The Tunnel ID."
           ::= { hwVplsTunnelEntry 4 } 


    hwVplsTnlName OBJECT-TYPE
           SYNTAX OCTET STRING
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "The name of this Tunnel."
           ::= { hwVplsTunnelEntry 5 }           
              

    hwVplsTnlType OBJECT-TYPE
           SYNTAX INTEGER
           {
                lsp(1),
                crlsp(2),
                other(3)
           }
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "The type of this Tunnel. e.g. LSP/GRE/CR-LSP..."
           ::= { hwVplsTunnelEntry 6 }
           

    hwVplsTnlSrcAddress OBJECT-TYPE
           SYNTAX IpAddress 
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "The source ip address of this tunnel."   
           ::= { hwVplsTunnelEntry 7 }

    hwVplsTnlDestAddress OBJECT-TYPE
           SYNTAX IpAddress 
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "The destination ip address of this tunnel."   
           ::= { hwVplsTunnelEntry 8 } 
       
    hwVplsLspIndex OBJECT-TYPE
           SYNTAX Integer32
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "The index of lsp."
           ::= { hwVplsTunnelEntry 9 } 
           
    hwVplsLspOutIf OBJECT-TYPE
           SYNTAX OCTET STRING
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "The out-interface of lsp."
           ::= { hwVplsTunnelEntry 10 }
           
    hwVplsLspOutLabel OBJECT-TYPE
           SYNTAX Integer32 (0..2147483647)
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "The out-label of lsp."
           ::= { hwVplsTunnelEntry 11 }
           
    hwVplsLspNextHop OBJECT-TYPE
           SYNTAX IpAddress
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "The next-hop of lsp."
           ::= { hwVplsTunnelEntry 12 }                       
           
    hwVplsLspFec OBJECT-TYPE
           SYNTAX IpAddress 
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "The Fec of lsp."   
           ::= { hwVplsTunnelEntry 13 } 
           
    hwVplsLspFecPfxLen OBJECT-TYPE
           SYNTAX Integer32
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "The length of mask for hwVplsLspFec."  
           ::= { hwVplsTunnelEntry 14 } 

    hwVplsLspIsBackup OBJECT-TYPE
           SYNTAX TruthValue
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "Indicate whether the lsp is main."   
           ::= { hwVplsTunnelEntry 15 }

    hwVplsIsBalance OBJECT-TYPE
           SYNTAX TruthValue
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "Property of Balance. Rerurn True if Tunnel-Policy is configed."   
           ::= { hwVplsTunnelEntry 16 } 
           
    hwVplsLspTunnelId OBJECT-TYPE
           SYNTAX Integer32
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "This object indicates the tunnel ID of the tunnel interface."   
           ::= { hwVplsTunnelEntry 17 }
           
    hwVplsLspSignType OBJECT-TYPE
           SYNTAX INTEGER
           {
                ldp(1),
                crLdp(2),
                rsvp(3),
                bgp(4),
                l3vpn(5),
                static(6),
                crStatic(7),
                bgpIpv6(8),
                staticHa(9),
                l2vpnIpv6(10),
                maxSignal(20)
           }
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
            "This object indicates the signaling protocol of the tunnel."   
           ::= { hwVplsTunnelEntry 18 }

    hwVplsTnlRowStatus OBJECT-TYPE
           SYNTAX RowStatus
           MAX-ACCESS read-create
           STATUS current
           DESCRIPTION
            "The operating state of the row."
           ::= { hwVplsTunnelEntry 50}
           
   --  ============== hwVplsTnlInfoTable  define end ==============    
   
--           
--  MIB Trap Definitions
-- 
        hwVplsTunnelMIBTraps OBJECT IDENTIFIER ::= { hwL2VpnVplsTnlExt 2 }
           
--    Conformance information
-- 
        hwVplsTunnelMIBConformance OBJECT IDENTIFIER ::= { hwL2VpnVplsTnlExt 3 }

        hwVplsTunnelMIBCompliances OBJECT IDENTIFIER ::= { hwVplsTunnelMIBConformance 1 }
        
--  MIB Compliance Definitions
        hwVplsTunnelMIBCompliance MODULE-COMPLIANCE
            STATUS current
            DESCRIPTION 
                "The compliance statement for systems supporting 
                the HUAWEI-VPLS-TNL-MIB."
            MODULE -- this module
                MANDATORY-GROUPS { hwVplsTunnelGroup }
            ::= { hwVplsTunnelMIBCompliances 1 }

--  MIB Group Definitions        
        hwVplsTunnelMIBGroups OBJECT IDENTIFIER ::= { hwVplsTunnelMIBConformance 2 }
        
        hwVplsTunnelGroup OBJECT-GROUP
            OBJECTS { hwVplsTnlName, hwVplsTnlType, hwVplsTnlSrcAddress, hwVplsTnlDestAddress, hwVplsLspOutIf, 
            hwVplsLspOutLabel, hwVplsLspNextHop, hwVplsLspFec, hwVplsLspFecPfxLen, hwVplsLspIsBackup, hwVplsIsBalance, hwVplsLspTunnelId, hwVplsLspSignType, hwVplsTnlRowStatus }
            STATUS current
            DESCRIPTION 
                "The VPLS tunnel group."
            ::= { hwVplsTunnelMIBGroups 1 }
   
    END 
