
--------------------------------------------------------------------------
-- File Name : ZTE-AN-QOSPCL-MIB.mib
-- Date      : 2008-12-17
-- Author    : ZTE Nms dept.

--
-- Zte ACL Mib for Access Node
-- 
-- 
--------------------------------------------------------------------------

ZTE-AN-QOSPCL-MIB DEFINITIONS ::= BEGIN

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Counter32, IpAddress,
        Integer32                                             FROM SNMPv2-SMI
        MacAddress, RowStatus, DisplayString, TruthValue,
        TEXTUAL-CONVENTION                                    FROM SNMPv2-TC 
        InetAddressType, InetAddress, InetAddressPrefixLength FROM INET-ADDRESS-MIB  -- [RFC4001]        
        ifIndex                                               FROM IF-MIB
        zxAn                                                  FROM ZTE-AN-TC-MIB;

    zxAnQosPclMib MODULE-IDENTITY
        LAST-UPDATED    "200812171500Z"
        ORGANIZATION    "ZTE Corporation"
        CONTACT-INFO    "ZTE NMS dept"
        DESCRIPTION  
            "This MIB defines managed objects of ZTE Qos policy control 
            list management. "
         ::= {zxAn 26}

--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1. Global Objects
-- 2. Qos Pcl Table
-- 3. Qos Pcl Rule Table
-- 4. Traffic Limit Table
-- 5. Priority Mark Table
-- 6. Vlan Mark Table
-- 7. Qinq Table
-- 8. Redirect Table
-- 9. Traffic Mirror Table
-- 10. Perf Table
-- 11. Time Range Table
-- 12. Pcl Binding Table
-- 13. PCL Global Binding Table
-- 14. ACL Standard Rule Table
-- 15. ACL Extended Rule Table
-- 16. ACL Link Rule Table
-- 17. ACL VLAN Configuration Table
--------------------------------------------------------------------------------
         
    zxAnQosPclObjects     OBJECT IDENTIFIER  ::=  { zxAnQosPclMib 1 }
    zxAnQosPclTrapObjects OBJECT IDENTIFIER  ::=  { zxAnQosPclMib 2 }
    
    zxAnQosPclGlobalObjects OBJECT IDENTIFIER  ::=  { zxAnQosPclObjects 1 }
    ZxAnAclPortOperator ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
            ""
        SYNTAX      INTEGER
        {
                none(0),
                eq(1),
                ge(2),
                le(3),
                range(7)
        }

    zxAnQosPclCapability OBJECT-TYPE 
        SYNTAX BITS {
           redirectType(0),
           trafficMirrorType(1),
           innerPortBinding(2),
           remoteMirroring(3),
           ifBindAclName(4)
        }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     
            "The QoS PCL capabilities for this equipment.
            The bit value 1 means the function represented by this bit is 
            supported.
            redirectType(0): value 1 means support redirection type.
            trafficMirrorType(1): value 1 means support traffic mirroring type.
            innerPortBinding(2): value 1 means support innerPort binding.
            remoteMirroring(3): value 1 means support remote mirroring.
            ifBindAclName(4): value 1 means support interface binding 
            with ACL name or alias .
            "
        ::=  {  zxAnQosPclGlobalObjects  1  } 

--------------------------------------------------------------------------------
-- 1. Global Objects
-------------------------------------------------------------------------------- 

    
--------------------------------------------------------------------------------
-- 2. Qos Pcl Table
--------------------------------------------------------------------------------         
        zxAnAclTable OBJECT-TYPE
            SYNTAX SEQUENCE OF ZxAnAclEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " "
        ::= { zxAnQosPclObjects 2 }

        zxAnAclEntry OBJECT-TYPE
            SYNTAX ZxAnAclEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " "
            INDEX { zxAnAclNumber }
            ::= { zxAnAclTable 1 }
        
        ZxAnAclEntry ::=
            SEQUENCE { 
                zxAnAclNumber
                    Integer32,
                zxAnAclName
                    DisplayString,
                zxAnAclRowStatus
                    RowStatus
             }
    
        zxAnAclNumber OBJECT-TYPE
            SYNTAX Integer32 (1..399 | 600..699)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The number of an Acl.
                range 1-99       - standard acl.
                range 100-199    - extended acl.
                range 200-299    - link acl.
                range 300-399    - hybrid acl.
                range 600-699    - ipv6 hybrid acl."
            ::= { zxAnAclEntry 1 }
    
        zxAnAclName OBJECT-TYPE
            SYNTAX DisplayString (SIZE (0..32))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The name of a Acl."
            ::= { zxAnAclEntry 2 }

        
        zxAnAclRowStatus OBJECT-TYPE
            SYNTAX RowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "This entry's row status."
            ::= { zxAnAclEntry 30 } 
        
