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

QTECH-ACL-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Integer32,
        Unsigned32,
        IpAddress
                FROM SNMPv2-SMI
        TruthValue,
        DisplayString,
        RowStatus,
        MacAddress
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        IfIndex,
        ConfigStatus
                FROM QTECH-TC        
        qtechMgmt
                FROM QTECH-SMI;

qtechAclMIB 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 acl mibs."
        REVISION      "200203200000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { qtechMgmt 17}

--ACLNO ::= TEXTUAL-CONVENTION
--    STATUS current
--    DESCRIPTION
--        " Serial number of Access control list entry, Access control list entry of 
--          bigger ACL number will have  higher implement priority. One ACL number 
--          corresponding to only one entry."
--    SYNTAX      INTEGER

-- Access control list
qtechAclMIBObjects OBJECT IDENTIFIER ::= { qtechAclMIB 1 }


qtechAclTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechAclEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "A table of acl request entries."
        ::= { qtechAclMIBObjects 1 }
    
qtechAclEntry OBJECT-TYPE
        SYNTAX QtechAclEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entry contains acl name and mode."  
        INDEX { qtechAclName }
        ::= { qtechAclTable 1 }
        
QtechAclEntry ::= 
        SEQUENCE {
                qtechAclName DisplayString,
                qtechAclMode INTEGER,
                qtechAclEntryStatus ConfigStatus
        } 
           
qtechAclName OBJECT-TYPE
        SYNTAX DisplayString(SIZE (1..32))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Access list name of this entry.This value is unique for every entry
            When this string be used as an index,Value of a sub-identifier equal 
            ASCII value of corresponding character(first sub-identifier corresponds
            first character of string). The number of sub-identifiers of this string
            must be 32,If length of string is less than 32 the sub-identifier(0x0) 
            will be filled in tail."
        ::= { qtechAclEntry  1 }
                
