-- *****************************************************************
-- QTECH-AP-MIB.mib:  Qtech AP MIB file
--
-- March 2002, Wuzg
--
-- Copyright (c) 2002 by Qtech Networks Co.,Ltd.
-- All rights reserved.
-- 
-- *****************************************************************
--

QTECH-AP-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32
                FROM SNMPv2-SMI
        PortList
                FROM Q-BRIDGE-MIB
        DisplayString,
        TruthValue
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
--        ConfigStatus,
        MemberMap,
        IfIndex
                FROM QTECH-TC
        qtechMgmt
                FROM QTECH-SMI;

qtechApMIB MODULE-IDENTITY
        LAST-UPDATED "200203200000Z"
        ORGANIZATION "Qtech Networks Co.,Ltd."
        CONTACT-INFO
                " 
                Tel: 4008-111-000 

                E-mail: service@qtech.com.cn"
        DESCRIPTION
                "This module defines qtech aggregate port(AP) mibs."
        REVISION      "200203200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { qtechMgmt 7}

qtechApMIBObjects OBJECT IDENTIFIER ::= { qtechApMIB 1 }


qtechApMaxNumber OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of MAX aggregate ports this system supported."
        ::= { qtechApMIBObjects 1 }

qtechApCurrentNumber OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of current aggregate ports this system have."
        ::= { qtechApMIBObjects 2 }
    
    
qtechApPortConfigTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechApPortConfigEntry
        MAX-ACCESS not-accessible
        STATUS obsolete
        DESCRIPTION
            "aggregate port table."
        ::= { qtechApMIBObjects 3 }
    
qtechApPortConfigEntry OBJECT-TYPE
        SYNTAX QtechApPortConfigEntry
        MAX-ACCESS not-accessible
        STATUS obsolete
        DESCRIPTION
            "list of aggregate port and it's port group table."
        INDEX { qtechApPortConfigPortIndex }
        ::= { qtechApPortConfigTable 1 }
    
QtechApPortConfigEntry ::=
        SEQUENCE {
        qtechApPortConfigPortIndex IfIndex,
        qtechApPortConfigApIndex IfIndex
        }    
    
qtechApPortConfigPortIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS not-accessible
        STATUS obsolete
        DESCRIPTION
            " "
        ::= { qtechApPortConfigEntry 1 }  
        
qtechApPortConfigApIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-write
        STATUS obsolete
        DESCRIPTION
            "Set this value to 1  qtechApMaxNumber indicate that add this value
            to that aggregate port which this aggregate port must be valid. 
            It separates this port from aggregate port to set this value to 0 "
        ::= { qtechApPortConfigEntry 2 }          
    
    
qtechApTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechApEntry
        MAX-ACCESS not-accessible
        STATUS obsolete
        DESCRIPTION
            "Aggregate ports table."
        ::= { qtechApMIBObjects 4 }
    
qtechApEntry OBJECT-TYPE
        SYNTAX QtechApEntry
        MAX-ACCESS not-accessible
        STATUS obsolete
        DESCRIPTION
            "list of aggregate ports and it's distribution table."
        INDEX { qtechApIndex }
        ::= { qtechApTable 1 }
    
QtechApEntry ::=
        SEQUENCE {
        qtechApIndex IfIndex,
        qtechApMemberAction MemberMap,
        qtechApPossibleMember MemberMap, 
        qtechApMaxPtNumber Integer32
--        qtechApEntryStatus ConfigStatus
        }
    
qtechApIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS obsolete
        DESCRIPTION
            "Aggregate ports index."
        ::= { qtechApEntry 1 }
 
qtechApMemberAction OBJECT-TYPE
        SYNTAX MemberMap
        MAX-ACCESS read-only
        STATUS obsolete
        DESCRIPTION
            "Each octet in this member action map assigned to a port,
            when the octet's value is 1 indicates the port of this octect
            is in the aggregate port. and 0 indicates the port is not in the aggregate port.
            this object can be modified only when the status of this entry 
            is invalid."
        ::= { qtechApEntry 2 }

qtechApPossibleMember OBJECT-TYPE
        SYNTAX MemberMap
        MAX-ACCESS read-only
        STATUS obsolete
        DESCRIPTION
           "Each octet in this member action map assigned to a port,
            when the octet's value is 1 indicates the port of this octect
            can be set in the aggregate port. and 0 indicates the port is not 
            possible be set in the aggregate port."
        ::= { qtechApEntry 3 }
                
