
--------------------------------------------------------------------------------
-- File Name : ZTE-AN-QOS-MIB.mib
-- Date      : 2007-03-09
-- Author    : ZTE Nms dept.

--
-- Zte Qos Mib for Access Node
-- 
-- 
--------------------------------------------------------------------------------


ZTE-AN-QOS-MIB    DEFINITIONS ::= BEGIN
    IMPORTS     
        RowStatus, DisplayString                        FROM SNMPv2-TC
        MODULE-IDENTITY, OBJECT-TYPE, 
        Integer32, IpAddress                            FROM SNMPv2-SMI
        ifIndex                                         FROM IF-MIB
        zxAn                                            FROM ZTE-AN-TC-MIB;


    zxAnQosMib    MODULE-IDENTITY
        LAST-UPDATED    "200703091102Z"
        ORGANIZATION    "ZTE Corporation"
        CONTACT-INFO    "Su Chunshan
                        Mail: suchunshan@zte.com.cn
                        Tel : 021-68896292"
        DESCRIPTION     "This MIB defines zte Access Node managed objects."
        ::=  {  zxAn  21  }  
                
    zxAnQosObjects          OBJECT IDENTIFIER   ::=  {  zxAnQosMib  1  }
    zxAnQosTrapObjects      OBJECT IDENTIFIER   ::=  {  zxAnQosMib  2  }
            
--------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.Global configuration
-- 2.Interface QOS Configuration Table
-- 3.QOS Configuration Profile Table
-- 4.Bridge Port Configuration Table
-- 5.Bridge Port Configuration Profile Table
-- 6.COS Priority to Traffic Class (DSCP) Mapping Table
-- 7.Traffic Class (DSCP) to COS Priority Mapping Table
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
-- 1.Global configuration
--------------------------------------------------------------------------------
    zxAnQosGlobal OBJECT IDENTIFIER ::= { zxAnQosObjects 1 }  
    
--------------------------------------------------------------------------------
-- 2.Interface QOS Configuration Table
--------------------------------------------------------------------------------
    zxAnInterfaceQosConfTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnInterfaceQosConfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "This table includes interface qos configuration.It is used 
            for a user-side port(interface)."
        ::= { zxAnQosObjects 2 }

    zxAnInterfaceQosConfEntry OBJECT-TYPE
        SYNTAX      ZxAnInterfaceQosConfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnInterfaceQosConfTable."
        INDEX       { ifIndex }
        ::= { zxAnInterfaceQosConfTable 1 }
    
    ZxAnInterfaceQosConfEntry ::= SEQUENCE {
        zxAnIfQosConfProfileName      DisplayString
    }

    zxAnIfQosConfProfileName  OBJECT-TYPE 
        SYNTAX      DisplayString( SIZE ( 1 .. 32  ) )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION 
            "The qos configuration profile name.It eqauls to zxAnQosConfProfileName 
            in zxAnPortQosConfProfileTable table."
        ::= { zxAnInterfaceQosConfEntry 1 }
            