qtechAclMode OBJECT-TYPE
        SYNTAX INTEGER{
               acl-ip-standard(1),   
               acl-ip-extended(2),   
               acl-mac-extended(3),  
               acl-expert(4), 
               acl-ipv6-extended(5)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
               " Config mode of this ACL"
        ::= { qtechAclEntry 2 }    

qtechAclEntryStatus OBJECT-TYPE
        SYNTAX ConfigStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Status of this entry, set its value to invalid will delete this entry.
            set its value to valid has no effect."
        ::= { qtechAclEntry 3 }

--qtechAceTable OBJECT-TYPEV
--        SYNTAX SEQUENCE OF QtechAceEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--               "A table of ACE request entries."
--        ::= { qtechAclMIBObjects 2 } this OID is obsolete
    
--qtechAceEntry OBJECT-TYPE
--        SYNTAX QtechAceEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--                "Entry contains ace parameters and results.
--                
--                A management station wishing to create an entry should
--                first generate a pseudo-random serial number to be used
--                as the index to a ace entry of a acl.  The station should
--                then create the associated entry.
--                
--                We must set all specifies valid values for the 
--                non-defaulted configuration objects, certainly, it should
--                also modify  the default values for the other configuration 
--                objects if the defaults are not appropriate.
--                                       
--                Once the appropriate instance of all the configuration
--                objects have been created or set,the row status should be set
--                to active to initiate the request."  
--        INDEX { qtechAceAclName,qtechAceIndex }
--        ::= { qtechAceTable 1 }
--        
--QtechAceEntry ::= 
--        SEQUENCE {
--                qtechAceAclName DisplayString,
--                qtechAceIndex Integer32,
--                qtechAceIfAnyVID TruthValue,
--                qtechAceVID Unsigned32,
--                qtechAceIfAnySourceIp TruthValue,
--                qtechAceSourceIp IpAddress,
--                qtechAceIfAnySourceWildCard TruthValue,
--                qtechAceSourceWildCard IpAddress,
--                qtechAceIfAnySourceMacAddr TruthValue,
--                qtechAceSourceMacAddr MacAddress,
--                qtechAceIfAnyDestIp TruthValue,
--                qtechAceDestIp IpAddress,
--                qtechAceIfAnyDestWildCard TruthValue,
--                qtechAceDestIpWildCard IpAddress,
--                qtechAceIfAnyDestMacAddr TruthValue,
--                qtechAceDestMacAddr MacAddress,
--                qtechAceIfAnyEtherLikeType TruthValue,
--                qtechAceEtherLikeType Integer32,
--                qtechAceIfAnyIpProtocolField TruthValue,
--                qtechAceIpProtocolField Integer32,
--                qtechAceIfAnySourceProtocolPort TruthValue,
--                qtechAceSourceProtocolPort Integer32,
--                qtechAceIfAnyDestProtocolPort TruthValue,
--                qtechAceDestProtocolPort Integer32,
--                qtechAceIfAnyProtocolType TruthValue,
--                qtechAceProtocolType Integer32,
--                qtechAceFlowAction INTEGER,
--                qtechAceEntryStauts RowStatus,
--                qtechAceTimeRangeName DisplayString
--        }
--
--qtechAceAclName OBJECT-TYPE
--        SYNTAX DisplayString(SIZE (1..32))
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--            "Access list name of this ace belong to.
--            When this string be used as an index,Value of a sub-identifier equal 
--            ASCII value of corresponding character(first sub-identifier corresponds
--            first character of string). The number of sub-identifiers of this string
--            must be 32,If length of string is less than 32 the sub-identifier(0x0) 
--            will be filled in tail."
--        ::= { qtechAceEntry  1 }
--
--qtechAceIndex OBJECT-TYPE
--        SYNTAX Integer32(1..2147483647)
--        MAX-ACCESS read-only
--        STATUS current
--        DESCRIPTION
--               "Object which specifies a unique entry in the
--                qtechAclTable.  A management station wishing
--                to initiate a acl operation should use a
--                pseudo-random value for this object when creating
--                or modifying an instance of a qtechAclEntry.
--                The RowStatus semantics of the qtechAclEntryStatus
--                object will prevent access conflicts."
--        ::= { qtechAceEntry 2 }
--   
--qtechAceIfAnyVID OBJECT-TYPE
--        SYNTAX TruthValue
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "VID of class will not be checked if this value is true."
--        DEFVAL{ true }
--        ::= { qtechAceEntry 3 }
--   
--qtechAceVID OBJECT-TYPE
--        SYNTAX Unsigned32(0..4094)
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "VID of Ace flow definition."
--        ::= { qtechAceEntry 4 }
--    
--qtechAceIfAnySourceIp OBJECT-TYPE
--        SYNTAX TruthValue
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Source Ip of class will not be checked if this value is true."
--        DEFVAL{ true }
--        ::= { qtechAceEntry 5 }
--            
--qtechAceSourceIp OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Sourece ip address of Ace flow definition."
--        ::= { qtechAceEntry 6 }
--
--qtechAceIfAnySourceWildCard OBJECT-TYPE
--        SYNTAX TruthValue
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Source Ip wild card of class will not be checked if this value is true."
--        DEFVAL{ true }
--        ::= { qtechAceEntry 7 }
--                
--qtechAceSourceWildCard OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Sourece ip wild card(in reverse ip address mask)of Ace flow definition."
--        ::= { qtechAceEntry 8 }        
--
--qtechAceIfAnySourceMacAddr OBJECT-TYPE
--        SYNTAX TruthValue
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Source mac address of class will not be checked if this value is true."
--        DEFVAL{ true }
--        ::= { qtechAceEntry 9 }
--                
--qtechAceSourceMacAddr OBJECT-TYPE
--        SYNTAX MacAddress
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Sourece Mac address of Ace flow definition."
--        ::= { qtechAceEntry 10 }                
-- 
--qtechAceIfAnyDestIp OBJECT-TYPE
--        SYNTAX TruthValue
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Destination Ip wild card of class will not be checked if this value is true."
--        DEFVAL{ true }
--        ::= { qtechAceEntry 11 }
--         
--qtechAceDestIp OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Destination ip address of Ace flow definition."
--        ::= { qtechAceEntry 12 }
--
--qtechAceIfAnyDestWildCard OBJECT-TYPE
--        SYNTAX TruthValue
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Source Ip wild card of class will not be checked if this value is true."
--        DEFVAL{ true }
--        ::= { qtechAceEntry 13 }
--                
--qtechAceDestIpWildCard OBJECT-TYPE
--        SYNTAX IpAddress
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Destination ip wild card(in reverse ip address mask) of Ace flow definition."
--        ::= { qtechAceEntry 14 }        
--
--qtechAceIfAnyDestMacAddr OBJECT-TYPE
--        SYNTAX TruthValue
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Source Ip wild card of class will not be checked if this value is true."
--        DEFVAL{ true }
--        ::= { qtechAceEntry 15 }
--                
--qtechAceDestMacAddr OBJECT-TYPE
--        SYNTAX MacAddress
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Destination Mac address of Ace flow definition."
--        ::= { qtechAceEntry 16 }
--
--qtechAceIfAnyEtherLikeType OBJECT-TYPE
--        SYNTAX TruthValue
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Ether Like Type in MAC packet will not be checked if this value is true."
--        DEFVAL{ true }
--        ::= { qtechAceEntry 17 }
--            
--qtechAceEtherLikeType OBJECT-TYPE
--        SYNTAX Integer32
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Ether Like Type in MAC packet of Ace flow definition. "
--        ::= { qtechAceEntry 18 }
--
--qtechAceIfAnyIpProtocolField OBJECT-TYPE
--        SYNTAX TruthValue
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Source Ip wild card of class will not be checked if this value is true."
--        DEFVAL{ true }
--        ::= { qtechAceEntry 19 }
--            
--qtechAceIpProtocolField OBJECT-TYPE
--        SYNTAX Integer32
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "The value of protocol field in IP packet of Ace flow definition."
--        ::= { qtechAceEntry 20 }
--      
--qtechAceIfAnySourceProtocolPort OBJECT-TYPE
--        SYNTAX TruthValue
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "The value of source protocol port in IP packet will not be checked if 
--             this value is true."
--        DEFVAL{ true }
--        ::= { qtechAceEntry 21 }
--        
--qtechAceSourceProtocolPort OBJECT-TYPE
--        SYNTAX Integer32
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "The value of source protocol port in IP packet of Ace flow definition. It is 
--             significative only to those protocol which support this field."
--        ::= { qtechAceEntry 22 }
--
--qtechAceIfAnyDestProtocolPort OBJECT-TYPE
--        SYNTAX TruthValue
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "he value of destination protocol port in IP packet will not be checked if 
--            this value is true."
--        DEFVAL{ true }
--        ::= { qtechAceEntry 23 }
--        
--qtechAceDestProtocolPort OBJECT-TYPE
--        SYNTAX Integer32
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "The value of destination protocol port in IP packet of Ace flow definition. It is 
--             significative only to those protocol which support this field(tcp,udp)."
--        ::= { qtechAceEntry 24 }        
--
--qtechAceIfAnyProtocolType OBJECT-TYPE
--        SYNTAX TruthValue
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "The value of protocol type field in IP packet will not be checked if this 
--            value is true."
--        DEFVAL{ true }
--        ::= { qtechAceEntry 25 }
--            
--qtechAceProtocolType OBJECT-TYPE
--        SYNTAX Integer32
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "The value of protocol type field in IP packet of Ace flow definition. It is 
--             significative only to those protocol which support this field(icmp,igmp)."
--        ::= { qtechAceEntry 26 }            
--                
--qtechAceFlowAction OBJECT-TYPE
--        SYNTAX INTEGER{
--               permit(1),
--               delay(2) 
--        }
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "Permit indicate that the kind of  flow which entry define will be allow to access ,
--             delay indicate that the kind of flow which entry define will be refuse to access"
--        ::= { qtechAceEntry 27 }
--    
--qtechAceEntryStauts OBJECT-TYPE
--        SYNTAX RowStatus
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--            "entry status for this list."
--        ::= { qtechAceEntry 28 }
--
--qtechAceTimeRangeName OBJECT-TYPE
--    SYNTAX      DisplayString(SIZE (0..32))
--    MAX-ACCESS  not-accessible
--    STATUS      current
--    DESCRIPTION
--        "Name of time-range of this ACE match. It indicate that 
--         this ACE doesn't match any time-range if this string is null"
--    ::= { qtechAceEntry 29 }
        

qtechAclIfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechAclIfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of ACL interface objects."
        ::= { qtechAclMIBObjects 3 }
    
qtechAclIfEntry OBJECT-TYPE
        SYNTAX QtechAclIfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Entry ACL interface information."
        INDEX { qtechAclIfIndex }
        ::= { qtechAclIfTable 1 }

QtechAclIfEntry ::=
        SEQUENCE {
            qtechAclIfIndex IfIndex,
            qtechAclIfMaxEntryNum Integer32,
            qtechAclIfCurruntEntryNum Integer32,
            qtechIfInAclName  DisplayString,
            qtechIfOutAclName DisplayString,
            qtechAclIf6MaxEntryNum Integer32,
            qtechAclIf6CurruntEntryNum Integer32,
            qtechIf6InAclName  DisplayString,
            qtechIf6OutAclName DisplayString
        }

qtechAclIfIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " "
        ::= { qtechAclIfEntry 1 }

qtechAclIfMaxEntryNum OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "Max num of ACL entry(ACE) in a interface."
        ::= { qtechAclIfEntry 2 }

qtechAclIfCurruntEntryNum OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "Currunt valid num of ACL entry(ACE) in a interface."
        ::= { qtechAclIfEntry 3 }
        
qtechIfInAclName OBJECT-TYPE
        SYNTAX DisplayString(SIZE (0..32))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Access list name of ACL of this interface match for input. 
            It indicate that this interface doesn't match any ACL for input 
            if this string is null"
        ::= { qtechAclIfEntry  4 }        
        
qtechIfOutAclName OBJECT-TYPE
        SYNTAX DisplayString(SIZE (0..32))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Access list name of ACL of this interface match for output. 
            It indicate that this interface doesn't match any ACL for output 
            if this string is null
            
            This relation function apply only L3 interface."
        ::= { qtechAclIfEntry  5 }  
        
qtechAclIf6MaxEntryNum OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "Max num of ACL6 entry(ACE) in a interface."
        ::= { qtechAclIfEntry 6 }

qtechAclIf6CurruntEntryNum OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "Currunt valid num of ACL6 entry(ACE) in a interface."
        ::= { qtechAclIfEntry 7 }
        
qtechIf6InAclName OBJECT-TYPE
        SYNTAX DisplayString(SIZE (0..32))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Access list name of ACL6 of this interface match for input. 
            It indicate that this interface doesn't match any ACL for input 
            if this string is null"
        ::= { qtechAclIfEntry  8 }        
        
qtechIf6OutAclName OBJECT-TYPE
        SYNTAX DisplayString(SIZE (0..32))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Access list name of ACL6 of this interface match for output. 
            It indicate that this interface doesn't match any ACL for output 
            if this string is null
            
            This relation function apply only L3 interface."
        ::= { qtechAclIfEntry  9 }
        
qtechAceExtTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechAceExtEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "A table of ACE request entries."
        ::= { qtechAclMIBObjects 4 }
  
qtechAceExtEntry OBJECT-TYPE
        SYNTAX QtechAceExtEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "Entry contains ace parameters and results.
                
                A management station wishing to create an entry should
                first generate a pseudo-random serial number to be used
                as the index to a ace entry of a acl.  The station should
                then create the associated entry.
                
                We must set all specifies valid values for the 
                non-defaulted configuration objects, certainly, it should
                also modify  the default values for the other configuration 
                objects if the defaults are not appropriate.
                                       
                Once the appropriate instance of all the configuration
                objects have been created or set,the row status should be set
                to active to initiate the request."  
        INDEX { qtechAceExtAclName,qtechAceExtIndex }
        ::= { qtechAceExtTable 1 }
        
QtechAceExtEntry ::= 
        SEQUENCE {
                qtechAceExtAclName DisplayString,
                qtechAceExtIndex Integer32,
                qtechAceExtIfAnyVID TruthValue,
                qtechAceExtVID Unsigned32,
                qtechAceExtIfAnySourceIp TruthValue,
                qtechAceExtSourceIp IpAddress,
                qtechAceExtIfAnySourceWildCard TruthValue,
                qtechAceExtSourceWildCard IpAddress,
                qtechAceExtIfAnySourceMacAddr TruthValue,
                qtechAceExtSourceMacAddr MacAddress,
                qtechAceExtIfAnyDestIp TruthValue,
                qtechAceExtDestIp IpAddress,
                qtechAceExtIfAnyDestWildCard TruthValue,
                qtechAceExtDestIpWildCard IpAddress,
                qtechAceExtIfAnyDestMacAddr TruthValue,
                qtechAceExtDestMacAddr MacAddress,
                qtechAceExtIfAnyEtherLikeType TruthValue,
                qtechAceExtEtherLikeType Integer32,
                qtechAceExtIfAnyIpProtocolField TruthValue,
                qtechAceExtIpProtocolField Integer32,
                qtechAceExtSourceProtocolPort Integer32,
                qtechAceExtDestProtocolPort Integer32,
                qtechAceExtIfAnyProtocolType TruthValue,
                qtechAceExtProtocolType Integer32,
                qtechAceExtFlowAction INTEGER,
                qtechAceExtEntryStauts RowStatus,
                qtechAceExtTimeRangeName DisplayString,
                qtechAceExtSourcePortOp INTEGER,
                qtechAceExtSourceProtocolPortRange Integer32,
                qtechAceExtDestPortOp INTEGER,
                qtechAceExtDestProtocolPortRange Integer32,
                qtechAceExtIfAnyCos TruthValue,
                qtechAceExtCos Integer32,
                qtechAceExtIfAnyIpPrec TruthValue,
                qtechAceExtIpPrec Integer32,
                qtechAceExtIfAnyDscp TruthValue,
                qtechAceExtDscp Integer32,
                qtechAceExtIfAnySourceMacAddrWildCard TruthValue,
                qtechAceExtSourceMacAddrWildCard MacAddress,
                qtechAceExtIfAnyDestMacAddrWildCard TruthValue,
                qtechAceExtDestMacAddrWildCard MacAddress,
                qtechAceExtIfAnyTcpFlag TruthValue,
                qtechAceExtTcpFlag Integer32,
                qtechAceExtIfAnySourceIp6 TruthValue,
                qtechAceExtSourceIp6 OCTET STRING,
                qtechAceExtIfAnySourceIp6WildCard TruthValue,
                qtechAceExtSourceIp6WildCard OCTET STRING,
                qtechAceExtIfAnyDestIp6 TruthValue,
                qtechAceExtDestIp6 OCTET STRING,
                qtechAceExtIfAnyDestIp6WildCard TruthValue,
                qtechAceExtDestIp6WildCard OCTET STRING
        }

qtechAceExtAclName OBJECT-TYPE
        SYNTAX DisplayString(SIZE (1..32))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Access list name of this ace belong to.
            When this string be used as an index,Value of a sub-identifier equal 
            ASCII value of corresponding character(first sub-identifier corresponds
            first character of string). The number of sub-identifiers of this string
            must be 32,If length of string is less than 32 the sub-identifier(0x0) 
            will be filled in tail."
        ::= { qtechAceExtEntry  1 }

qtechAceExtIndex OBJECT-TYPE
        SYNTAX Integer32(1..2147483647)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "Object which specifies a unique entry in the
                qtechAclTable.  A management station wishing
                to initiate a acl operation should use a
                pseudo-random value for this object when creating
                or modifying an instance of a qtechAclEntry.
                The RowStatus semantics of the qtechAclEntryStatus
                object will prevent access conflicts."
        ::= { qtechAceExtEntry 2 }
   
qtechAceExtIfAnyVID OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "VID of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 3 }
   
qtechAceExtVID OBJECT-TYPE
        SYNTAX Unsigned32(0..4094)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "VID of Ace flow definition."
        ::= { qtechAceExtEntry 4 }
    
qtechAceExtIfAnySourceIp OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Source Ip of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 5 }
            
qtechAceExtSourceIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Sourece ip address of Ace flow definition."
        ::= { qtechAceExtEntry 6 }

qtechAceExtIfAnySourceWildCard OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Source Ip wild card of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 7 }
                
qtechAceExtSourceWildCard OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Sourece ip wild card(in reverse ip address mask)of Ace flow definition."
        ::= { qtechAceExtEntry 8 }        

qtechAceExtIfAnySourceMacAddr OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Source mac address of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 9 }
                
qtechAceExtSourceMacAddr OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Sourece Mac address of Ace flow definition."
        ::= { qtechAceExtEntry 10 }                
 
qtechAceExtIfAnyDestIp OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Destination Ip wild card of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 11 }
         
qtechAceExtDestIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Destination ip address of Ace flow definition."
        ::= { qtechAceExtEntry 12 }

qtechAceExtIfAnyDestWildCard OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Source Ip wild card of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 13 }
                
qtechAceExtDestIpWildCard OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Destination ip wild card(in reverse ip address mask) of Ace flow definition."
        ::= { qtechAceExtEntry 14 }        

qtechAceExtIfAnyDestMacAddr OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Source Ip wild card of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 15 }
                
qtechAceExtDestMacAddr OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Destination Mac address of Ace flow definition."
        ::= { qtechAceExtEntry 16 }

