--
--
-- Zte Dsl traffic mgmt Mib 
-- 
-- 


ZTE-DSL-TRAFFIC-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, TimeTicks, OBJECT-TYPE,
    NOTIFICATION-TYPE, enterprises,IpAddress,Integer32
                                             FROM SNMPv2-SMI
    DateAndTime,RowStatus, DisplayString     FROM SNMPv2-TC
    SnmpAdminString                          FROM SNMP-FRAMEWORK-MIB;

    zxDslTrafficMgmt MODULE-IDENTITY
            LAST-UPDATED "200710230850Z"
            ORGANIZATION "zte dsl product line"
            CONTACT-INFO
                " su chunshan
                  Mail: suchunshan@zte.com.cn
                  Tel : 021-68896292"
            DESCRIPTION
                "This mib defines dsl traffic mgmt mo (managed object ).
                 "
    ::= {zxDsl 42}

    zte OBJECT IDENTIFIER ::= { enterprises 3902 }
    zxDsl     OBJECT IDENTIFIER ::= { zte 1004  }

------------------------------------------------------------------------------
-- Following objects are defined.
-- 1.Traffic Configuration Profile Table
-- 2.Traffic Interface Configuration Table
-- 3.Traffic Interface Configuration Table(New)
-- 50. Traffic Management Global Objects
------------------------------------------------------------------------------