--------------------------------------------------------------------------------
-- 3. Qos Pcl Rule Table
--------------------------------------------------------------------------------   
        zxAnAclHybridRuleTable OBJECT-TYPE
            SYNTAX SEQUENCE OF ZxAnAclHybridRuleEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " "
        ::= { zxAnQosPclObjects 3 }

        zxAnAclHybridRuleEntry OBJECT-TYPE
            SYNTAX ZxAnAclHybridRuleEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                " "
            INDEX { zxAnAclNumber, zxAnAclHybridRuleId }
            ::= { zxAnAclHybridRuleTable 1 }
        
        ZxAnAclHybridRuleEntry ::=
            SEQUENCE { 
                zxAnAclHybridRuleId
                    INTEGER,
                zxAnAclHybridRuleAccessCtrl
                    INTEGER,
                zxAnAclHybridRuleSrcIpType
                    InetAddressType,
                zxAnAclHybridRuleSrcIp
                    InetAddress,
                zxAnAclHybridRuleSrcIpMask
                    InetAddress,
                zxAnAclHybridRuleDestIpType
                    InetAddressType,
                zxAnAclHybridRuleDestIp
                    InetAddress,
                zxAnAclHybridRuleDestIpMask
                    InetAddress,
                zxAnAclHybridRuleIpProto
                    INTEGER,
                zxAnAclHybridRuleEthProto
                    INTEGER,
                zxAnAclHybridRuleSrcPortOper
                    ZxAnAclPortOperator,
                zxAnAclHybridRuleStartSrcPort
                    INTEGER,
                zxAnAclHybridRuleEndSrcPort
                    INTEGER,
                zxAnAclHybridRuleDestPortOper
                    ZxAnAclPortOperator,
                zxAnAclHybridRuleStartDestPort
                    INTEGER,
                zxAnAclHybridRuleEndDestPort
                    INTEGER,
                zxAnAclHybridRulePrecedence
                    INTEGER,
                zxAnAclHybridRuleTos
                    INTEGER,
                zxAnAclHybridRuleDscp
                    INTEGER,
                zxAnAclHybridRuleStagCos
                    INTEGER,
                zxAnAclHybridRuleSVid
                    INTEGER,
                zxAnAclHybridRuleCtagCos
                    INTEGER,
                zxAnAclHybridRuleCVid
                    INTEGER,
                zxAnAclHybridRuleSrcMac
                    MacAddress,
                zxAnAclHybridRuleSrcMacMask
                    MacAddress,
                zxAnAclHybridRuleDestMac
                    MacAddress,
                zxAnAclHybridRuleDestMacMask
                    MacAddress,     
                zxAnQosPclRuleTimeRangeName     DisplayString,       
                zxAnQosPclRuleSrcAddrPfxLen     InetAddressPrefixLength,
                zxAnQosPclRuleDestAddrPfxLen    InetAddressPrefixLength,
                zxAnQosPclRuleTrafficClass      INTEGER,
                zxAnQosPclRuleFlowLabel         INTEGER,
                zxAnAclHybridRuleIcmpType       Integer32,
                zxAnAclHybridRuleIcmpCode       Integer32,
                zxAnAclHybridRuleRowStatus
                    RowStatus                 
    }
    
    zxAnAclHybridRuleId  OBJECT-TYPE
        SYNTAX   INTEGER(1..127)
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
            "QoS PCL rule id"
        ::= { zxAnAclHybridRuleEntry 1 } 

    zxAnAclHybridRuleAccessCtrl  OBJECT-TYPE
        SYNTAX   INTEGER{permit(1),deny(2)}
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Specify packets to reject or forward"
        ::= { zxAnAclHybridRuleEntry 2 }    

    zxAnAclHybridRuleSrcIpType  OBJECT-TYPE
        SYNTAX   InetAddressType
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Source IP address type,IPv4 or IPv6"
        ::= { zxAnAclHybridRuleEntry 3 }    
    
    zxAnAclHybridRuleSrcIp  OBJECT-TYPE
        SYNTAX   InetAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Source IP address"
        --DEFVAL{ 0.0.0.0 }
        ::= { zxAnAclHybridRuleEntry 4 }    

    zxAnAclHybridRuleSrcIpMask  OBJECT-TYPE
        SYNTAX   InetAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Source IP address wildcard"
        ::= { zxAnAclHybridRuleEntry 5 }    
        
    zxAnAclHybridRuleDestIpType  OBJECT-TYPE
        SYNTAX   InetAddressType
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Destination IP address type,IPv4 or IPv6"
        ::= { zxAnAclHybridRuleEntry 6 } 
        
    zxAnAclHybridRuleDestIp  OBJECT-TYPE
        SYNTAX   InetAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Destination IP address"
        --DEFVAL{ 0.0.0.0 }
        ::= { zxAnAclHybridRuleEntry 7 } 
           
    zxAnAclHybridRuleDestIpMask  OBJECT-TYPE
        SYNTAX   InetAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Destination IP address wildcard"
        ::= { zxAnAclHybridRuleEntry 8 }   
         
    zxAnAclHybridRuleIpProto  OBJECT-TYPE
        SYNTAX   INTEGER(0..255)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "<0-254>  An IP protocol number         
            icmpv6   Internet Control Message Protocol  for IPv6(58)   
            igmp     Internet Group Management Protocol (2)            
            ospf     Open Shortest Path First Protocol (89)
            pim      Protocol Independent Multicast (103)
            tcp      Transmission Control Protocol (6)
            udp      User Datagram Protocol (17)
            vrrp     Virtual Router Redundancy Protocol (112)
            255      Any internet protocol
            "
        ::= { zxAnAclHybridRuleEntry 9 }
        
    zxAnAclHybridRuleEthProto  OBJECT-TYPE
        SYNTAX INTEGER (1537..65535)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "0xHHHH      Ethernet protocol number
             any         Any ether protocol type
             arp         Address resolution protocol (2054)
             ip          Internet protocol (2048)"
        ::= { zxAnAclHybridRuleEntry 10 }
            
    zxAnAclHybridRuleSrcPortOper  OBJECT-TYPE
        SYNTAX   ZxAnAclPortOperator
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Source port operator"
        ::= { zxAnAclHybridRuleEntry 11 }    
        
    zxAnAclHybridRuleStartSrcPort  OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Source start port"
        ::= { zxAnAclHybridRuleEntry 12 }    
        
    zxAnAclHybridRuleEndSrcPort  OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Source end port"
        ::= { zxAnAclHybridRuleEntry 13 }    
        
    zxAnAclHybridRuleDestPortOper  OBJECT-TYPE
        SYNTAX   ZxAnAclPortOperator
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Destination port operator"
        ::= { zxAnAclHybridRuleEntry 14 }    
        
    zxAnAclHybridRuleStartDestPort  OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Destination start port"
        ::= { zxAnAclHybridRuleEntry 15 }    
        
    zxAnAclHybridRuleEndDestPort  OBJECT-TYPE
        SYNTAX      INTEGER (0..65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Destination end port"
        ::= { zxAnAclHybridRuleEntry 16 } 
    
    zxAnAclHybridRulePrecedence  OBJECT-TYPE
        SYNTAX      INTEGER(0..7|255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Precedence. 255 means unconfigured."
        ::= { zxAnAclHybridRuleEntry 17 }
        
    zxAnAclHybridRuleTos  OBJECT-TYPE
        SYNTAX      INTEGER(0..15|255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "TOS. 255 means unconfigured."
        ::= { zxAnAclHybridRuleEntry 18 } 
          
    zxAnAclHybridRuleDscp  OBJECT-TYPE
        SYNTAX      INTEGER(0..63|255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "DSCP. 255 means unconfigured."
        ::= { zxAnAclHybridRuleEntry 19 } 
        
    zxAnAclHybridRuleStagCos  OBJECT-TYPE
        SYNTAX      INTEGER(0..7|255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Svlan priority. 255 means unconfigured."
        ::= { zxAnAclHybridRuleEntry 20 }    
        
    zxAnAclHybridRuleSVid  OBJECT-TYPE
        SYNTAX      INTEGER(1..4094|65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Svlan id. 65535 means unconfigured."
        ::= { zxAnAclHybridRuleEntry 21 } 
        
    zxAnAclHybridRuleCtagCos  OBJECT-TYPE
        SYNTAX      INTEGER(0..7|255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "CVlan priority. 255 means unconfigured."
        ::= { zxAnAclHybridRuleEntry 22 }    
        
    zxAnAclHybridRuleCVid  OBJECT-TYPE
        SYNTAX      INTEGER(1..4094|65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "CVlan id. 65535 means unconfigured."
        ::= { zxAnAclHybridRuleEntry 23 }    
        
    zxAnAclHybridRuleSrcMac  OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Source MAC address"
        ::= { zxAnAclHybridRuleEntry 24 }    
        
    zxAnAclHybridRuleSrcMacMask  OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Source MAC address wildcard"
        ::= { zxAnAclHybridRuleEntry 25 }    
        
    zxAnAclHybridRuleDestMac  OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Destination MAC address"
        ::= { zxAnAclHybridRuleEntry 26 }  
          
    zxAnAclHybridRuleDestMacMask  OBJECT-TYPE
        SYNTAX      MacAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Destination MAC address wildcard"
        ::= { zxAnAclHybridRuleEntry 27 }         
        
    zxAnQosPclRuleTimeRangeName  OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..16))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Name of the time range"
        ::= { zxAnAclHybridRuleEntry 28 }  

    zxAnQosPclRuleSrcAddrPfxLen  OBJECT-TYPE
        SYNTAX   InetAddressPrefixLength
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Source IP address prefix length"
        DEFVAL{64}
        ::= { zxAnAclHybridRuleEntry 29 }     

    zxAnQosPclRuleDestAddrPfxLen  OBJECT-TYPE
        SYNTAX   InetAddressPrefixLength
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Destination IP address prefix length"
        DEFVAL{64}
        ::= { zxAnAclHybridRuleEntry 30 }  

    zxAnQosPclRuleTrafficClass  OBJECT-TYPE
        SYNTAX      INTEGER(0..63|65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Traffic class field of IPv6.
            65535 means unconfigured."
        DEFVAL{0}
        ::= { zxAnAclHybridRuleEntry 31 }  

    zxAnQosPclRuleFlowLabel  OBJECT-TYPE
        SYNTAX      INTEGER(0..1048575|16777215)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Flow label field of IPv6.
            16777215(0xFFFFFF) means unconfigured."
        DEFVAL{0}
        ::= { zxAnAclHybridRuleEntry 32 }  
    
    zxAnAclHybridRuleIcmpType  OBJECT-TYPE
        SYNTAX      Integer32(0..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Specifies the ICMPv6 type value to be matched against.
            A value of '0xFF' indicates not care about this field.
            If the zxAnAclHybridRuleIpProto object in the same row does not 
            indicate ICMPv6(58), this object has to be '0xFF' and cannot 
            be changed."
        DEFVAL{255}
        ::= { zxAnAclHybridRuleEntry 33 }  
        
    zxAnAclHybridRuleIcmpCode   OBJECT-TYPE
        SYNTAX      Integer32(0..255)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Specifies the ICMPv6 code value to be matched against.
            A value of '0xFF' indicates not care about this field.
            If the zxAnAclHybridRuleIpProto object in the same row does not 
            indicate ICMPv6(58), this object has to be '0xFF' and cannot 
            be changed."
        DEFVAL{255}
        ::= { zxAnAclHybridRuleEntry 34 }      
              
    zxAnAclHybridRuleRowStatus  OBJECT-TYPE
        SYNTAX       RowStatus 
        MAX-ACCESS   read-create
        STATUS       current
        DESCRIPTION
            "This entry's row status."
        ::= { zxAnAclHybridRuleEntry 50 }   
        
--------------------------------------------------------------------------------
-- 4. Traffic Limit Table
--------------------------------------------------------------------------------           
    zxAnQosAclTrafficLimitTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnQosAclTrafficLimitEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Traffic Limit Table"
        ::= { zxAnQosPclObjects 4 }

    zxAnQosAclTrafficLimitEntry  OBJECT-TYPE
        SYNTAX      ZxAnQosAclTrafficLimitEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Traffic Limit Table"
        INDEX  { zxAnAclNumber,  zxAnAclHybridRuleId }
        ::= { zxAnQosAclTrafficLimitTable 1 }
        
    ZxAnQosAclTrafficLimitEntry ::=
        SEQUENCE {
            zxAnQosAclTrafficLimitCir           INTEGER,
            zxAnQosAclTrafficLimitPir           INTEGER,
            zxAnQosAclTrafficLimitCbs           INTEGER,
            zxAnQosAclTrafficLimitEbs           INTEGER,            
            zxAnQosAclTrafficLimitPbs           INTEGER,
            zxAnQosAclTrafficLimitMode          INTEGER,
            zxAnQosAclTrafficDropYellow         TruthValue,
            zxAnQosAclTrafficForwardRed         TruthValue,
            zxAnQosAclTrafficRemarkRedDp        INTEGER,
            zxAnQosAclTrafficRemarkRedDscp      INTEGER,
            zxAnQosAclTrafficRemarkYellDp     INTEGER,
            zxAnQosAclTrafficRemarkYellDscp   INTEGER,
            zxAnQosAclTrafficRowStatus          RowStatus
            }   
        
    zxAnQosAclTrafficLimitCir OBJECT-TYPE
        SYNTAX  INTEGER(64..32000000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Committed Information Rate(CIR) in kbps."  
        ::= { zxAnQosAclTrafficLimitEntry 1 }

    zxAnQosAclTrafficLimitPir OBJECT-TYPE
        SYNTAX  INTEGER(64..32000000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Peak Information Rate(PIR) in kbps."   
        ::= { zxAnQosAclTrafficLimitEntry 2 }
            
    zxAnQosAclTrafficLimitCbs OBJECT-TYPE
        SYNTAX  INTEGER(4..16000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Committed Burst Rate(CBS) in kbyte."    
        ::= { zxAnQosAclTrafficLimitEntry 3 }

    zxAnQosAclTrafficLimitEbs OBJECT-TYPE
        SYNTAX  INTEGER(4..16000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Exceed Burst Size in kbyte."  
        ::= { zxAnQosAclTrafficLimitEntry 4 }

    zxAnQosAclTrafficLimitPbs OBJECT-TYPE
        SYNTAX  INTEGER(4..16000)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Peak burst size(KB)."  
        ::= { zxAnQosAclTrafficLimitEntry 5 }
        
    zxAnQosAclTrafficLimitMode OBJECT-TYPE
        SYNTAX  INTEGER
               {
                blind(1),
                aware(2)
               }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "meter color mode."  
        ::= { zxAnQosAclTrafficLimitEntry 6 }   
    
    zxAnQosAclTrafficDropYellow OBJECT-TYPE
        SYNTAX  TruthValue              
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Drop yellow packet"  
        ::= { zxAnQosAclTrafficLimitEntry 7 } 
    
    zxAnQosAclTrafficForwardRed OBJECT-TYPE
        SYNTAX  TruthValue              
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Forward red packet"  
        ::= { zxAnQosAclTrafficLimitEntry 8 }  
        
    
    zxAnQosAclTrafficRemarkRedDp OBJECT-TYPE
        SYNTAX   INTEGER
               {
                low(1),
                medium(2),
                high(3)
               }              
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Remark red drop precedence"  
        ::= { zxAnQosAclTrafficLimitEntry 9 } 
    
    zxAnQosAclTrafficRemarkRedDscp OBJECT-TYPE
        SYNTAX  INTEGER(0..63)              
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Remark red DSCP value"  
        ::= { zxAnQosAclTrafficLimitEntry 10 }  
    
    zxAnQosAclTrafficRemarkYellDp OBJECT-TYPE
        SYNTAX   INTEGER
               {
                low(1),
                medium(2),
                high(3)
               }              
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Remark yellow drop precedence"  
        ::= { zxAnQosAclTrafficLimitEntry 11 } 
    
    zxAnQosAclTrafficRemarkYellDscp OBJECT-TYPE
        SYNTAX  INTEGER(0..63)              
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Remark yellow DSCP value"  
        ::= { zxAnQosAclTrafficLimitEntry 12 }             
        
    zxAnQosAclTrafficRowStatus      OBJECT-TYPE
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "RowStatus of this entry."
        ::= { zxAnQosAclTrafficLimitEntry 50 }               
   
--------------------------------------------------------------------------------
-- 5. Priority Mark Table
--------------------------------------------------------------------------------   
    zxAnQosAclPriorityMarkTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxAnQosAclPriorityMarkEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Priority Mark Table"
         ::= { zxAnQosPclObjects 5 }

    zxAnQosAclPriorityMarkEntry  OBJECT-TYPE
        SYNTAX  ZxAnQosAclPriorityMarkEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Priority Mark Table"
        INDEX  { zxAnAclNumber,  zxAnAclHybridRuleId }
              ::= { zxAnQosAclPriorityMarkTable 1 }

    ZxAnQosAclPriorityMarkEntry ::=
        SEQUENCE {
          zxAnQosAclPriMarkDscp             INTEGER,       
          zxAnQosAclPriMarkCos              INTEGER,    
          zxAnQosAclPriMarkPrecedence       INTEGER,   
          zxAnQosAclPriMarkLocalPrecedence  INTEGER,  
          zxAnQosAclPriMarkDropPrecedence   INTEGER,   
          zxAnQosPclPriMarkTrafficClass     INTEGER,     
          zxAnQosAclPriMarkRowStatus        RowStatus   
        }


   zxAnQosAclPriMarkDscp OBJECT-TYPE
        SYNTAX  INTEGER(0..63)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "DSCP value"
        DEFVAL{255}    
       ::= { zxAnQosAclPriorityMarkEntry 1 }

   zxAnQosAclPriMarkCos OBJECT-TYPE
        SYNTAX  INTEGER(0..7)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Cos value"
        DEFVAL{255}    
       ::= { zxAnQosAclPriorityMarkEntry 2 }

   zxAnQosAclPriMarkPrecedence  OBJECT-TYPE
        SYNTAX      INTEGER(0..7)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Precedence value (not for ipv6)"
        ::= { zxAnQosAclPriorityMarkEntry 3 }
  
   zxAnQosAclPriMarkLocalPrecedence  OBJECT-TYPE
        SYNTAX      INTEGER(0..7)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Local precedence"
        ::= { zxAnQosAclPriorityMarkEntry 4 }
    
   zxAnQosAclPriMarkDropPrecedence  OBJECT-TYPE
        SYNTAX      INTEGER
               {
                low(1),
                medium(2),
                high(3)
               }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Drop precedence"
        ::= { zxAnQosAclPriorityMarkEntry 5 }

    zxAnQosPclPriMarkTrafficClass  OBJECT-TYPE
        SYNTAX      INTEGER(0..63|65535)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Traffic class field of IPv6.
            65535 means unconfigured."
        DEFVAL{0}
        ::= { zxAnQosAclPriorityMarkEntry 6 }  

   zxAnQosAclPriMarkRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "RowStatus of this entry."
       ::= { zxAnQosAclPriorityMarkEntry 30 }   
             
--------------------------------------------------------------------------------
-- 6. Vlan Mark Table
--------------------------------------------------------------------------------   
    zxAnQosAclVlanMarkTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxAnQosAclVlanMarkEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "VLAN mark table"
         ::= { zxAnQosPclObjects 6 }

    zxAnQosAclVlanMarkEntry  OBJECT-TYPE
        SYNTAX  ZxAnQosAclVlanMarkEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "VLAN mark table"
        INDEX  { zxAnAclNumber,  zxAnAclHybridRuleId }
              ::= { zxAnQosAclVlanMarkTable 1 }

    ZxAnQosAclVlanMarkEntry ::=
        SEQUENCE {
          zxAnQosAclVlanMarkVid           INTEGER,
          zxAnQosAclVlanMarkRowStatus        RowStatus  
        }


   zxAnQosAclVlanMarkVid OBJECT-TYPE
        SYNTAX      INTEGER(1..4090)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "VLAN id"   
       ::= { zxAnQosAclVlanMarkEntry 1 }

   zxAnQosAclVlanMarkRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "RowStatus of this entry"
       ::= { zxAnQosAclVlanMarkEntry 30 }  

--------------------------------------------------------------------------------
-- 7. Qinq Table
--------------------------------------------------------------------------------
             
    zxAnQosPclQinqTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnQosPclQinqEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of Qinq data entries."
       ::= { zxAnQosPclObjects 7 }

    zxAnQosPclQinqEntry OBJECT-TYPE
        SYNTAX      ZxAnQosPclQinqEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
             "An entry containing AclQos Qinq data."
        INDEX   { zxAnAclNumber,  zxAnAclHybridRuleId }
       ::= { zxAnQosPclQinqTable 1 }

    ZxAnQosPclQinqEntry ::=
        SEQUENCE {
            zxAnQosPclQinqSvlan       INTEGER, 
            zxAnQosPclQinqCvlan       INTEGER, 
            zxAnQosPclQinqRowStatus   RowStatus
        }
              
    zxAnQosPclQinqSvlan  OBJECT-TYPE
        SYNTAX      INTEGER(1..4090)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "VLAN ID,vlaid range 1-4090"  
        ::= { zxAnQosPclQinqEntry 1 }    

    zxAnQosPclQinqCvlan  OBJECT-TYPE
        SYNTAX      INTEGER(1..4090)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "VLAN ID,vlaid range 1-4090"
        ::= { zxAnQosPclQinqEntry 2 }            
            
    zxAnQosPclQinqRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "RowStatus of this entry."
       ::= { zxAnQosPclQinqEntry 30 }   
             
--------------------------------------------------------------------------------
-- 8. Redirect Table
--------------------------------------------------------------------------------   
    zxAnQosAclRedirectTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxAnQosAclRedirectEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Redirect Table"
         ::= { zxAnQosPclObjects 8 }

    zxAnQosAclRedirectEntry  OBJECT-TYPE
        SYNTAX  ZxAnQosAclRedirectEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Redirect Table"
        INDEX  { zxAnAclNumber,  zxAnAclHybridRuleId }
              ::= { zxAnQosAclRedirectTable 1 }

    ZxAnQosAclRedirectEntry ::=
        SEQUENCE {          
          zxAnQosAclRedirectIf      Integer32,          
          zxAnQosAclRedirectType           INTEGER,
          zxAnQosAclRedirectNextHopIpType  InetAddressType,
          zxAnQosAclRedirectNextHopIp  InetAddress,
          zxAnQosAclRedirectRowStatus      RowStatus    
        }  
    
    zxAnQosAclRedirectIf OBJECT-TYPE
        SYNTAX      Integer32                    
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "IfIndex of the interface."   
       ::= { zxAnQosAclRedirectEntry 1 }

    zxAnQosAclRedirectType  OBJECT-TYPE
        SYNTAX      INTEGER {
            cpu(1),
            interface(2),
            nextHop(3)
        }
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The type of redirection.
             cpu(1)           - data is redirected to CPU.
             interface(2)     - data is redirected to interface.
             nextHop(3)       - data is redirected to next hop address.
                                Only at this time zxAnQosAclRedirectNextHopIpType 
                                and zxAnQosAclRedirectNextHopIp are available.
            "
        ::= { zxAnQosAclRedirectEntry 2 }

    zxAnQosAclRedirectNextHopIpType  OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION      
            "IP address type of the next hop IP address."
        DEFVAL  { ipv4 }
        ::=  {  zxAnQosAclRedirectEntry  3  }

    zxAnQosAclRedirectNextHopIp   OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "Next hop IP address."
        ::={zxAnQosAclRedirectEntry 4}

    zxAnQosAclRedirectRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "RowStatus of this entry."
       ::= { zxAnQosAclRedirectEntry 30 }   

--------------------------------------------------------------------------------
-- 9. Traffic Mirror Table
--------------------------------------------------------------------------------   
    zxAnQosAclTrafficMirrorTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxAnQosAclTrafficMirrorEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Traffic Mirror Table"
         ::= { zxAnQosPclObjects 9 }

    zxAnQosAclTrafficMirrorEntry  OBJECT-TYPE
        SYNTAX  ZxAnQosAclTrafficMirrorEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Traffic Mirror Table"
        INDEX  { zxAnAclNumber,  zxAnAclHybridRuleId }
              ::= { zxAnQosAclTrafficMirrorTable 1 }

    ZxAnQosAclTrafficMirrorEntry ::=
        SEQUENCE {          
          zxAnQosAclTrafficMirrorIf             Integer32,
          zxAnQosAclTrafficMirrorType           INTEGER,
          zxAnQosAclTrafficMirrorVlanId         Integer32,
          zxAnQosAclTrafficMirrorCos            Integer32,
          zxAnQosAclTrafficMirrorTpid           Integer32,
          zxAnQosAclTrafficMirrorDstIpType      InetAddressType,
          zxAnQosAclTrafficMirrorDstIpAddr      InetAddress,
          zxAnQosAclTrafficMirrorSrcIpType      InetAddressType,
          zxAnQosAclTrafficMirrorSrcIpAddr      InetAddress,
          zxAnQosAclTrafficMirrorTtl            Integer32,
          zxAnQosAclTrafficMirrorDscp           Integer32,       
          zxAnQosAclTrafficMirrorRowStatus      RowStatus       
        }
    
    zxAnQosAclTrafficMirrorIf OBJECT-TYPE
        SYNTAX      Integer32                    
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "IfIndex of the interface."   
       ::= { zxAnQosAclTrafficMirrorEntry 1 }

    zxAnQosAclTrafficMirrorType  OBJECT-TYPE
        SYNTAX      INTEGER {
            cpu(1),
            interface(2),
            rspan(3),
            erspan(4)
        }
        MAX-ACCESS read-create
        STATUS     current
        DESCRIPTION
            "The type of traffic mirroring."
        ::= { zxAnQosAclTrafficMirrorEntry 2 }
        
    zxAnQosAclTrafficMirrorVlanId OBJECT-TYPE
        SYNTAX  Integer32(0 | 1..4094)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "VLAN ID of RSPAN."   
       ::= { zxAnQosAclTrafficMirrorEntry 3 }
       
    zxAnQosAclTrafficMirrorCos OBJECT-TYPE
        SYNTAX  Integer32(0..7)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "Priority value of ERSPAN or RSPAN."  
        DEFVAL  { 0 } 
       ::= { zxAnQosAclTrafficMirrorEntry 4 }
       
    zxAnQosAclTrafficMirrorTpid OBJECT-TYPE
        SYNTAX  Integer32(0..65535)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "TPID value of ERSPAN or RSPAN." 
        DEFVAL  { 33024 }  
       ::= { zxAnQosAclTrafficMirrorEntry 5 }
       
    zxAnQosAclTrafficMirrorDstIpType  OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION      
            "Destination IP address type of ERSPAN."
        DEFVAL  { ipv4 }
        ::=  {  zxAnQosAclTrafficMirrorEntry  6  }
        
    zxAnQosAclTrafficMirrorDstIpAddr   OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "Destination IP address of ERSPAN."
        ::={zxAnQosAclTrafficMirrorEntry 7 }
        
    zxAnQosAclTrafficMirrorSrcIpType  OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION      
            "Source IP address type of ERSPAN."
        DEFVAL  { ipv4 }
        ::=  {  zxAnQosAclTrafficMirrorEntry  8  }
        
    zxAnQosAclTrafficMirrorSrcIpAddr   OBJECT-TYPE
        SYNTAX      InetAddress
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "Source IP address of ERSPAN."
        ::={zxAnQosAclTrafficMirrorEntry 9 }
        
    zxAnQosAclTrafficMirrorTtl OBJECT-TYPE
        SYNTAX  Integer32(0 | 1..255)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "TTL value of ERSPAN." 
        DEFVAL  { 128 }  
       ::= { zxAnQosAclTrafficMirrorEntry 10 }
       
   zxAnQosAclTrafficMirrorDscp OBJECT-TYPE
        SYNTAX  Integer32(0..63)
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "DSCP value of ERSPAN."   
        DEFVAL  { 0 }
       ::= { zxAnQosAclTrafficMirrorEntry 11 }

    zxAnQosAclTrafficMirrorRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "RowStatus of this entry."
       ::= { zxAnQosAclTrafficMirrorEntry 30 }    

--------------------------------------------------------------------------------
-- 10. Perf Table
--------------------------------------------------------------------------------
             
    zxAnQosAclTrafficStatsTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnQosAclTrafficStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A list of perf data entries."
       ::= { zxAnQosPclObjects 10 }

    zxAnQosAclTrafficStatsEntry OBJECT-TYPE
        SYNTAX      ZxAnQosAclTrafficStatsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
             "An entry containing perf data."
        INDEX   { zxAnAclNumber,  zxAnAclHybridRuleId, zxAnQosAclTrafficStatsPktColor }
       ::= { zxAnQosAclTrafficStatsTable 1 }

    ZxAnQosAclTrafficStatsEntry ::=
        SEQUENCE {
            zxAnQosAclTrafficStatsPktColor        INTEGER,
            zxAnQosAclTrafficStatsType           INTEGER,
            zxAnQosAclTrafficStatsPkts            Counter32,
            zxAnQosAclTrafficStatsOctets           Counter32,
            zxAnQosAclTrafficStatsReset    INTEGER,
            zxAnQosAclTrafficStatsRowStatus      RowStatus
        }

    zxAnQosAclTrafficStatsPktColor OBJECT-TYPE
        SYNTAX      INTEGER
           {
            all(1),
            red(2),
            yellow(3),
            green(4)
           }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
             "1-all packet
             2-red packet
             3-yellow packet
             4-green packet."
       ::= { zxAnQosAclTrafficStatsEntry 1 }
       
    zxAnQosAclTrafficStatsType OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                      packet(1),
                      byte(2)
                    }        
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
             "Performance type"
       ::= { zxAnQosAclTrafficStatsEntry 2 }
    
    zxAnQosAclTrafficStatsPkts OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
             "The number of packets, delivered by this rule to a
             higher (sub-)layer.Discontinuities in the value of this 
             counter can occur at re-initialization of the management 
             system."
       ::= { zxAnQosAclTrafficStatsEntry 3 }
    
    zxAnQosAclTrafficStatsOctets OBJECT-TYPE
        SYNTAX      Counter32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
             "The number of bytes, delivered by this rule to a
             higher (sub-)layer.Discontinuities in the value of this 
             counter can occur at re-initialization of the management 
             system."
       ::= { zxAnQosAclTrafficStatsEntry 4 }
       
    zxAnQosAclTrafficStatsReset OBJECT-TYPE
        SYNTAX      INTEGER
          {
            resetCounter(3)
          }                  
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
             "reset the perf counter."
       ::= { zxAnQosAclTrafficStatsEntry 5 }
             
    zxAnQosAclTrafficStatsRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "RowStatus of this entry."
       ::= { zxAnQosAclTrafficStatsEntry 50 }   
                
--------------------------------------------------------------------------------
-- 11. Time Range Table
-- Format 1: from 10:01:01 05-01-2007 to 12:01:01 05-01-2007
-- Format 2: 14:00:00 to 22:00:00 friday  
--------------------------------------------------------------------------------    
     
     zxAnQosPclTimeRangeTable  OBJECT-TYPE
        SYNTAX  SEQUENCE OF ZxAnQosPclTimeRangeEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Time Range Table"
         ::= { zxAnQosPclObjects 11 }

    zxAnQosPclTimeRangeEntry  OBJECT-TYPE
        SYNTAX  ZxAnQosPclTimeRangeEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                "Time Range Table"
        INDEX  { zxAnQosPclTimeRangeName }
        ::= { zxAnQosPclTimeRangeTable 1 }

    ZxAnQosPclTimeRangeEntry ::=
        SEQUENCE {
          zxAnQosPclTimeRangeName        DisplayString,
          zxAnQosPclTimeRangeType        INTEGER,               
          zxAnQosPclOnceStartTime        DisplayString, 
          zxAnQosPclOnceEndTime          DisplayString, 
          zxAnQosPclWeeklyDay            BITS,           
          zxAnQosPclWeeklyStartTime      DisplayString, 
          zxAnQosPclWeeklyEndTime        DisplayString,
          zxAnQosPclTimeRangeRowStatus   RowStatus      
        }    
    
    zxAnQosPclTimeRangeName OBJECT-TYPE
        SYNTAX      DisplayString                    
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Name of the time range."   
       ::= { zxAnQosPclTimeRangeEntry 1 }
    
    zxAnQosPclTimeRangeType OBJECT-TYPE
        SYNTAX      INTEGER
                    {
                      onlyonce(1),
                      weekly(2)
                    }                    
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "onlyonce: from 10:01:01 05-01-2007 to 12:01:01 05-01-2007
             weekly: 14:00:00 to 22:00:00 friday."   
       ::= { zxAnQosPclTimeRangeEntry 2 }
    
    zxAnQosPclOnceStartTime OBJECT-TYPE
        SYNTAX      DisplayString                    
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Fix range begin time.
            For example: yyyy-mm-dd HH:MM:SS.(2001-01-01 02:22:33)."   
       ::= { zxAnQosPclTimeRangeEntry 3 }
    
    zxAnQosPclOnceEndTime OBJECT-TYPE
        SYNTAX      DisplayString                    
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Fix range end time.
            For example: yyyy-mm-dd HH:MM:SS.(2001-01-01 02:22:33)."   
       ::= { zxAnQosPclTimeRangeEntry 4 }
    
    zxAnQosPclWeeklyDay OBJECT-TYPE
        SYNTAX      BITS
            {
             sunday(0),
             monday(1),
             tuesday(2),
             wednesday(3),
             thursday(4),
             friday(5),
             saturday(6)
            }                    
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Week day of the time range.The bits means from Sunday to Saturday.
            The bit value 1 means the day represented by this bit is choosen."   
       ::= { zxAnQosPclTimeRangeEntry 5 }

    zxAnQosPclWeeklyStartTime OBJECT-TYPE
        SYNTAX      DisplayString                    
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Week range begin time.
            For example: HH:MM:SS.(02:22:33)."   
       ::= { zxAnQosPclTimeRangeEntry 6 }
    
    zxAnQosPclWeeklyEndTime OBJECT-TYPE
        SYNTAX      DisplayString                    
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Week range end time.
            For example: HH:MM:SS.(02:22:33)."   
       ::= { zxAnQosPclTimeRangeEntry 7 }

    zxAnQosPclTimeRangeRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
            "RowStatus of this entry."
       ::= { zxAnQosPclTimeRangeEntry 30 }    
       
--------------------------------------------------------------------------------
-- 12. Pcl Binding Table
--------------------------------------------------------------------------------    
    zxAnAclIfConfTable     OBJECT-TYPE
        SYNTAX          SEQUENCE  OF  ZxAnAclIfConfEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Qos Pcl Bind Table"
        ::=  { zxAnQosPclObjects  12 }
            
    zxAnAclIfConfEntry     OBJECT-TYPE
        SYNTAX          ZxAnAclIfConfEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Qos Pcl Bind Table"
        INDEX           {  zxAnQosPclBindRack, zxAnQosPclBindShelf, 
            zxAnQosPclBindSlot, zxAnQosPclBindPort, zxAnQosPclBindOnu, 
            zxAnQosPclBindVCircuitType, zxAnQosPclBindVCircuit, 
            zxAnQosPclBindDirection  }
        ::=  { zxAnAclIfConfTable 1 }
    
    ZxAnAclIfConfEntry  ::=  SEQUENCE 
        {                   
            zxAnQosPclBindRack            Integer32,
            zxAnQosPclBindShelf           Integer32, 
            zxAnQosPclBindSlot            Integer32,
            zxAnQosPclBindPort            Integer32,
            zxAnQosPclBindOnu             Integer32, 
            zxAnQosPclBindVCircuitType    INTEGER, 
            zxAnQosPclBindVCircuit        Integer32,     
            zxAnQosPclBindDirection       INTEGER,
            zxAnAclIfConfAclNumber        INTEGER,
            zxAnAclIfConfAclName          DisplayString,
            zxAnAclIfConfRowStatus        RowStatus     
        }  
    
    zxAnQosPclBindRack  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Rack number of the port."
        ::= { zxAnAclIfConfEntry 1 }

    zxAnQosPclBindShelf  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Shelf number of the port."
        ::= { zxAnAclIfConfEntry 2 }

    zxAnQosPclBindSlot  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Slot number of the port."
        ::= { zxAnAclIfConfEntry 3 }

    zxAnQosPclBindPort  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The port number."
        ::= { zxAnAclIfConfEntry 4 }

    zxAnQosPclBindOnu  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
             "The Onu number.It is 0 in DSL port."
        ::= { zxAnAclIfConfEntry 5 }

    zxAnQosPclBindVCircuitType  OBJECT-TYPE
        SYNTAX      INTEGER 
        {
            physicalport(1),  
            bridgeport(2), 
            epononu(3),
            gpononu(4),
            serviceport(11),   
            vlan(12),
            innerPort(13)
        }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "Virtual circuit type."
        ::= { zxAnAclIfConfEntry 6 }    

    zxAnQosPclBindVCircuit OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION   
            "Virtual circuit of this port.
            If zxAnQosPclBindVCircuitType is physicalport,
            zxAnQosPclBindVCircuit is filled by 0."
        ::=  {  zxAnAclIfConfEntry  7  } 

    zxAnQosPclBindDirection     OBJECT-TYPE     
        SYNTAX          INTEGER
              {
        ingress(1),
        egress(2)
         }
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     "Bind Direction"
        ::=  {  zxAnAclIfConfEntry  8  }
                
    zxAnAclIfConfAclNumber  OBJECT-TYPE     
        SYNTAX          INTEGER(1..399|600..699)
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "Bind Pcl Index"
        ::=  {  zxAnAclIfConfEntry  9  }  

    zxAnAclIfConfAclName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..32))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Name or alias of an ACL."
        DEFVAL { "" }
        ::= { zxAnAclIfConfEntry 10 }        
                
    zxAnAclIfConfRowStatus OBJECT-TYPE     
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION     "RowStatus of this entry."
        ::=  {  zxAnAclIfConfEntry  30  }       

--------------------------------------------------------------------------------
-- 13. PCL Global Binding Table
--------------------------------------------------------------------------------

    zxAnQosPclGlobalBindingTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnQosPclGlobalBindingEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "QoS PCL global binding table."
        ::= { zxAnQosPclObjects 13 }
                 
    zxAnQosPclGlobalBindingEntry  OBJECT-TYPE
        SYNTAX      ZxAnQosPclGlobalBindingEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "QoS PCL global binding entry."
        INDEX  { zxAnQosPclGlobalBindingType }
        ::= { zxAnQosPclGlobalBindingTable 1 }
        
    ZxAnQosPclGlobalBindingEntry ::= SEQUENCE {
        zxAnQosPclGlobalBindingType    INTEGER,        
        zxAnQosPclGlobalBindingIndex   Integer32
        }
    
    zxAnQosPclGlobalBindingType  OBJECT-TYPE
        SYNTAX      INTEGER{
            voip(1)
        }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "QoS PCL global binding type."
        ::= { zxAnQosPclGlobalBindingEntry 1 }   
    
    zxAnQosPclGlobalBindingIndex  OBJECT-TYPE
        SYNTAX      Integer32(0|300..399|600..699)
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "Index of QoS PCL binding to one type of global service. 
            0 means no QoS PCL binding.
            300..399 for IPv4. 600..699 for IPv6."
        ::= { zxAnQosPclGlobalBindingEntry 2 }  

--------------------------------------------------------------------------------
-- 14. ACL Standard Rule Table
--------------------------------------------------------------------------------         
    zxAnAclStandardRuleTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnAclStandardRuleEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "ACL standard rule table. 
            Provide ACL standard rule configuration."
        ::= { zxAnQosPclObjects 14 }

    
    zxAnAclStandardRuleEntry OBJECT-TYPE
        SYNTAX ZxAnAclStandardRuleEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in zxAnAclStandardRuleTable. 
            
            The multi-variables binding rule should be complied with when a 
            manager creates an entry. According to this rule, all the related 
            mib variables must be included in one SNMP set operation.
                    
            There are two types of variables: mandatory and optional.
            All of the mandatory variables must be included in one SNMP set 
            operation. Optional variables may be included in one SNMP set 
            operation with the mandatory variables, but must not be used alone. 
                    
            To create an entry of this table, all the variable are optional."
        INDEX { zxAnAclStdAclNumber, zxAnAclStdRuleId }
        ::= { zxAnAclStandardRuleTable 1 }
 
    ZxAnAclStandardRuleEntry ::=
        SEQUENCE { 
            zxAnAclStdAclNumber           Integer32,
            zxAnAclStdRuleId              Integer32,
            zxAnAclStdRuleAccessCtrl      INTEGER,
            zxAnAclStdRuleSrcIpType       InetAddressType,
            zxAnAclStdRuleSrcIp           InetAddress,
            zxAnAclStdRuleSrcIpMask       InetAddress,
            zxAnAclStdRuleTimeRangeName   DisplayString,
            zxAnAclStdRuleRowStatus       RowStatus
         }

    zxAnAclStdAclNumber OBJECT-TYPE
        SYNTAX Integer32 (1..99)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The number of a standard ACL."
        ::= { zxAnAclStandardRuleEntry 1 }

    
    zxAnAclStdRuleId OBJECT-TYPE
        SYNTAX Integer32 (1..127)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The index of a rule within a standard ACL."
        ::= { zxAnAclStandardRuleEntry 2 }

    
    zxAnAclStdRuleAccessCtrl OBJECT-TYPE
        SYNTAX INTEGER
            {
            permit(1),
            deny(2)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Specify packets to be rejected or to be forwarded."
        DEFVAL { permit }
        ::= { zxAnAclStandardRuleEntry 3 }

    
    zxAnAclStdRuleSrcIpType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The type of IP address used by this rule entry."
        DEFVAL { ipv4 }
        ::= { zxAnAclStandardRuleEntry 4 }

    
    zxAnAclStdRuleSrcIp OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The source IP address to be matched for this rule. 
            A value of zero causes all source address to match. 
            The object value has to be consistent 
            with the type specified in zxAnAclStdRuleSrcIpType."
        DEFVAL { '00000000'h }
        ::= { zxAnAclStandardRuleEntry 5 }

    
    zxAnAclStdRuleSrcIpMask OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This is the wildcard mask for the zxAnAclStdRuleSrcIp bits 
            that must match. 0 bits in the mask indicate the corresponding 
            bits in the zxAnAclStdRuleSrcIp must match in order for the 
            matching to be successful, and 1 bits are not care bits in 
            the matching.  A value of zero causes only IP packets of source 
            address the same as zxAnAclStdRuleSrcIp to match.  
            This object value has to be consistent with the type specified in 
            zxAnAclStdRuleSrcIpType"
        DEFVAL { 'FFFFFFFF'h }
        ::= { zxAnAclStandardRuleEntry 6 }

    
    zxAnAclStdRuleTimeRangeName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..16))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Name of the time range."
        DEFVAL { "" }
        ::= { zxAnAclStandardRuleEntry 49 }

    
    zxAnAclStdRuleRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The status of this conceptual row.
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.
            To create a row in this table, a manager must set this object to 
            createAndGo(4), and must comply with the multi-variables binding 
            rule described in zxAnAclStandardRuleEntry.
            To delete a row in this table, a manager must set this object to 
            destroy(6). 
            To get this object, the agent always returns active(1)."
        ::= { zxAnAclStandardRuleEntry 50 }


--------------------------------------------------------------------------------
-- 15. ACL Extended Rule Table
--------------------------------------------------------------------------------    
    zxAnAclExtendedRuleTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnAclExtendedRuleEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "ACL extended rule table.                
            Provide ACL extended rule configuration."
        ::= { zxAnQosPclObjects 15 }

    
    zxAnAclExtendedRuleEntry OBJECT-TYPE
        SYNTAX ZxAnAclExtendedRuleEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in zxAnAclExtendedRuleTable.
            
            The multi-variables binding rule should be complied with when a 
            manager creates an entry. According to this rule, all the related 
            mib variables must be included in one SNMP set operation.
                    
            There are two types of variables: mandatory and optional.
            All of the mandatory variables must be included in one SNMP set 
            operation. Optional variables may be included in one SNMP set 
            operation with the mandatory variables, but must not be used alone. 
                    
            To create an entry of this table, all the variable are optional."
        INDEX { zxAnAclExtAclNumber, zxAnAclExtRuleId }
        ::= { zxAnAclExtendedRuleTable 1 }

    
    ZxAnAclExtendedRuleEntry ::=
        SEQUENCE { 
            zxAnAclExtAclNumber                 Integer32,
            zxAnAclExtRuleId                    Integer32,
            zxAnAclExtRuleAccessCtrl            INTEGER,
            zxAnAclExtRuleSrcIpType             InetAddressType,
            zxAnAclExtRuleSrcIp                 InetAddress,
            zxAnAclExtRuleSrcIpMask             InetAddress,
            zxAnAclExtRuleDestIpType            InetAddressType,
            zxAnAclExtRuleDestIp                InetAddress,
            zxAnAclExtRuleDestIpMask            InetAddress,
            zxAnAclExtRuleIpProtocol            Integer32,
            zxAnAclExtRuleSrcPortOper           ZxAnAclPortOperator,
            zxAnAclExtRuleStartSrcPort          Integer32,
            zxAnAclExtRuleEndSrcPort            Integer32,
            zxAnAclExtRuleDestPortOper          ZxAnAclPortOperator,
            zxAnAclExtRuleStartDestPort         Integer32,
            zxAnAclExtRuleEndDestPort           Integer32,
            zxAnAclExtRuleTcpEstablished        INTEGER,
            zxAnAclExtRuleIcmpType              Integer32,
            zxAnAclExtRuleIcmpCode              Integer32,
            zxAnAclExtRulePrecedence            Integer32,
            zxAnAclExtRuleTos                   Integer32,
            zxAnAclExtRuleDscp                  Integer32,
            zxAnAclExtRuleTtl                   Integer32,
            zxAnAclExtRuleTimeRangeName         DisplayString,
            zxAnAclExtRuleRowStatus             RowStatus
         }

    zxAnAclExtAclNumber OBJECT-TYPE
        SYNTAX Integer32 (100..199)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The number of an extended ACL."
        ::= { zxAnAclExtendedRuleEntry 1 }

    
    zxAnAclExtRuleId OBJECT-TYPE
        SYNTAX Integer32 (1..1024)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The index of a rule within a extended ACL"
        ::= { zxAnAclExtendedRuleEntry 2 }

    
    zxAnAclExtRuleAccessCtrl OBJECT-TYPE
        SYNTAX INTEGER
            {
            permit(1),
            deny(2)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Specify packets to be rejected or to be forwarded."
        DEFVAL { permit }
        ::= { zxAnAclExtendedRuleEntry 3 }

    
    zxAnAclExtRuleSrcIpType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The type of source IP address used by this rule entry."
        DEFVAL { ipv4 }
        ::= { zxAnAclExtendedRuleEntry 4 }

    
    zxAnAclExtRuleSrcIp OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The source IP address to be matched against for this rule.       
            A zero value of this variable and a 0xFFFFFF value of variable   
            zxAnAclExtRuleSrcIpMask causes all source address to match.   
            The object value has to be consistent with the type specified in 
            zxAnAclHybridRuleSrcIpType."
        DEFVAL { '00000000'h }
        ::= { zxAnAclExtendedRuleEntry 5 }

    
    zxAnAclExtRuleSrcIpMask OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This is the wildcard mask for the zxAnAclExtRuleSrcIp bits that
            must match.0 bits in the mask indicate the corresponding bits in
            the zxAnAclExtRuleSrcIp must match in order for the matching 
            to be successful, and 1 bits are not care bits in the matching.
            A value of zero causes only IP packets of source address the same
            as zxAnAclExtRuleSrcIp to match. This object value has to be 
            consistent with the type specified in zxAnAclExtRuleSrcIpType."
        DEFVAL { 'FFFFFFFF'h }
        ::= { zxAnAclExtendedRuleEntry 6 }

    
    zxAnAclExtRuleDestIpType OBJECT-TYPE
        SYNTAX InetAddressType
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The type of destination IP address used by this rule entry."
        DEFVAL { ipv4 }
        ::= { zxAnAclExtendedRuleEntry 7 }

    
    zxAnAclExtRuleDestIp OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The destination IP address to be matched against for this rule.
            A zero value of this variable and a 0xFFFFFF value of variable 
            zxAnAclExtRuleDestIpMask causes all destination address to match. 
            The object value has to be consistent with the type specified in 
            zxAnAclExtRuleDestIpType."
        DEFVAL { '00000000'h }
        ::= { zxAnAclExtendedRuleEntry 8 }

    
    zxAnAclExtRuleDestIpMask OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This is the wildcard mask for the zxAnAclExtRuleDestIp bits 
            that must match. 0 bits in the mask indicate the corresponding 
            bits in the zxAnAclExtRuleDestIp must match in order for the
            matching to be successful, and 1 bits are not care bits in the
            matching. A value of zero causes only IP packets of destination 
            address the same as zxAnAclExtRuleDestIp to match. This object
            value has to be consistent with the type specified in 
            zxAnAclExtRuleDestIpType."
        DEFVAL { 'FFFFFFFF'h }
        ::= { zxAnAclExtendedRuleEntry 9 }

    
    zxAnAclExtRuleIpProtocol OBJECT-TYPE
        SYNTAX Integer32 (0..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The protocol number field in the IP header used to indicate the
            higher layer protocol as specified in RFC 1700.A value of '0xFF'
            matches every IP packet.
            
            For example :
            255 is IP, 1 is ICMP, 2 is IGMP, 4 is IP in IP encapsulation,
            6 is TCP, 9 is IGRP, 17 is UDP, 47 is GRE, 50 is ESP, 51 is AH,
            88 is IGRP, 89 is OSPF, 94 is KA9Q/NOS compatible IP over IP, 
            103 is PIMv2, 108 is PCP.
            "
        DEFVAL { 255 }
        ::= { zxAnAclExtendedRuleEntry 10 }

    
    zxAnAclExtRuleSrcPortOper OBJECT-TYPE
        SYNTAX ZxAnAclPortOperator
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Indicates how a packet's source TCP/UDP port number is to 
            be compared.
            
            If the zxAnAclExtRuleIpProtocol object in the same row does not 
            indicate TCP or UDP, this object has to be 'none(1)' and cannot 
            be changed.
            
            'none(0)',which is the default value, means that no comparison is
            to be made with the source TCP/UDP port number.
            
            eq(1) means equal, ge(2) means greater than or equal, 
            le(3) means less than or equal.
            Those 3 operators are using the zxAnAclExtRuleStartSrcPort 
            object as an operand which is the only one needed. 
            
            range(7) means that it compares the port value between two numbers,
            so this operator needs 2 operands. One operand is the starting port
            number of the range which is zxAnAclExtRuleStartSrcPort object,
            and the other operand is the ending port number of the range which
            the zxAnAclExtRuleEndSrcPort object is in."
        DEFVAL { none }
        ::= { zxAnAclExtendedRuleEntry 11 }

    
    zxAnAclExtRuleStartSrcPort OBJECT-TYPE
        SYNTAX Integer32 (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The source port number of the TCP or UDP protocol. If the 
            zxAnAclExtRuleSrcPortOper object in the same row is range(7),
            this object will be the starting port number of the port range.
            This object cannot be configured if zxAnAclExtRuleSrcPortOper
            in the same row is none(0)."
        DEFVAL { 0 }
        ::= { zxAnAclExtendedRuleEntry 12 }

    
    zxAnAclExtRuleEndSrcPort OBJECT-TYPE
        SYNTAX Integer32 (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The source port number of the TCP or UDP protocol. If the 
            zxAnAclExtRuleSrcPortOper object in the same row is range(7),
            this object will be the ending port number of the port range. 
            This object cannot be configured if zxAnAclExtRuleSrcPortOper 
            in the same row is not range(7)."
        DEFVAL { 0 }
        ::= { zxAnAclExtendedRuleEntry 13 }

    
    zxAnAclExtRuleDestPortOper OBJECT-TYPE
        SYNTAX ZxAnAclPortOperator
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Indicates how a packet's destination TCP/UDP port number is to 
            be compared.
            
            If the zxAnAclExtRuleIpProtocol object in the same row does not 
            indicate TCP or UDP, this object has to be 'none(1)' and cannot
            be changed.
            
            'none(0)', which is the default value, means that no comparison is
            to be made with the source TCP/UDP port number.
            
            eq(1) means equal, ge(2) means greater than or equal, 
            le(3) means less than or equal.
            Those 3 operators are using the zxAnAclExtRuleStartDestPort 
            object as an operand which is the only one needed. 
            
            range(7) means that it compares the port value between two numbers,
            so this operator needs 2 operands. One operand is the starting port 
            number of the range which is zxAnAclExtRuleStartDestPort object, 
            and the other operand is the ending port number of the range which 
            the zxAnAclExtRuleEndDestPort object is in."
        DEFVAL { none }
        ::= { zxAnAclExtendedRuleEntry 14 }

    
    zxAnAclExtRuleStartDestPort OBJECT-TYPE
        SYNTAX Integer32 (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The destination port number of the TCP or UDP protocol. If the 
            zxAnAclExtRuleDestPortOper object in the same row is range(5), 
            this object will be the starting port number of the port range. 
            This object cannot be configured if zxAnAclExtRuleDestPortOper
            in the same row is none(0)."
        DEFVAL { 0 }
        ::= { zxAnAclExtendedRuleEntry 15 }

    
    zxAnAclExtRuleEndDestPort OBJECT-TYPE
        SYNTAX Integer32 (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The destination port number of the TCP or UDP protocol. If the 
            zxAnAclExtRuleDestPortOper object in the same row is range(5), 
            this object will be the ending port number of the port range. 
            This object cannot be configured if zxAnAclExtRuleDestPortOper 
            in the same row is not range(7)."
        DEFVAL { 0 }
        ::= { zxAnAclExtendedRuleEntry 16 }

    
    zxAnAclExtRuleTcpEstablished OBJECT-TYPE
        SYNTAX INTEGER
            {
            establishedTcp(1),
            notMatch(2)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Indicates whether matching established TCP packets.
            This object cannot be configured if zxAnAclExtRuleIpProtocol 
            in the same row is not TCP.
            establishedTcp(1) means matching established TCP packets.
            notMatch(2) means not care about this field "
        DEFVAL { notMatch }
        ::= { zxAnAclExtendedRuleEntry 17 }

    
    zxAnAclExtRuleIcmpType OBJECT-TYPE
        SYNTAX Integer32 (0..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Specifies the ICMP type value to be matched against.
            A value of '0xFF' indicates not care about this field.
            If the zxAnAclExtRuleIpProtocol object in the same row does not 
            indicate ICMP(1), this object has to be '0xFF' and cannot 
            be changed."
        DEFVAL { 255 }
        ::= { zxAnAclExtendedRuleEntry 18 }

    
    zxAnAclExtRuleIcmpCode OBJECT-TYPE
        SYNTAX Integer32 (0..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Specifies the ICMP code value to be matched against.
            A value of '0xFF' indicates not care about this field.
            If the zxAnAclExtRuleIpProtocol object in the same row does not 
            indicate ICMP(1), this object has to be '0xFF' and cannot 
            be changed."
        DEFVAL { 255 }
        ::= { zxAnAclExtendedRuleEntry 19 }

    
    zxAnAclExtRulePrecedence OBJECT-TYPE
        SYNTAX Integer32 (0..7 | 255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Specifies the IP precedence value to be matched against. 
            Packets can be matched the IP precedence value from 0 to 7.
            This object can't be configured simultaneously with 
            zxAnAclExtRuleDscp. 
            A value of '0xFF' indicates not care about this field."
        DEFVAL { 255 }
        ::= { zxAnAclExtendedRuleEntry 20 }

    
    zxAnAclExtRuleTos OBJECT-TYPE
        SYNTAX Integer32 (0..15 | 255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Specifies the TOS value to be matched against. Packets can 
            be matched the TOS value from 0 to 15. This object can't 
            be configured simultaneously with zxAnAclExtRuleDscp. 
            A value of '0xFF' indicates not care about this field."
        DEFVAL { 255 }
        ::= { zxAnAclExtendedRuleEntry 21 }

    
    zxAnAclExtRuleDscp OBJECT-TYPE
        SYNTAX Integer32 (0..63 | 255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Specifies the DSCP value to be matched against. 
            Packets can be matched the DSCP level from 0 to 63. 
            This object can't be configured simultaneously with 
            zxAnAclExtRuleTos and zxAnAclExtRulePrecedence.
            A value of '0xFF' indicates not care about this field."
        DEFVAL { 255 }
        ::= { zxAnAclExtendedRuleEntry 22 }
        
    zxAnAclExtRuleTtl OBJECT-TYPE
        SYNTAX Integer32 (0..255 | 65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Specifies the TTL value to be matched against. 
            Packets can be matched the TTL level from 0 to 255. 
            A value of '0xFFFF' indicates not care about this field."
        DEFVAL { 65535 }
        ::= { zxAnAclExtendedRuleEntry 23 }
    
    zxAnAclExtRuleTimeRangeName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..16))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Name of the time range"
        DEFVAL { "" }
        ::= { zxAnAclExtendedRuleEntry 49 }

    
    zxAnAclExtRuleRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The status of this conceptual row.
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.
            To create a row in this table, a manager must set this object to 
            createAndGo(4), and must comply with the multi-variables binding 
            rule described in zxAnAclExtenedRuleEntry.
            To delete a row in this table, a manager must set this object to 
            destroy(6). 
            To get this object, the agent always returns active(1)."
        ::= { zxAnAclExtendedRuleEntry 50 }

--------------------------------------------------------------------------------
-- 16. ACL Link Rule Table
--------------------------------------------------------------------------------      
    zxAnAclLinkRuleTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnAclLinkRuleEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "ACL link rule table.                
            Provide ACL link rule configuration."
        ::= { zxAnQosPclObjects 16 }

    
    zxAnAclLinkRuleEntry OBJECT-TYPE
        SYNTAX ZxAnAclLinkRuleEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in zxAnAclLinkRuleTable.
            
            The multi-variables binding rule should be complied with when a 
            manager creates an entry. According to this rule, all the related 
            mib variables must be included in one SNMP set operation.
                    
            There are two types of variables: mandatory and optional.
            All of the mandatory variables must be included in one SNMP set 
            operation. Optional variables may be included in one SNMP set 
            operation with the mandatory variables, but must not be used alone. 
                    
            To create an entry of this table, all the variable are optional."
        INDEX { zxAnAclLinkAclNumber, zxAnAclLinkRuleId }
        ::= { zxAnAclLinkRuleTable 1 }

    
    ZxAnAclLinkRuleEntry ::=
        SEQUENCE { 
            zxAnAclLinkAclNumber                Integer32,
            zxAnAclLinkRuleId                   Integer32,
            zxAnAclLinkRuleAccessCtrl           INTEGER,
            zxAnAclLinkRuleEthProtocol          Integer32,
            zxAnAclLinkRuleStagCos              Integer32,
            zxAnAclLinkRuleSVid                 Integer32,
            zxAnAclLinkRuleCtagCos              Integer32,
            zxAnAclLinkRuleCVid                 Integer32,
            zxAnAclLinkRuleSrcMac               MacAddress,
            zxAnAclLinkRuleSrcMacMask           MacAddress,
            zxAnAclLinkRuleDestMac              MacAddress,
            zxAnAclLinkRuleDestMacMask          MacAddress,
            zxAnAclLinkRuleTimeRangeName        DisplayString,
            zxAnAclLinkRuleRowStatus            RowStatus
         }

    zxAnAclLinkAclNumber OBJECT-TYPE
        SYNTAX Integer32 (200..299)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The number of a link ACL."
        ::= { zxAnAclLinkRuleEntry 1 }

    
    zxAnAclLinkRuleId OBJECT-TYPE
        SYNTAX Integer32 (1..4094)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "The index of a rule within a link ACL."
        ::= { zxAnAclLinkRuleEntry 2 }

    
    zxAnAclLinkRuleAccessCtrl OBJECT-TYPE
        SYNTAX INTEGER
            {
            permit(1),
            deny(2)
            }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Specify packets to be rejected or to be forwarded."
        DEFVAL { permit }
        ::= { zxAnAclLinkRuleEntry 3 }

    
    zxAnAclLinkRuleEthProtocol OBJECT-TYPE
        SYNTAX Integer32 (1537..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This 16-bit number indicates the matched Ethernet type.
            A value of '0xFFFF' indicates not care about this field."
        DEFVAL { 65535 }
        ::= { zxAnAclLinkRuleEntry 4 }

    
    zxAnAclLinkRuleStagCos OBJECT-TYPE
        SYNTAX Integer32 (0..7 | 255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Indicates the packet Cos value to be matched. If there are two 
            tags in the packets, this object will be the Cos value in outer 
            tag.
            A value of '0xFF' indicates not care about this field."
        DEFVAL { 255 }
        ::= { zxAnAclLinkRuleEntry 5 }

    
    zxAnAclLinkRuleSVid OBJECT-TYPE
        SYNTAX Integer32 (1..4094 | 65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Indicates the packet VLAN number to be matched. If there are 
            two tags in the packets, this object will be the VLAN number in 
            outer tag.
            A value of '0xFFFF' indicates not care about this field."
        DEFVAL { 65535 }
        ::= { zxAnAclLinkRuleEntry 6 }

    
    zxAnAclLinkRuleCtagCos OBJECT-TYPE
        SYNTAX Integer32 (0..7 | 255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Indicates the packet Cos value to be matched. If there are two 
            tags in the packets, this object will be the Cos value in inner 
            tag. The value of this object is ignored whenever there is only 
            one tag in the packets.
            A value of '0xFF' indicates not care about this field."
        DEFVAL { 255 }
        ::= { zxAnAclLinkRuleEntry 7 }

    
    zxAnAclLinkRuleCVid OBJECT-TYPE
        SYNTAX Integer32 (1..4094 | 65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Indicates the packet VLAN number to be matched. If there are two 
            tags in the packets, this object will be the VLAN number in inner 
            tag. The value of this object is ignored whenever there is only 
            one tag in the packets.
            A value of '0xFFFF' indicates not care about this field."
        DEFVAL { 65535 }
        ::= { zxAnAclLinkRuleEntry 8 }

    
    zxAnAclLinkRuleSrcMac OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The source MAC address to be matched against for this rule.
            A 0 value of this variable and a 0xFFFFFFFFFFFF value of variable
            zxAnAclLinkRuleSrcMacMask causes all source addresses to match."
        DEFVAL { '000000000000'h }
        ::= { zxAnAclLinkRuleEntry 9 }

    
    zxAnAclLinkRuleSrcMacMask OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This is the wildcard mask for the zxAnAclLinkRuleSrcMac bits 
            that must match. 0 bits in the mask indicate the corresponding 
            bits in the zxAnAclLinkRuleSrcMac must match in order for the 
            matching to be successful, and 1 bits are not care bits 
            in the matching. A value of zero causes only packets of source 
            address the same as zxAnAclLinkRuleSrcMac to match."
        DEFVAL { 'FFFFFFFFFFFF'h }
        ::= { zxAnAclLinkRuleEntry 10 }

    
    zxAnAclLinkRuleDestMac OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The destination MAC address to be matched against for this rule.  
            A 0 value of this variable and a 0xFFFFFFFFFFFF value of variable
            zxAnAclLinkRuleDestMacMask causes all destination addresses to 
            match."
        DEFVAL { '000000000000'h }
        ::= { zxAnAclLinkRuleEntry 11 }

    
    zxAnAclLinkRuleDestMacMask OBJECT-TYPE
        SYNTAX MacAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This is the wildcard mask for the zxAnAclLinkRuleDestMac bits 
            that must match. 0 bits in the mask indicate the corresponding bits 
            in the zxAnAclLinkRuleDestMac must match in order for the 
            matching to be successful, and 1 bits are not care bits in the 
            matching. 
            A value of zero causes only packets of source address the same as 
            zxAnAclLinkRuleDestMac to match."
        DEFVAL { 'FFFFFFFFFFFF'h }
        ::= { zxAnAclLinkRuleEntry 12 }

    
    zxAnAclLinkRuleTimeRangeName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..16))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Name of the time range."
        DEFVAL { "" }
        ::= { zxAnAclLinkRuleEntry 49 }

    
    zxAnAclLinkRuleRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The status of this conceptual row.
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.
            To create a row in this table, a manager must set this object to 
            createAndGo(4), and must comply with the multi-variables binding 
            rule described in zxAnAclExtenedRuleEntry.
            To delete a row in this table, a manager must set this object to 
            destroy(6). 
            To get this object, the agent always returns active(1)."
        ::= { zxAnAclLinkRuleEntry 50 }       

--------------------------------------------------------------------------------
-- 17. ACL VLAN Configuration Table
--------------------------------------------------------------------------------          
    zxAnAclVlanConfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxAnAclVlanConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "This table is to provide service that a specific ACL apply to 
            a specific inteface VLAN with direction. 
                        
            Then the traffic that through this interface VLAN is managed 
            according to the ACL."
        ::= { zxAnQosPclObjects 17 }

    
    zxAnAclVlanConfEntry OBJECT-TYPE
        SYNTAX ZxAnAclVlanConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An entry in zxAnQosPclVlanConfTable. 
        
            The multi-variables binding rule should be complied with when a 
            manager creates an entry. According to this rule, all the related 
            mib variables must be included in one SNMP set operation.
                    
            There are two types of variables: mandatory and optional.
            All of the mandatory variables must be included in one SNMP set 
            operation. Optional variables may be included in one SNMP set 
            operation with the mandatory variables, but must not be used alone. 
                    
            To create an entry of this table, at least one of these two 
            variables(zxAnAclVlanConfAclNumber, zxAnAclVlanConfAclName) 
            must be included in one SNMP set operation.
            
            After an entry is created, no variable can be modified. 
            If a manager tries to modify any variables in this entry, 
            agent will return error with SNMP error code inconsistentValue."
        INDEX { zxAnAclVlanConfVid, zxAnAclVlanConfDirection }
        ::= { zxAnAclVlanConfTable 1 }

    
    ZxAnAclVlanConfEntry ::=
        SEQUENCE { 
            zxAnAclVlanConfVid              Integer32,
            zxAnAclVlanConfDirection        INTEGER,
            zxAnAclVlanConfAclNumber        Integer32,
            zxAnAclVlanConfAclName          DisplayString,
            zxAnAclVlanConfRowStatus        RowStatus
         }

    zxAnAclVlanConfVid OBJECT-TYPE
        SYNTAX Integer32 (1..4094)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Interface VLAN id."
        ::= { zxAnAclVlanConfEntry 1 }

    
    zxAnAclVlanConfDirection OBJECT-TYPE
        SYNTAX INTEGER
            {
            ingress(1),
            egress(2)
            }
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Indicates whether this row's parameters are to be applied 
            for ingress or for egress traffic."
        ::= { zxAnAclVlanConfEntry 2 }

    
    zxAnAclVlanConfAclNumber OBJECT-TYPE
        SYNTAX Integer32 (1..199)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The number of an ACL.
            range 1-99       - standard ACL.
            range 100-199    - extended ACL."
        ::= { zxAnAclVlanConfEntry 3 }

    
    zxAnAclVlanConfAclName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..32))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Name or alias of a standard or extended ACL."
        DEFVAL { "" }
        ::= { zxAnAclVlanConfEntry 4 }

    
    zxAnAclVlanConfRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The status of this conceptual row.
            
            The supported actions of this conceptual row only include:
            'createAndGo' and 'destroy'.
            
            To create a row in this table, a manager must set this object to 
            createAndGo(4), and must comply with the multi-variables binding 
            rule described in zxAnAclIfConfEntry.
            
            To delete a row in this table, a manager must set this object to 
            destroy(6). "
        ::= { zxAnAclVlanConfEntry 50 }      
 END 