qtechAceExtIfAnyEtherLikeType OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Ether Like Type in MAC packet will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 17 }
            
qtechAceExtEtherLikeType OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Ether Like Type in MAC packet of Ace flow definition. "
        ::= { qtechAceExtEntry 18 }

qtechAceExtIfAnyIpProtocolField OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Source Ip wild card of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 19 }
            
qtechAceExtIpProtocolField OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The value of protocol field in IP packet of Ace flow definition."
        ::= { qtechAceExtEntry 20 }
      
qtechAceExtSourceProtocolPort OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The value of source protocol port in IP packet of Ace flow definition. It is 
             significative only to those protocol which support this field."
        ::= { qtechAceExtEntry 21 }

qtechAceExtDestProtocolPort OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The value of destination protocol port in IP packet of Ace flow definition. It is 
             significative only to those protocol which support this field(tcp,udp)."
        ::= { qtechAceExtEntry 22 }        

qtechAceExtIfAnyProtocolType OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The value of protocol type field in IP packet will not be checked if this 
            value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 23 }
            
qtechAceExtProtocolType OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The value of protocol type field in IP packet of Ace flow definition. It is 
             significative only to those protocol which support this field(icmp,igmp)."
        ::= { qtechAceExtEntry 24 }            
                
qtechAceExtFlowAction OBJECT-TYPE
        SYNTAX INTEGER{
               permit(1),
               deny(2) 
        }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Permit indicate that the kind of  flow which entry define will be allow to access ,
             deny indicate that the kind of flow which entry define will be refuse to access"
        ::= { qtechAceExtEntry 25 }
    