------------------------------------------------------------------------------
-- 1.Traffic Configuration Profile Table
------------------------------------------------------------------------------  
     
    zxDslTrafficConfProfileTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxDslTrafficConfProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of Traffic Configuration Profile."
        ::= { zxDslTrafficMgmt 1 }

    zxDslTrafficConfProfileEntry OBJECT-TYPE
        SYNTAX ZxDslTrafficConfProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of Traffic Configuration Profile parameters."
        INDEX { zxDslTrafficConfPrfName }
        ::= { zxDslTrafficConfProfileTable 1 }

    ZxDslTrafficConfProfileEntry ::= SEQUENCE {
        zxDslTrafficConfPrfName         DisplayString,
        zxDslTrafficConfPrfCir          Integer32,
        zxDslTrafficConfPrfCbs          Integer32,
        zxDslTrafficConfPrfPir          Integer32,
        zxDslTrafficConfPrfPbs          Integer32,
        zxDslTrafficConfPrfCosPriTrust  INTEGER,
        zxDslTrafficConfPrfCosPriority  Integer32,
        zxDslTrafficConfPrfDiscardMode  INTEGER,
        zxDslTrafficConfPrfRowStatus    RowStatus
    }

    zxDslTrafficConfPrfName  OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..32))
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Traffic profile name which applies for a interface."
        ::= { zxDslTrafficConfProfileEntry 1 }
        
    zxDslTrafficConfPrfCir OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "kbps"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Committed Information Rate(CIR) in kbps.
            Reserved now."
        REFERENCE
            "Only used for VDSL port"
        ::= { zxDslTrafficConfProfileEntry 2 }

    zxDslTrafficConfPrfCbs OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "kbytes"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Committed Burst Rate(CBS) in kbyte.
            Reserved now."
        REFERENCE
            "Only used for VDSL port"
        ::= { zxDslTrafficConfProfileEntry 3 }

    zxDslTrafficConfPrfPir OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "kbps"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Peak Information Rate(PIR) in kbps."
        REFERENCE
            "Only used for VDSL port"
        ::= { zxDslTrafficConfProfileEntry 4 }

    zxDslTrafficConfPrfPbs OBJECT-TYPE
        SYNTAX      Integer32
        UNITS       "kbytes"
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Peak Burst Rate(PBS) in kbyte."
        REFERENCE
            "Only used for VDSL port"
        ::= { zxDslTrafficConfProfileEntry 5 }
                
    zxDslTrafficConfPrfCosPriTrust OBJECT-TYPE
        SYNTAX      INTEGER
            {
                override(1),
                trust(2)
            }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "Mode of COS priority trust mode.
            
             override(1)   -- Untrust and Override the COS value of the traffic 
                                by zxDslTrafficConfPrfCosPriority
                                
             trust(2)      -- trust the COS priority of the traffic and not to 
                                override it
                                
             remark(3)     -- remark the COS priority of the traffic according 
                                to the interface's configuration
            "
        REFERENCE
            "Only used for VDSL port"
        ::= { zxDslTrafficConfProfileEntry 6 }
                    
    zxDslTrafficConfPrfCosPriority OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The overriding COS priority."
        REFERENCE
            "Only used for VDSL port"
        ::= { zxDslTrafficConfProfileEntry 7 }
            
    zxDslTrafficConfPrfDiscardMode OBJECT-TYPE
        SYNTAX      INTEGER
            {
                noDistinction(1),
                lowPriorityFirst(2)
            }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The discard mode is used when the traffic exceeds the limit.
                noDistinction(1)     -- discard extra flow equally
                lowPriorityFirst(2)  -- discard  low priority first
            "
        REFERENCE
            "Only used for VDSL port"
        ::= { zxDslTrafficConfProfileEntry 8 }
             
    
    zxDslTrafficConfPrfRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "This object is used to create a new row or modify or
            delete an existing row in this table.
            A profile activated by setting this object to
            `active'.  When `active' is set, the system
            will validate the profile.

            Before a profile can be deleted or taken out of
            service, (by setting this object to `destroy' or
            `outOfService') it must be first unreferenced
            from all associated interfaces."
        REFERENCE
            "Only used for VDSL port"        
        ::= { zxDslTrafficConfProfileEntry 30 }         

------------------------------------------------------------------------------
-- 2.Traffic Interface Configuration Table
------------------------------------------------------------------------------  
     
    zxDslTrafficInterfaceTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZxDslTrafficInterfaceEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of Traffic Interface Configuration ."
        ::= { zxDslTrafficMgmt 2 }

    zxDslTrafficInterfaceEntry OBJECT-TYPE
        SYNTAX ZxDslTrafficInterfaceEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A list of traffic interface parameters."
        INDEX { zxDslTrafficPort,zxDslTrafficSvcIface }
        ::= { zxDslTrafficInterfaceTable 1 }

    ZxDslTrafficInterfaceEntry ::= SEQUENCE {
        zxDslTrafficPort              Integer32,
        zxDslTrafficSvcIface          Integer32,
        zxDslTrafficSvcIfaceType      INTEGER,
        zxDslTrafficSvcEncapType      INTEGER,
        zxDslTrafficIfaceEgressPrf    DisplayString,
        zxDslTrafficIfaceIngressPrf   DisplayString,
        zxDslTrafficIfaceRowStatus    RowStatus
    }

         
    zxDslTrafficPort OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The port index, ie. ifIndex."
         ::= { zxDslTrafficInterfaceEntry 1 }

    zxDslTrafficSvcIface OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The service interface applied traffic profile."
         ::= { zxDslTrafficInterfaceEntry 2 }

    zxDslTrafficSvcIfaceType OBJECT-TYPE
        SYNTAX      INTEGER
            {
                pvc(1),
                vlan(2)
                --cos(3)
            }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The type of a service interface."
        REFERENCE
            "Only used for VDSL port"
        ::= { zxDslTrafficInterfaceEntry 3 }

    zxDslTrafficSvcEncapType OBJECT-TYPE
        SYNTAX      INTEGER
            {
                pppoe(1),
                ipoe(2),
                all(3)
            }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The encapsulation type on a service interface."
        REFERENCE
            "Only used for VDSL port"        
        ::= { zxDslTrafficInterfaceEntry 4 }
  
    zxDslTrafficIfaceEgressPrf OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The traffic profile of egress direction."
        REFERENCE
            "Only used for VDSL port"
        ::= { zxDslTrafficInterfaceEntry 5 }

    zxDslTrafficIfaceIngressPrf OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The traffic profile of ingress direction."
        REFERENCE
            "Only used for VDSL port"
        ::= { zxDslTrafficInterfaceEntry 6 }

    zxDslTrafficIfaceRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "This object is used to create a new row or modify or
            delete an existing row in this table.
            A profile activated by setting this object to
            `active'.  When `active' is set, the system
            will validate the profile."
        REFERENCE
            "Only used for VDSL port"
        ::= { zxDslTrafficInterfaceEntry 20 }

------------------------------------------------------------------------------
-- 3.Traffic Interface Configuration Table(New)
------------------------------------------------------------------------------  
     
    zxDslTrafficIfTable OBJECT-TYPE
        SYNTAX     SEQUENCE OF ZxDslTrafficIfEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "A table of interface traffic profile configuration."
        ::= { zxDslTrafficMgmt 3 }

    zxDslTrafficIfEntry OBJECT-TYPE
        SYNTAX     ZxDslTrafficIfEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "An entry of zxDslTrafficIfTable."
        INDEX 
        { 
            zxDslTrafficIfIndex, 
            zxDslTrafficIfCircuitType, 
            zxDslTrafficIfLogicalId 
        }
        ::= { zxDslTrafficIfTable 1 }

    ZxDslTrafficIfEntry ::= SEQUENCE {
        zxDslTrafficIfIndex           Integer32,
        zxDslTrafficIfCircuitType     INTEGER,
        zxDslTrafficIfLogicalId       Integer32,        
        zxDslTrafficIfEthType         INTEGER,
        zxDslTrafficIfEgressPrf       DisplayString,
        zxDslTrafficIfIngressPrf      DisplayString,
        zxDslTrafficIfRowStatus       RowStatus
    }
    
    zxDslTrafficIfIndex OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The port index, ie. ifIndex."
        ::= { zxDslTrafficIfEntry 1 }
         
    zxDslTrafficIfCircuitType OBJECT-TYPE
        SYNTAX      INTEGER
        {
            bridgePort(1),
            vlan(2)
        }
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object indicates the type of circuit."
        ::= { zxDslTrafficIfEntry 2 }
    
    zxDslTrafficIfLogicalId  OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This value indicats the logical index.

            When zxDslTrafficIfCircuitType is 'bridgePort', this object
            includes PVC No., such as 1 indicates pvc1.            
            When zxDslTrafficIfCircuitType is 'vlan', this object
            includes VLAN ID, such as 1 indicates VLAN 1.
            "
        ::= { zxDslTrafficIfEntry 3 }

    zxDslTrafficIfEthType OBJECT-TYPE
        SYNTAX      INTEGER
        {
            all(1),
            pppoe(2),
            ipoe(3)            
        }
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The encapsulation ethernet type on a service interface."
        ::= { zxDslTrafficIfEntry 4 }
  
    zxDslTrafficIfEgressPrf OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..32))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The traffic profile of egress direction.
            Empty string means no traffic profile configuration."
        ::= { zxDslTrafficIfEntry 5 }


    zxDslTrafficIfIngressPrf OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..32))
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
            "The traffic profile of ingress direction.
             Empty string means no traffic profile configuration.
            "
        ::= { zxDslTrafficIfEntry 6 }

    zxDslTrafficIfRowStatus OBJECT-TYPE
        SYNTAX          RowStatus
        MAX-ACCESS      read-create
        STATUS          current
        DESCRIPTION
            "The status of this conceptual row.

             To create a row in this table, a manager must
             set this object to createAndGo(4).
          
             In particular, a newly created row cannot be created
             until the corresponding zxDslTrafficIfEthType,
             zxDslTrafficIfEgressPrf and zxDslTrafficIfIngressPrf 
             have been set.
             
             To delete a row in this table, a manager must
             set this object to destroy(6)."
        ::= { zxDslTrafficIfEntry 50 }
        
------------------------------------------------------------------------------
-- 50. Traffic Management Global Objects
------------------------------------------------------------------------------  
    
    zxDslTrafficMgmtGlobalObjects   OBJECT IDENTIFIER ::= {zxDslTrafficMgmt 50}
    
    zxDslTrafficMgmtCapabilities OBJECT-TYPE
        SYNTAX     BITS
        {
            supportZxDslTrafficIfTable(0)
        }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The management capabilities of this interface.
            The bit value 1 means the function represented by this bit is 
            supported by this interface.
            
            bit 0: value 1 means support zxDslTrafficIfTable and 
                   zxDslTrafficIfTable was deprecated.
            
            NOTE:
               No recomanded to display it in NMS.
            "
        ::= { zxDslTrafficMgmtGlobalObjects 1 }
END                           