-- ===================================================================
-- Copyright (C) 2018 by HUAWEI TECHNOLOGIES. All rights reserved.
-- Description: This MIB contains private managed object and notification 
--              trap definitions for control-tunnel.
-- Reference:
-- Version: V1.01
-- ===================================================================


    HUAWEI-CONTROLTUNNEL-MIB DEFINITIONS ::= BEGIN
 
        IMPORTS
            hwDatacomm                     
                FROM HUAWEI-MIB            
            ifIndex, ifName, InterfaceIndex           
                FROM IF-MIB 
            SnmpAdminString            
                FROM SNMP-FRAMEWORK-MIB       
            MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP            
                FROM SNMPv2-CONF            
            Integer32, Unsigned32, Counter32, IpAddress, BITS, OBJECT-TYPE, 
            MODULE-IDENTITY, NOTIFICATION-TYPE            
                FROM SNMPv2-SMI
            InetAddressType, InetAddress
                FROM INET-ADDRESS-MIB
            DisplayString, TEXTUAL-CONVENTION
                FROM SNMPv2-TC;
    
    
        hwControltunnelMib MODULE-IDENTITY 
            LAST-UPDATED "201802011600Z"        -- Feb 01, 2018 at 16:00:00 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 contains private managed object and notification trap 
                definitions for control-tunnel."
	    REVISION    "201802011600Z"   
            DESCRIPTION "Modify hwControltunnelConnectionDownSubReason and hwControltunnelConnectionDownReason at 2018-02-01"
	    
            REVISION    "201801231600Z"   
            DESCRIPTION "V1.00, initial version."
    
            ::= { hwDatacomm 352 }

    