qtechAceExtEntryStauts OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "entry status for this list."
        ::= { qtechAceExtEntry 26 }

qtechAceExtTimeRangeName OBJECT-TYPE
    SYNTAX      DisplayString(SIZE (0..32))
    MAX-ACCESS  read-write 
    STATUS      current
    DESCRIPTION
        "Name of time-range of this ACE match. It indicate that 
         this ACE doesn't match any time-range if this string is null"
    ::= { qtechAceExtEntry 27 }

qtechAceExtSourcePortOp OBJECT-TYPE
        SYNTAX	 INTEGER {
               noOperator(1), 
               lt(2), 
               gt(3),
               eq(4), 
               neq(5), 
               range(6) 
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "noOperator(1), which is the default value, means that no
             comparison is to be made with the Source TCP/UDP port
             number.
             lt(2) means less than.
             gt(3) means greater than.
             eq(4) means equal. 
             neq(5) means not equal." 
        ::= { qtechAceExtEntry 28 }

qtechAceExtSourceProtocolPortRange OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The ending value of source protocol port in IP packet of Ace flow definition. It is 
             significative only to those protocol which support this field. The qtechAceExtSourcePortOp
             must set to range(6)."
        ::= { qtechAceExtEntry 29 }

qtechAceExtDestPortOp OBJECT-TYPE
        SYNTAX	 INTEGER {
               noOperator(1), 
               lt(2), 
               gt(3),
               eq(4), 
               neq(5), 
               range(6) 
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "noOperator(1), which is the default value, means that no
             comparison is to be made with the Dest TCP/UDP port
             number.
             lt(2) means less than.
             gt(3) means greater than.
             eq(4) means equal. 
             neq(5) means not equal." 
        ::= { qtechAceExtEntry 30 }

qtechAceExtDestProtocolPortRange OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The ending value of dest protocol port in IP packet of Ace flow definition. It is 
             significative only to those protocol which support this field. The qtechAceExtSourcePortOp
             must set to range(6)."
        ::= { qtechAceExtEntry 31 }

qtechAceExtIfAnyCos OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Cos will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 32 }
   
qtechAceExtCos OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Cos of Ace flow definition."
        ::= { qtechAceExtEntry 33 }

qtechAceExtIfAnyIpPrec OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Ip precedence will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 34 }
   
