-- ===================================================================
-- Copyright (C) 2018 by HUAWEI TECHNOLOGIES. All rights reserved.
-- Description: This MIB contains private managed object and notification 
--              trap definitions for Control Plane & User Plane Separation Protocol.
-- Reference:
-- Version: V1.01
-- ===================================================================


    HUAWEI-CUSP-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;
    
    
        hwCuspMib MODULE-IDENTITY 
            LAST-UPDATED "201802281600Z"        -- Feb 7, 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 CUSP."

            REVISION    "201802281600Z"   
            DESCRIPTION "V1.01, modify type of hwCuspConnectionDown and hwCuspConnectionDownSubReason."

            REVISION    "201712071600Z"   
            DESCRIPTION "V1.00, initial version."
    
            ::= { hwDatacomm 351 }

    
--
-- Node definitions
--
        HWCuspDataPathId ::= 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))
    
        hwCuspObject OBJECT IDENTIFIER ::= { hwCuspMib 1 }
       
    	hwCuspGlobalInfo OBJECT IDENTIFIER ::= { hwCuspObject 1 }
        hwCuspObjects OBJECT IDENTIFIER ::= { hwCuspObject 2 }       

        hwCuspConnectionTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwCuspConnectionEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Basic information about CUSP Connection."
            ::= { hwCuspObjects 1 }
		
		hwCuspConnectionEntry OBJECT-TYPE
            SYNTAX HwCuspConnectionEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Basic information about CUSP Connection."
            REFERENCE
                ""
            INDEX {hwCuspIpType, hwCuspRemoteIp, hwCuspLocalIp, hwCuspVpnInstanceName, hwCuspDatapathId, hwCuspAuxiliaryId }
            ::= { hwCuspConnectionTable 1 }
        
		HwCuspConnectionEntry ::=
            SEQUENCE { 
                hwCuspIpType 
                    InetAddressType,
                hwCuspRemoteIp 
                    InetAddress,
                hwCuspLocalIp
                    InetAddress,
                hwCuspVpnInstanceName
                    DisplayString,
                hwCuspDatapathId
                    HWCuspDataPathId,
                hwCuspAuxiliaryId
                    Unsigned32,
                hwCuspConnectionDownSubReason
                    Unsigned32
             }

	    hwCuspIpType  OBJECT-TYPE
            SYNTAX InetAddressType
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Indicates the administrative IP type of CUSP node."
            ::= { hwCuspConnectionEntry 1 }
			
		hwCuspRemoteIp  OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Indicates the administrative IP address of CUSP remote node."
            ::= { hwCuspConnectionEntry 2 }
	    
		hwCuspLocalIp  OBJECT-TYPE
            SYNTAX InetAddress
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Indicates the administrative IP address of CUSP local node."
            ::= { hwCuspConnectionEntry 3 }

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

		hwCuspDatapathId  OBJECT-TYPE
            SYNTAX HWCuspDataPathId
            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."
            ::= { hwCuspConnectionEntry 5 }

		hwCuspAuxiliaryId  OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS accessible-for-notify
            STATUS current
            DESCRIPTION
                "Indicates the auxiliary connection ID."
            ::= { hwCuspConnectionEntry 6 }
			
		hwCuspConnectionDownSubReason OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Indicates the detail reason of CUSP connection down. If no detail reason, the value of the node will be zero."
            ::= { hwCuspConnectionEntry 7 }
						
        hwCuspTraps OBJECT IDENTIFIER ::= { hwCuspMib 2 }
		
	    hwCuspConnectionDown NOTIFICATION-TYPE
			OBJECTS { hwCuspIpType, hwCuspRemoteIp, hwCuspLocalIp, hwCuspVpnInstanceName, hwCuspDatapathId, hwCuspAuxiliaryId,
                     hwCuspConnectionDownSubReason}
			STATUS current
			DESCRIPTION 
               "This notification indicates that CUSP session changes to down."
			::= { hwCuspTraps 1 }
			
	    hwCuspConnectionDownClear NOTIFICATION-TYPE
			OBJECTS { hwCuspIpType, hwCuspRemoteIp, hwCuspLocalIp, hwCuspVpnInstanceName, hwCuspDatapathId, hwCuspAuxiliaryId,
                     hwCuspConnectionDownSubReason}
			STATUS current
			DESCRIPTION 
               "This notification indicates that CUSP session changes to up."
			::= { hwCuspTraps 2 }	
				    
        hwCuspConformance OBJECT IDENTIFIER ::= { hwCuspMib 3 }

        hwCuspCompliances OBJECT IDENTIFIER ::= { hwCuspConformance 1 }
	   		
	    hwCuspCompliance MODULE-COMPLIANCE
			STATUS current
			DESCRIPTION 
				"Compliance Channelment for agents that provide full support for hwBaseTrapMIB."
			MODULE 
				MANDATORY-GROUPS { hwCuspConnectionGroup }
			::= { hwCuspCompliances 1 }
		
		hwCuspGroups OBJECT IDENTIFIER ::= { hwCuspConformance 2 }
	    
		hwCuspTrapGroup NOTIFICATION-GROUP
			NOTIFICATIONS { hwCuspConnectionDown, hwCuspConnectionDownClear}
			STATUS current
			DESCRIPTION 
				"Group for all base traps."
			::= { hwCuspGroups 1 }
			
		hwCuspConnectionGroup OBJECT-GROUP
			OBJECTS { hwCuspIpType, hwCuspRemoteIp, hwCuspLocalIp, hwCuspVpnInstanceName, hwCuspDatapathId, hwCuspAuxiliaryId,
                      hwCuspConnectionDownSubReason}
			STATUS current
			DESCRIPTION 
				"Group for base trap objects."
			::= { hwCuspGroups 2 }
		

			
    END

--
-- HUAWEI-CUSP-MIB.mib
--