--------------------------------------------------------------------------------
-- 3.QOS Configuration Profile Table
--------------------------------------------------------------------------------
    zxAnPortQosConfProfileTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnPortQosConfProfileEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "This table includes Qos profile configuration.It is used for a user-side 
            port(interface)."
        ::= { zxAnQosObjects 3 }

    zxAnPortQosConfProfileEntry OBJECT-TYPE
        SYNTAX      ZxAnPortQosConfProfileEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnPortQosConfProfileTable."
        INDEX       { zxAnQosConfProfileName }
        ::= { zxAnPortQosConfProfileTable 1 }
    
    ZxAnPortQosConfProfileEntry ::= SEQUENCE {
        zxAnQosConfProfileName      DisplayString,
        zxAnQosQueuesNumber         Integer32,
        zxAnQosQueuesMaxSize        OBJECT IDENTIFIER,
        zxAnQosQueueSchedAlgorithm  INTEGER,
        zxAnQosQueuesWeight         OBJECT IDENTIFIER,
        zxAnQosPriority2queue       OBJECT IDENTIFIER,
        zxAnQosPvc2Priority         OBJECT IDENTIFIER,
        zxAnQosPriorityRemarking    OBJECT IDENTIFIER,
        zxAnQosConfPrfRowStatus     RowStatus
    }

    zxAnQosConfProfileName OBJECT-TYPE 
        SYNTAX      DisplayString( SIZE( 1 .. 32 ))
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "The profile name is a display string.It is a index of this table."
        ::= { zxAnPortQosConfProfileEntry 1 }

    zxAnQosQueuesNumber OBJECT-TYPE 
        SYNTAX      Integer32(1|2|4|8)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "The amount of queues.Only 1,2,4 or 8 can be used."
        DEFVAL      { 4 }
        ::= { zxAnPortQosConfProfileEntry 2 }

    zxAnQosQueuesMaxSize OBJECT-TYPE 
        SYNTAX      OBJECT IDENTIFIER
        UNITS       "bytes"               
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The integer sequence of queque's depth, expressed in bytes.
            The size of sequence is zxAnQosQueuesNumber and it presents queques id 
            for priority.           
            For example,if zxAnQosQueuesNumber is set to 8,then the value 
            {1.2.3.4.5.6.7.8 } means priority0 is mapping to queue1,priority1 is 
            mapping to queue2,...,priority7 is mapping to queue8.
            DEFVAL is {16.16.16.16}"
        ::= { zxAnPortQosConfProfileEntry 3 }

    zxAnQosQueueSchedAlgorithm OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            sp(1),      -- Strict Priority 
            wrr(2),     -- Weighted Round Robin (WRR)
            spAndWrr(3) -- SP+WRR
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "The scheduling algorithm of queues. "
        DEFVAL      { sp }
        ::= { zxAnPortQosConfProfileEntry 4 }
    
    zxAnQosQueuesWeight OBJECT-TYPE 
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "The integer sequence of queque's weight.The size of sequence is 8 
            and it presents weights for 8 queques. 
            For example,the value {1.2.3.4.5.6.7.8 } means weight of queue1 is 1,
            weight of queue2 is 2,...,weight of queue8 is 8.
            The range of each weight is 0 to 15.
            The weight is relevant only when the same Queue Priority value is 
            assigned to multiple queues and they are scheduled according to a 
            weighted algorithm. 
            DEFVAL is {0.0.0.0}"
        ::= { zxAnPortQosConfProfileEntry 5 }
        
    zxAnQosPriority2queue OBJECT-TYPE 
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "The integer sequence of queues id mapped to priority.
            The size of sequence is 8 and it presents 8 queque id for 8 priority. 
            For example,the value {1.2.3.4.5.6.7.8 } means priority0 is mapping to
            queue1,priority1 is mapping to queue2,...,priority7 is mapping to 
            queue8.
            DEFVAL is {1.1.2.2.3.3.4.4}"
        ::= { zxAnPortQosConfProfileEntry 6 }
        
    zxAnQosPvc2Priority OBJECT-TYPE 
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "The integer sequence of priority mapped to pvc id.
            The size of sequence is 8 and it presents 8 priority for 8 pvc id. 
            For example,the value {0.1.2.3.4.5.6.7 } means pvc id 1 is mapping to
            priority0,pvc id 2 is mapping to priority1,...,pvc id 8 is mapping to 
            priority7.
            DEFVAL is {1.2.3.4.5.6.7.8}"
        ::= { zxAnPortQosConfProfileEntry 7 }     
                    
    zxAnQosPriorityRemarking OBJECT-TYPE 
        SYNTAX      OBJECT IDENTIFIER
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION     
            "The integer sequence of priority remarking,ie.
            Ingress to Egress Priority Mapping information.
            The size of sequence is 8 and it presents 8 egress priority for 8 
            ingress priority. 
            For example,the value {0.1.2.3.4.5.6.7 } means ingress priority 0 is 
            mapping to egress priority 0,...,ingress priority 7 is mapping to 
            egress priority 7.
            DEFVAL is {0.1.2.3.4.5.6.7}"
        ::= { zxAnPortQosConfProfileEntry 8 }
        
    zxAnQosConfPrfRowStatus  OBJECT-TYPE 
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "The row status of this entry."
        ::= { zxAnPortQosConfProfileEntry 9 }   

--------------------------------------------------------------------------------
-- 4.Bridge Port Configuration Table
--------------------------------------------------------------------------------
    zxAnBridgePortConfTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF ZxAnBridgePortConfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "This table includes bridge port configuration.It is used for a 
            user-side bridge port."
        ::= { zxAnQosObjects 4 }

    zxAnBridgePortConfEntry OBJECT-TYPE
        SYNTAX      ZxAnBridgePortConfEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnBridgePortConfTable."
        INDEX       { ifIndex }
        ::= { zxAnBridgePortConfTable 1 }
    
    ZxAnBridgePortConfEntry ::= SEQUENCE 
    {
        zxAnBridgePortConfProfileName      DisplayString
    }

    zxAnBridgePortConfProfileName OBJECT-TYPE 
        SYNTAX      DisplayString( SIZE ( 1 .. 32  ) )
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The bridge port configuration profile name.It eqauls to 
            zxAnBrgPortConfProfileName in zxAnBridgePortConfProfileTable."
        ::= { zxAnBridgePortConfEntry 1 }
                