qtechAceExtIpPrec OBJECT-TYPE
        SYNTAX Integer32 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Ip precedence of Ace flow definition."
        ::= { qtechAceExtEntry 35 }

qtechAceExtIfAnyDscp OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Dscp will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 36 }
   
qtechAceExtDscp OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Dscp of Ace flow definition."
        ::= { qtechAceExtEntry 37 }

qtechAceExtIfAnyTcpFlag OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Tcp flag will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 38 }
   
qtechAceExtTcpFlag OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Tcp flag of Ace flow definition."
        ::= { qtechAceExtEntry 39 }
        
qtechAceExtIfAnySourceMacAddrWildCard OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Source mac address wildcard of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 40 }
                
qtechAceExtSourceMacAddrWildCard OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Sourece Mac address wildcard of Ace flow definition."
        ::= { qtechAceExtEntry 41 }                

qtechAceExtIfAnyDestMacAddrWildCard OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Dest mac address wildcard of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 42 }
                
qtechAceExtDestMacAddrWildCard OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Dest Mac address wildcard of Ace flow definition."
        ::= { qtechAceExtEntry 43 }                

qtechAceExtIfAnySourceIp6 OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Source Ipv6 address of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 44 }
            
qtechAceExtSourceIp6 OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (16))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Sourece ipv6 address of Ace flow definition."
        ::= { qtechAceExtEntry 45 }