qtechApMaxPtNumber OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS obsolete
        DESCRIPTION
            "Max number of ports this aggregate port can include."
        ::= { qtechApEntry 4 }
                     
--qtechApEntryStatus OBJECT-TYPE
--        SYNTAX ConfigStatus
--        MAX-ACCESS read-create
--        STATUS obsolete
--        DESCRIPTION
--            "Status of this entry, set this object to valid will create a aggregate port, 
--             and set its value to invalid will delete the aggregate port of this entry."
--        ::= { qtechApEntry 5 }
        

qtechApFlowBalance OBJECT-TYPE
        SYNTAX INTEGER {
          unknown(0),
          source-mac(1),
          destination-mac(2),
          src-dest-mac(3),
          source-ip(4),
          destination-ip(5),
          src-dest-ip(6),
          src-dest-port(7),
          src-dst-ip-l4port(8),
          enhanced-profile(9),
          src-l4port(10),
          dest-l4port(11),
          src-dest-l4port(12),
          src-ip-l4port(13),
          dest-ip-l4port(14),
          src-ip-dest-l4port(15),
          dest-ip-src-l4port(16),
	  src-dest-ip-src-l4port(17),
          src-dest-ip-dest-l4port(18),
          src-ip-src-dest-l4port(19),
          dest-ip-src-dest-l4port(20)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Set the AP traffic balancing algorithm.You can choose enhanced-profile after create a Enhanced 
             mode profile"
        ::= { qtechApMIBObjects 5 }
       
-- qtechApConfigTable from the 10.3(5) was started to support.       
qtechApConfigTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechApConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Aggregate ports table."
        ::= { qtechApMIBObjects 6 }
        
qtechApConfigEntry OBJECT-TYPE
        SYNTAX QtechApConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of aggregate ports and it's distribution table."
        INDEX { qtechApConfigNumber }
        ::= { qtechApConfigTable 1 }
            
QtechApConfigEntry ::=
        SEQUENCE {
        qtechApConfigNumber Integer32,
        qtechApConfigIndex IfIndex,
        qtechApConfigMaxPtNumber Integer32,
        qtechApConfigCurrentPtNumber Integer32,
        qtechApConfigPortMember PortList,
        qtechApConfigAction Integer32
        }

qtechApConfigNumber OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Aggregate ports number.Set this value to 1  qtechApMaxNumber."
        ::= { qtechApConfigEntry 1 }
 
qtechApConfigIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Aggregate ports index."
        ::= { qtechApConfigEntry 2 }

qtechApConfigMaxPtNumber OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of MAX aggregate ports this system supported."
        ::= { qtechApConfigEntry 3 }
        
qtechApConfigCurrentPtNumber OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Number of current ports this aggregate port have."
        ::= { qtechApConfigEntry 4 }        
 
qtechApConfigPortMember OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Each octet in this member action map assigned to a port,
            when the octet's value is 1 indicates the port of this octect
            is in the aggregate port. and 0 indicates the port is not in the aggregate port.
            this object can be modified only when the status of this entry 
            is invalid."
        ::= { qtechApConfigEntry 5 }
       
qtechApConfigAction OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The value 1 to add an aggregate port, 0 to delete an aggregate port."
        ::= { qtechApConfigEntry 6 }

-- qtechApPortMemberTable from the 10.3(5) was started to support.   
qtechApPortMemberTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechApPortMemberEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Aggregate port table."
        ::= { qtechApMIBObjects 7 }
    
qtechApPortMemberEntry OBJECT-TYPE
        SYNTAX QtechApPortMemberEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of aggregate port and it's port group table."
        INDEX { qtechApPortMemberPortIndex }
        ::= { qtechApPortMemberTable 1 }
    
QtechApPortMemberEntry ::=
        SEQUENCE {
        qtechApPortMemberPortIndex IfIndex,
        qtechApPortMemberApNumber Integer32,
        qtechApPortMemberAction Integer32
        }    
  
qtechApPortMemberPortIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " a switch port index. "
        ::= { qtechApPortMemberEntry 1 }  
      
qtechApPortMemberApNumber OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Set this value to 1  qtechApMaxNumber indicate that add this value
            to that aggregate port."
        ::= { qtechApPortMemberEntry 2 }   
       
qtechApPortMemberAction OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The value 1 indcate add to an aggregate port, 0 to delete from an aggregate port."
        ::= { qtechApPortMemberEntry 3 }        

-- qtechApBalcProfName from the 10.4(3b17) was started to support.
qtechApBalcProfName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Enhanced mode profile name."
        ::= { qtechApMIBObjects 8 }

-- qtechApProfTable from the 10.4(3b17) was started to support. 
qtechApProfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechApProfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Configure the enhanced mode profile."
        ::= { qtechApMIBObjects 9 }

qtechApProfEntry OBJECT-TYPE
        SYNTAX QtechApProfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Enhanced mode profile configuration entry."
        INDEX { qtechApProfIdx }
        ::= { qtechApProfTable 1 }

QtechApProfEntry ::=
        SEQUENCE {
        qtechApProfIdx Integer32,
        qtechApProfName DisplayString,
-- L2 field
        qtechApProfL2SrcMac TruthValue,
        qtechApProfL2DestMac TruthValue,
        qtechApProfL2Pro TruthValue,
        qtechApProfL2Vlan TruthValue,
        qtechApProfL2SrcPort TruthValue,
-- Ipv4 field
        qtechApProfIpv4SrcIp TruthValue,
        qtechApProfIpv4DestIp TruthValue,
        qtechApProfIpv4Pro TruthValue,
        qtechApProfIpv4L4SrcPort TruthValue,
        qtechApProfIpv4L4DestPort TruthValue,
        qtechApProfIpv4Vlan TruthValue,
    	qtechApProfIpv4SrcPort TruthValue,
-- Ipv6 field
        qtechApProfIpv6SrcIp TruthValue,
        qtechApProfIpv6DestIp TruthValue,
        qtechApProfIpv6Pro TruthValue,
        qtechApProfIpv6L4SrcPort TruthValue,
        qtechApProfIpv6L4DestPort TruthValue,
        qtechApProfIpv6Vlan TruthValue,
        qtechApProfIpv6SrcPort TruthValue,
-- mpls field
        qtechApProfMplsTopLabel TruthValue,
        qtechApProfMpls2ndLabel TruthValue,
        qtechApProfMplsSrcIp TruthValue,
        qtechApProfMplsDestIp TruthValue,
        qtechApProfMplsVlan TruthValue,
        qtechApProfMplsSrcPort TruthValue
        }         

qtechApProfIdx OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Enhanced mode profile index."
        ::= { qtechApProfEntry 1 }  
        
qtechApProfName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Enhanced mode profile name."
        ::= { qtechApProfEntry 2 }
        
-- L2 field
qtechApProfL2SrcMac OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the source MAC address 
             of incoming layer2 packet."
        ::= { qtechApProfEntry 3 }  

qtechApProfL2DestMac OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the destination MAC address 
             of incoming layer2 packet."
        ::= { qtechApProfEntry 4 }  

qtechApProfL2Pro OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the Ethernet type
             of the incoming layer2 packet."
        ::= { qtechApProfEntry 5 }  

qtechApProfL2Vlan OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the VLAN ID
             of the incoming layer2 packet."
        ::= { qtechApProfEntry 6 }  

qtechApProfL2SrcPort OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the source port 
             of incoming layer2 packet."
        ::= { qtechApProfEntry 7 }  

-- Ipv4 field
qtechApProfIpv4SrcIp OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the source 
             IP address of incoming IPv4 packet."
        ::= { qtechApProfEntry 8 }

qtechApProfIpv4DestIp OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the destination IP 
             address of incoming IPv4 packet."
    ::= { qtechApProfEntry 9 }

qtechApProfIpv4Pro OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to protocol type
             of the incoming IPv4 packet."
        ::= { qtechApProfEntry 10 }  

qtechApProfIpv4L4SrcPort OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the L4 layer source 
             port of incoming IPv4 packet."
        ::= { qtechApProfEntry 11 } 
        
qtechApProfIpv4L4DestPort OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the L4 layer destination 
             port of incoming IPv4 packet."
        ::= { qtechApProfEntry 12 }

qtechApProfIpv4Vlan OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the VLAN ID of the 
             incoming IPv4 packet."
        ::= { qtechApProfEntry 13 } 

qtechApProfIpv4SrcPort OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the source port
             of incoming IPv4 packet."
        ::= { qtechApProfEntry 14 } 

-- IPv6 field
qtechApProfIpv6SrcIp OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the source IP 
             address of incoming IPv6 packet."
        ::= { qtechApProfEntry 15 }

qtechApProfIpv6DestIp OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the destination 
             IP address of incoming IPv6 packet."
        ::= { qtechApProfEntry 16 }

qtechApProfIpv6Pro OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to protocol type of 
             the incoming IPv6 packet."
        ::= { qtechApProfEntry 17 }  

qtechApProfIpv6L4SrcPort OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the L4 layer source 
             port of incoming IPv6 packet."
        ::= { qtechApProfEntry 18 } 
        
qtechApProfIpv6L4DestPort OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the L4 layer destination 
             port of incoming IPv6 packet."
        ::= { qtechApProfEntry 19 } 

qtechApProfIpv6Vlan OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the VLAN ID of the 
             incoming IPv6 packet."
        ::= { qtechApProfEntry 20 } 

qtechApProfIpv6SrcPort OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the source port of 
             incoming IPv6 packet."
        ::= { qtechApProfEntry 21 } 

-- mpls field
qtechApProfMplsTopLabel OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the top-label of the 
             incoming mpls packet."
        ::= { qtechApProfEntry 22 } 

qtechApProfMpls2ndLabel OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the 2nd-label of the 
             incoming mpls packet."
        ::= { qtechApProfEntry 23 } 

qtechApProfMplsSrcIp OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the source IP address 
             of incoming mpls packet."
        ::= { qtechApProfEntry 24 } 

qtechApProfMplsDestIp OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the destination IP address 
             of incoming mpls packet."
        ::= { qtechApProfEntry 25 } 

qtechApProfMplsVlan OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the VLAN ID of the incoming mpls packet."
        ::= { qtechApProfEntry 26 } 

qtechApProfMplsSrcPort OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Perform traffic balancing distribution according to the source port of incoming mpls packet."
        ::= { qtechApProfEntry 27 }
        
qtechApMIBConformance OBJECT IDENTIFIER ::= { qtechApMIB 2 }
qtechApMIBCompliances OBJECT IDENTIFIER ::= { qtechApMIBConformance 1 }
qtechApMIBGroups      OBJECT IDENTIFIER ::= { qtechApMIBConformance 2 }


-- compliance statements

qtechApMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Qtech Ap MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { qtechApMIBGroup
                 }
        ::= { qtechApMIBCompliances 1 }
                
-- units of conformance

qtechApMIBGroup OBJECT-GROUP
        OBJECTS {
           qtechApMaxNumber,
           qtechApCurrentNumber,
           qtechApPortConfigApIndex,
           qtechApIndex,
           qtechApMemberAction,
           qtechApMaxPtNumber,
           qtechApFlowBalance,          
--           qtechApEntryStatus,
           qtechApConfigNumber,
           qtechApConfigIndex,
           qtechApConfigMaxPtNumber,           
           qtechApConfigCurrentPtNumber,
           qtechApConfigPortMember,
           qtechApConfigAction, 
           qtechApPortMemberPortIndex,
           qtechApPortMemberApNumber,
           qtechApPortMemberAction,
           qtechApProfL2SrcMac,
           qtechApProfL2DestMac,
           qtechApProfL2Pro,
           qtechApProfL2Vlan,
           qtechApProfL2SrcPort,
           qtechApProfIpv4SrcIp,
           qtechApProfIpv4DestIp,
           qtechApProfIpv4Pro,
           qtechApProfIpv4L4SrcPort,
           qtechApProfIpv4L4DestPort,
           qtechApProfIpv4Vlan,
           qtechApProfIpv4SrcPort,	
           qtechApProfIpv6SrcIp,
           qtechApProfIpv6DestIp,
           qtechApProfIpv6Pro,
           qtechApProfIpv6L4SrcPort,
           qtechApProfIpv6L4DestPort,
           qtechApProfIpv6Vlan,
           qtechApProfIpv6SrcPort,	
           qtechApProfMplsTopLabel,
           qtechApProfMpls2ndLabel,
           qtechApProfMplsSrcIp,
           qtechApProfMplsDestIp,
           qtechApProfMplsVlan,
           qtechApProfMplsSrcPort
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing aggregate port configure."
        ::= { qtechApMIBGroups 1 }                
        
END