--------------------------------------------------------------------------------
-- 5.Bridge Port Configuration Profile Table
--------------------------------------------------------------------------------
    zxAnBridgePortConfProfileTable OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnBridgePortConfProfileEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "This table includes bridge port profile configuration.
            It is used for a bridge port."
        ::= { zxAnQosObjects 5 }

    zxAnBridgePortConfProfileEntry OBJECT-TYPE
        SYNTAX      ZxAnBridgePortConfProfileEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry in zxAnBridgePortConfProfileTable."
        INDEX       { zxAnBrgPortConfProfileName }
        ::= { zxAnBridgePortConfProfileTable 1 }
           
    ZxAnBridgePortConfProfileEntry ::= SEQUENCE
    {
        zxAnBrgPortConfProfileName          DisplayString,
        zxAnBrgPortDefaultPriorityCvlan     Integer32,
        zxAnBrgPortPriorityOvrideCvlan      Integer32,
        zxAnBrgPortPriorityOvrideSvlan      Integer32,
        zxAnBrgPortPriorityTrustCvlan       INTEGER,
        zxAnBrgPortPriorityTrustSvlan       INTEGER,
        zxAnBrgPortPriorityRemarkEnable     INTEGER,
        zxAnBrgPortPriorityFilterEnable     INTEGER,
        zxAnBrgPortRateLimitUp              Integer32,
        zxAnBrgPortRateLimitDown            Integer32,
        zxAnBrgPortConfPrfRowStatus         RowStatus,
        zxAnBrgPortDefaultPriority          Integer32,
        zxAnBrgPortPrioritySetMode          INTEGER, 
        zxAnBrgPortPrioritySetModeCvlan     INTEGER,
        zxAnBrgPortDSCPSetMode              INTEGER
    }

    zxAnBrgPortConfProfileName OBJECT-TYPE 
        SYNTAX      DisplayString( SIZE ( 1 .. 32  ) )
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "The profile name is a display string.It is a index of this table."
        ::= { zxAnBridgePortConfProfileEntry 1 }

    zxAnBrgPortDefaultPriorityCvlan OBJECT-TYPE 
        SYNTAX      Integer32(0..7)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "The default priority for cvlan."
        DEFVAL      { 0 }
        ::= { zxAnBridgePortConfProfileEntry 2 }

    zxAnBrgPortPriorityOvrideCvlan OBJECT-TYPE 
        SYNTAX      Integer32(0..7)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "The override priority for cvlan."
        DEFVAL      { 0 }
        ::= { zxAnBridgePortConfProfileEntry 3 }

    zxAnBrgPortPriorityOvrideSvlan OBJECT-TYPE 
        SYNTAX      Integer32(0..7)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The override priority for cvlan."
        DEFVAL      { 0 }
        ::= { zxAnBridgePortConfProfileEntry 4 }
        
    zxAnBrgPortPriorityTrustCvlan OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            trust(1),
            mapToDscp(2),
            override(3),
            mapFromDscp(4) 
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The priority trust mode for cvlan."
        DEFVAL      { 1 }
        ::= { zxAnBridgePortConfProfileEntry 5 }

    zxAnBrgPortPriorityTrustSvlan OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            override(1),
            copyFromCvlan(2) 
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The priority trust mode for svlan."
        DEFVAL      { 1 }
        ::= { zxAnBridgePortConfProfileEntry 6 }

    zxAnBrgPortPriorityRemarkEnable OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "Enable or disable the priority remarking."
        DEFVAL      { enable }
        ::= { zxAnBridgePortConfProfileEntry 7 }


    zxAnBrgPortPriorityFilterEnable OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            enable(1),
            disable(2)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "Enable or disable the Priority Filter."
        DEFVAL      { enable }
        ::= { zxAnBridgePortConfProfileEntry 8 }

    zxAnBrgPortRateLimitUp OBJECT-TYPE 
        SYNTAX      Integer32(0..12200)
        UNITS       "kbps"        
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Rate limit for upstream."
        DEFVAL      { 12200 }
        ::= { zxAnBridgePortConfProfileEntry 9 }

    zxAnBrgPortRateLimitDown OBJECT-TYPE 
        SYNTAX      Integer32(0..32640)
        UNITS       "kbps"        
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "Rate limit for downstream."
        DEFVAL      { 32640 }
        ::= { zxAnBridgePortConfProfileEntry 10 }

    zxAnBrgPortConfPrfRowStatus OBJECT-TYPE 
        SYNTAX      RowStatus
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The row status of this entry."
        ::= { zxAnBridgePortConfProfileEntry 11 }   

    zxAnBrgPortDefaultPriority OBJECT-TYPE 
        SYNTAX      Integer32(0..7)
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION 
            "The default priority."
        DEFVAL      { 0 }
        ::= { zxAnBridgePortConfProfileEntry 12 }
        
    zxAnBrgPortPrioritySetMode OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            trust(1),
            override(2),
            remark(3),
            trustDscpMap(4)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The priority mode."
        DEFVAL      { trust }
        ::= { zxAnBridgePortConfProfileEntry 13 }
        
    zxAnBrgPortPrioritySetModeCvlan OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            trust(1),
            override(2),
            remark(3),
            trustDscpMap(4)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The priority mode of Cvlan."
        DEFVAL      { trust }
        ::= { zxAnBridgePortConfProfileEntry 14 }
        
    zxAnBrgPortDSCPSetMode OBJECT-TYPE 
        SYNTAX      INTEGER
        {
            trust(1),
            trustQosMap(2)
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The priority mode of dscp"
        DEFVAL      { trust }
        ::= { zxAnBridgePortConfProfileEntry 15 }                       
        
--------------------------------------------------------------------------------
-- 6.COS Priority to Traffic Class (DSCP) Mapping Table
--------------------------------------------------------------------------------
    zxAnQosCos2DscpMappingTable OBJECT-TYPE
        SYNTAX      SEQUENCE  OF  ZxAnQosCos2DscpMappingEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "The CoS mapping table given DSCP value."
        ::= { zxAnQosObjects 6 }
  
    zxAnQosCos2DscpMappingEntry OBJECT-TYPE
        SYNTAX      ZxAnQosCos2DscpMappingEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION 
            "An entry (conceptual row) representing a CoS to DSCP
            mapping table."
        INDEX       { zxAnQosCos2DscpMappingCos }
        ::= { zxAnQosCos2DscpMappingTable 1 }
  
    ZxAnQosCos2DscpMappingEntry ::= SEQUENCE 
    {
        zxAnQosCos2DscpMappingCos    Integer32,
        zxAnQosCos2DscpMappingDscp   Integer32
    }
   
    zxAnQosCos2DscpMappingCos OBJECT-TYPE    
        SYNTAX      Integer32  ( 0 .. 7  ) 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION        
            "The CoS value."
        ::= { zxAnQosCos2DscpMappingEntry 1 }
  
    zxAnQosCos2DscpMappingDscp OBJECT-TYPE
        SYNTAX      Integer32  ( 0 .. 63  ) 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "DSCP value corresponding to zxAnQosCos2DscpMappingCos."
        ::= { zxAnQosCos2DscpMappingEntry 2 }
    
--------------------------------------------------------------------------------
-- 7.Traffic Class (DSCP) to COS Priority Mapping Table
--------------------------------------------------------------------------------

    zxAnQosDscp2CosMappingTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF ZxAnQosDscp2CosMappingEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION
            "The DSCP mapping table given CoS value."
        ::=  { zxAnQosObjects  7 }
  
    zxAnQosDscp2CosMappingEntry OBJECT-TYPE
        SYNTAX      ZxAnQosDscp2CosMappingEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry (conceptual row) representing a DSCP to CoS
            mapping table."
        INDEX       { zxAnQosDscp2CosMappingDscp }
        ::= { zxAnQosDscp2CosMappingTable 1 }
  
    ZxAnQosDscp2CosMappingEntry ::= SEQUENCE 
    {
        zxAnQosDscp2CosMappingDscp   Integer32,
        zxAnQosDscp2CosMappingCos    Integer32
    }
  
    zxAnQosDscp2CosMappingDscp OBJECT-TYPE    
        SYNTAX      Integer32 ( 0..63 ) 
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION        
            "DSCP value."
        ::= { zxAnQosDscp2CosMappingEntry 1 }

    zxAnQosDscp2CosMappingCos OBJECT-TYPE    
        SYNTAX      Integer32  ( 0 .. 7  ) 
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION        
            "The CoS value corresponding to zxAnQosDscp2CosMappingDscp."
        ::= { zxAnQosDscp2CosMappingEntry 2 }

END