qtechAceExtIfAnySourceIp6WildCard OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Source Ipv6 address wild card of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 46 }
                
qtechAceExtSourceIp6WildCard OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (16))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Sourece ipv6 address wild card(in reverse ip address mask)of Ace flow definition."
        ::= { qtechAceExtEntry 47 }        

qtechAceExtIfAnyDestIp6 OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Dest Ipv6 address of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 48 }
            
qtechAceExtDestIp6 OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (16))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Dest ipv6 address of Ace flow definition."
        ::= { qtechAceExtEntry 49 }

qtechAceExtIfAnyDestIp6WildCard OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Dest Ipv6 address wild card of class will not be checked if this value is true."
        DEFVAL{ true }
        ::= { qtechAceExtEntry 50 }
                
qtechAceExtDestIp6WildCard OBJECT-TYPE
        SYNTAX OCTET STRING (SIZE (16))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Dest ipv6 address wild card(in reverse ip address mask)of Ace flow definition."
        ::= { qtechAceExtEntry 51 }        

-- conformance information

qtechAclMIBConformance OBJECT IDENTIFIER ::= { qtechAclMIB 2 }
qtechAclMIBCompliances OBJECT IDENTIFIER ::= { qtechAclMIBConformance 1 }
qtechAclMIBGroups      OBJECT IDENTIFIER ::= { qtechAclMIBConformance 2 }