--
-- Node definitions
--
        HWControltunnelDataPathId ::= TEXTUAL-CONVENTION
            DISPLAY-HINT "1d:1d:1d:1d:1d:1d:2d"
            STATUS        current
            DESCRIPTION
                "Datapath unique ID type. The lower 48-bits are for
                a MAC address, while the upper 16-bits are
                implementer-defined."
            SYNTAX  OCTET STRING (SIZE (8))
    
        hwControltunnelObject OBJECT IDENTIFIER ::= { hwControltunnelMib 1 }
       
    	hwControltunnelGlobalInfo OBJECT IDENTIFIER ::= { hwControltunnelObject 1 }
        hwControltunnelObjects OBJECT IDENTIFIER ::= { hwControltunnelObject 2 }       

        hwControltunnelConnectionTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwControltunnelConnectionEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Basic information about control-tunnel Connection."
            ::= { hwControltunnelObjects 1 }
		
		hwControltunnelConnectionEntry OBJECT-TYPE
            SYNTAX HwControltunnelConnectionEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Basic information about control-tunnel Connection."
            REFERENCE
                ""
            INDEX {hwControltunnelIpType, hwControltunnelRemoteIp, hwControltunnelLocalIp, hwControltunnelVpnInstanceName, hwControltunnelDatapathId, hwControltunnelAuxiliaryId }
            ::= { hwControltunnelConnectionTable 1 }
        
		HwControltunnelConnectionEntry ::=
            SEQUENCE { 
                hwControltunnelIpType 
                    InetAddressType,
                hwControltunnelRemoteIp 
                    InetAddress,
                hwControltunnelLocalIp
                    InetAddress,
                hwControltunnelVpnInstanceName
                    DisplayString,
                hwControltunnelDatapathId
                    HWControltunnelDataPathId,
                hwControltunnelAuxiliaryId
                    Unsigned32,
                hwControltunnelConnectionDownSubReason
                    Unsigned32,
                hwControltunnelConnectionDownReason
                    INTEGER
             }

	    hwControltunnelIpType  OBJECT-TYPE
            SYNTAX InetAddressType
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Indicates the administrative IP type of control-tunnel  node."
            ::= { hwControltunnelConnectionEntry 1 }
			
		hwControltunnelRemoteIp  OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Indicates the administrative IP address of control-tunnel remote node."
            ::= { hwControltunnelConnectionEntry 2 }
	    
		hwControltunnelLocalIp  OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Indicates the administrative IP address of control-tunnel local node."
            ::= { hwControltunnelConnectionEntry 3 }

		hwControltunnelVpnInstanceName  OBJECT-TYPE
            SYNTAX DisplayString (SIZE (1..31))
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "This object indicates the vpn instance's name."
            ::= { hwControltunnelConnectionEntry 4 }

		hwControltunnelDatapathId  OBJECT-TYPE
            SYNTAX HWControltunnelDataPathId
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Indicates the datapath unique ID. The lower 48-bits are for
                a MAC address, while the upper 16-bits are implementer-defined."
            ::= { hwControltunnelConnectionEntry 5 }

		hwControltunnelAuxiliaryId  OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Indicates the auxiliary connection ID."
            ::= { hwControltunnelConnectionEntry 6 }
			
		hwControltunnelConnectionDownSubReason OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the detail reason of control-tunnel connection down. If no detail reason, the value of the node will be zero."
            ::= { hwControltunnelConnectionEntry 7 }
			
		hwControltunnelConnectionDownReason OBJECT-TYPE
            SYNTAX INTEGER
                {
                tcpDown(1),
                heartbeatTimeout(2),
                pduError(3),
                connectionUp(4),
                sessionDeleted(5)
                }
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object indicates the cause that the control-tunnel connection becomes down.
                 Options:
                 1. tcpDown(1)            --indicates tcp down.
                 2. heartbeatTimeout(2)   --indicates control-tunnel heartbeat timeout.
                 3. pduError(3)           --indicates control-tunnel message data is wrong.
		 4. connectionUp(4)       --indicates connection is up.
		 5. sessionDeleted(5)     --indicates control-tunnel session is deleted."
            ::= { hwControltunnelConnectionEntry 8 }	

						
        hwControltunnelTraps OBJECT IDENTIFIER ::= { hwControltunnelMib 2 }
		
	    hwControltunnelConnectionDown NOTIFICATION-TYPE
			OBJECTS { hwControltunnelIpType, hwControltunnelRemoteIp, hwControltunnelLocalIp, hwControltunnelVpnInstanceName, hwControltunnelDatapathId, hwControltunnelAuxiliaryId,
                     hwControltunnelConnectionDownSubReason, hwControltunnelConnectionDownReason }
			STATUS current
			DESCRIPTION 
               "This notification indicates that control-tunnel session changes to down."
			::= { hwControltunnelTraps 1 }
			
	    hwControltunnelConnectionDownClear NOTIFICATION-TYPE
			OBJECTS { hwControltunnelIpType, hwControltunnelRemoteIp, hwControltunnelLocalIp, hwControltunnelVpnInstanceName, hwControltunnelDatapathId, hwControltunnelAuxiliaryId,
                     hwControltunnelConnectionDownSubReason, hwControltunnelConnectionDownReason }
			STATUS current
			DESCRIPTION 
               "This notification indicates that control-tunnel session changes to up."
			::= { hwControltunnelTraps 2 }	
				    
        hwControltunnelConformance OBJECT IDENTIFIER ::= { hwControltunnelMib 3 }

        hwControltunnelCompliances OBJECT IDENTIFIER ::= { hwControltunnelConformance 1 }
	   		
	    hwControltunnelCompliance MODULE-COMPLIANCE
			STATUS current
			DESCRIPTION 
				"Compliance Channelment for agents that provide full support for hwBaseTrapMIB."
			MODULE 
				MANDATORY-GROUPS { hwControltunnelConnectionGroup }
			::= { hwControltunnelCompliances 1 }
		
		hwControltunnelGroups OBJECT IDENTIFIER ::= { hwControltunnelConformance 2 }
	    
		hwControltunnelTrapGroup NOTIFICATION-GROUP
			NOTIFICATIONS { hwControltunnelConnectionDown, hwControltunnelConnectionDownClear}
			STATUS current
			DESCRIPTION 
				"Group for all base traps."
			::= { hwControltunnelGroups 1 }
			
		hwControltunnelConnectionGroup OBJECT-GROUP
			OBJECTS { hwControltunnelIpType, hwControltunnelRemoteIp, hwControltunnelLocalIp, hwControltunnelVpnInstanceName, hwControltunnelDatapathId, hwControltunnelAuxiliaryId,
                      hwControltunnelConnectionDownSubReason, hwControltunnelConnectionDownReason }
			STATUS current
			DESCRIPTION 
				"Group for base trap objects."
			::= { hwControltunnelGroups 2 }
		

			
    END

--
-- HUAWEI-CONTROLTUNNEL-MIB.mib
--