-- compliance statements

qtechAclMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Qtech Acl MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { qtechAclMIBGroup }
        ::= { qtechAclMIBCompliances 1 }
        
        
-- units of conformance

qtechAclMIBGroup OBJECT-GROUP
        OBJECTS {
                qtechAclName,
                qtechAclMode,
                qtechAclEntryStatus,
        
                qtechAceExtAclName,
                qtechAceExtIndex,
                qtechAceExtIfAnyVID,
                qtechAceExtVID,
                qtechAceExtIfAnySourceIp,
                qtechAceExtSourceIp,
                qtechAceExtIfAnySourceWildCard,
                qtechAceExtSourceWildCard,
                qtechAceExtIfAnySourceMacAddr,
                qtechAceExtSourceMacAddr,
                qtechAceExtIfAnyDestIp,
                qtechAceExtDestIp,
                qtechAceExtIfAnyDestWildCard,
                qtechAceExtDestIpWildCard,
                qtechAceExtIfAnyDestMacAddr,
                qtechAceExtDestMacAddr,
                qtechAceExtIfAnyEtherLikeType,
                qtechAceExtEtherLikeType,
                qtechAceExtIfAnyIpProtocolField,
                qtechAceExtIpProtocolField,
                qtechAceExtSourceProtocolPort,
                qtechAceExtDestProtocolPort,
                qtechAceExtProtocolType,
                qtechAceExtProtocolType,
                qtechAceExtFlowAction,
                qtechAceExtEntryStauts,
                qtechAceExtTimeRangeName,
                qtechAceExtSourcePortOp,
                qtechAceExtSourceProtocolPortRange,
             --   qtechAceExtIfAnySourceProtocolPort,
                qtechAceExtDestPortOp,
                qtechAceExtDestProtocolPortRange,
             --   qtechAceExtIfAnyDestProtocolPort,
                qtechAceExtIfAnyCos,
                qtechAceExtCos,
                qtechAceExtIfAnyIpPrec,
                qtechAceExtIpPrec,
                qtechAceExtIfAnyDscp,
                qtechAceExtDscp,
                qtechAceExtIfAnyTcpFlag,
                qtechAceExtTcpFlag,
                qtechAceExtIfAnySourceMacAddrWildCard,
                qtechAceExtSourceMacAddrWildCard,
                qtechAceExtIfAnyDestMacAddrWildCard,
                qtechAceExtDestMacAddrWildCard,
                qtechAceExtIfAnySourceIp6,
                qtechAceExtSourceIp6,
                qtechAceExtIfAnySourceIp6WildCard,
                qtechAceExtSourceIp6WildCard,
                qtechAceExtIfAnyDestIp6,
                qtechAceExtDestIp6,
                qtechAceExtIfAnyDestIp6WildCard,
                qtechAceExtDestIp6WildCard,
                qtechAclIfIndex,
                qtechAclIfMaxEntryNum,
                qtechAclIfCurruntEntryNum,
                qtechIfInAclName,
                qtechIfOutAclName
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing acl (echo) ability to a
                Qtech agent."
        ::= { qtechAclMIBGroups 1 }        
        
END
