-- ============================================================================
-- Copyright (C) 2018 by  HUAWEI TECHNOLOGIES. All rights reserved.
-- Description: This MIB is used for defining Huawei's trace counter attributes.  
-- Reference: HUAWEI-DEVICE-MIB,HUAWEI-MIB
-- Version: V1.00
-- ============================================================================

    HUAWEI-TRACE-COUNTER-MIB DEFINITIONS ::= BEGIN

        IMPORTS
            huaweiMgmt
                FROM HUAWEI-MIB
            Integer32, Counter64, IpAddress, 
            OBJECT-TYPE, MODULE-IDENTITY
                FROM SNMPv2-SMI 
            Ipv6Address                             
                FROM IPV6-TC                
            MacAddress, RowStatus, TEXTUAL-CONVENTION        
                FROM SNMPv2-TC
            OBJECT-GROUP     
                FROM SNMPv2-CONF;
      
        hwTraceCounter MODULE-IDENTITY
            LAST-UPDATED "201806290000Z"   
            ORGANIZATION "Huawei Technologies Co.,Ltd."
            CONTACT-INFO                                      
                "Huawei Industrial Base              
                 Bantian, Longgang                   
                 Shenzhen 518129                     
                 People's Republic of China          
                 Website: http://www.huawei.com      
                 Email: support@huawei.com           
                "                                    
            DESCRIPTION
                "This MIB is used for defining Huawei's trace counter attributes. "
    --  Revision history
        REVISION     "201806290000Z"
        DESCRIPTION  "V1.00, Initial revision."
      
        ::= { huaweiMgmt 123 }
      
       hwTraceCounterMibObject OBJECT IDENTIFIER ::= { hwTraceCounter 1 }
       
       hwTraceCounterConfigTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwTraceCounterConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Describes the configuration of trace counter.
                 The index of this table is hwTCIndex.
                "
            ::= { hwTraceCounterMibObject 1 }
        
        hwTraceCounterConfigEntry OBJECT-TYPE
            SYNTAX HwTraceCounterConfigEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Describes the configuration of trace counter.
                 The index of this table is hwTCIndex.
                "
            INDEX { hwTCIndex }
            ::= { hwTraceCounterConfigTable 1 }
            
        HwTraceCounterConfigEntry ::=
            SEQUENCE 
                {
                hwTCIndex
                    Integer32,
                hwTCRowstatus    
                    RowStatus,
                hwTCTunnelType 
                    INTEGER,    
                hwTCFrameSlotPort
                    Integer32,               
                hwTCOntId 
                    Integer32,
                hwTCPacketType 
                    Integer32,
                hwTCSrcIp 
                    IpAddress,
                hwTCSrcIpv6 
                    Ipv6Address,
                hwTCSrcMac
                    MacAddress,
                hwTCDstIp 
                    IpAddress,
                hwTCDstIpv6 
                    Ipv6Address,
                hwTCDstMac
                    MacAddress,
                hwTCVlanId      
                    Integer32,
                hwTCInnerVlanId 
                    Integer32,  
                hwTCTunnelNum  
                    Integer32,
                hwTCVxlanVniId      
                    Integer32,  
                hwTCVxlanPeerAddr       
                    IpAddress,
                hwTCDirection   
                    INTEGER,                    
                hwTCTime 
                    Integer32,
                hwTCInFrameSlotPort
                    Integer32,                  
                hwTCInBoradPacketCount  
                    Counter64,
                hwTCInBoradSendCount
                    Counter64,                  
                hwTCOutFrameSlotPort1 
                    Integer32,                  
                hwTCOutPortExtend1      
                    Integer32,
                hwTCOutBoradRsvPackets1
                    Counter64,                  
                hwTCOutBoradSendPackets1 
                    Counter64,                      
                hwTCOutFrameSlotPort2
                    Integer32,                  
                hwTCOutPortExtend2      
                    Integer32,
                hwTCOutBoradRsvPackets2
                    Counter64,                  
                hwTCOutBoradSendPackets2
                    Counter64,  
                hwTCOutFrameSlotPort3 
                    Integer32,                  
                hwTCOutPortExtend3  
                    Integer32,
                hwTCOutBoradRsvPackets3
                    Counter64,                  
                hwTCOutBoradSendPackets3
                    Counter64,
                hwTCOutFrameSlotPort4 
                    Integer32,                  
                hwTCOutPortExtend4      
                    Integer32,
                hwTCOutBoradRsvPackets4
                    Counter64,                  
                hwTCOutBoradSendPackets4
                    Counter64                   
                }   
            
        hwTCIndex OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS not-accessible
          STATUS current
          DESCRIPTION
             "Index of trace counter.
			 The index value can only be fixed to 1."
          ::= { hwTraceCounterConfigEntry 1 }   

        hwTCRowstatus OBJECT-TYPE
          SYNTAX RowStatus
          MAX-ACCESS read-create
          STATUS current
          DESCRIPTION
             "Indicates the row status. 
           To create trace counter, set this leaf to createAndGo(4).
           To delete trace counter, set this leaf to destroy(6). 
           When this leaf is queried, the value is fixed to active(1).
           Options: 
           1. active(1)      -indicates the query operation
           2. createAndGo(4) -indicates creating trace counter
           3. destroy(6)     -indicates deleting trace counter"
          ::= { hwTraceCounterConfigEntry 2 }   

       hwTCTunnelType OBJECT-TYPE
          SYNTAX INTEGER
              {
              nonTunnel(1),
              greTunnel(2),
              vxlanTunnel(3)         
              }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
             "Type of the Tunnel.
              Options:
              1. nonTunnel(1)        -non tunnel type
              2. greTunnel(2)        -gre tunnel
              3. vxlanTunnel(3)      -vxlan tunnel
              "
          ::= { hwTraceCounterConfigEntry 3 }

        hwTCFrameSlotPort OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
             "Indicates the subrack ID, slot ID, and port ID. 
             The highest 8 bit Indicates the subrack ID, the next
             8 bit indicates the slot ID, the last 16 bit indicates
             the port ID."
          ::= { hwTraceCounterConfigEntry 4 }   

        hwTCOntId OBJECT-TYPE
          SYNTAX Integer32 (0..255)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
             "Indicates the ONT ID."
          ::= { hwTraceCounterConfigEntry 5 }
          
        hwTCPacketType OBJECT-TYPE
          SYNTAX Integer32 (0..65535)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
             "Indicates the packet type ID."
          ::= { hwTraceCounterConfigEntry 6 }   

        hwTCSrcIp OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the source IPv4 address of the packet."
            ::= { hwTraceCounterConfigEntry 7 }

        hwTCSrcIpv6 OBJECT-TYPE
            SYNTAX    Ipv6Address  
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                "Indicates the source IPv6 address of the packet."
            ::= { hwTraceCounterConfigEntry 8 }      

        hwTCSrcMac OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "Indicates the source MAC address of the packet."
           ::= { hwTraceCounterConfigEntry 9 }
           
        hwTCDstIp OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the destination IPv4 address of the packet."
            ::= { hwTraceCounterConfigEntry 10 }

        hwTCDstIpv6 OBJECT-TYPE
            SYNTAX    Ipv6Address  
            MAX-ACCESS read-write
            STATUS     current
            DESCRIPTION
                "Indicates the destination IPv6 address of the packet."
            ::= { hwTraceCounterConfigEntry 11 }      

        hwTCDstMac OBJECT-TYPE
            SYNTAX MacAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
               "Indicates the destination MAC address of the packet."
           ::= { hwTraceCounterConfigEntry 12 }

        hwTCVlanId OBJECT-TYPE
          SYNTAX Integer32 (1..4095)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
             "Indicates the vlan id of the packet."
          ::= { hwTraceCounterConfigEntry 13 }  

        hwTCInnerVlanId OBJECT-TYPE
          SYNTAX Integer32 (1..4095)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
             "Indicates the inner vlan id of the packet."
          ::= { hwTraceCounterConfigEntry 14 }  

        hwTCTunnelNum OBJECT-TYPE
          SYNTAX Integer32 (1..1088)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
             "Indicates the interface index of a gre tunnel."
          ::= { hwTraceCounterConfigEntry 15 }  

        hwTCVxlanVniId OBJECT-TYPE
          SYNTAX Integer32 (1..16777215)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
             "Indicates the vni id of a vxlan tunnel."
          ::= { hwTraceCounterConfigEntry 16 }  

        hwTCVxlanPeerAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Indicates the IP address of a remote VTEP."
            ::= { hwTraceCounterConfigEntry 17 }

       hwTCDirection OBJECT-TYPE
          SYNTAX INTEGER
              {
              default(1),
              toCpu(2)        
              }
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
             "Type of the Tunnel.
              Options:
              1. default(1)        -Foward packets.
              2. toCpu(2)          -Mirrors packets to the CPU.
              "
          ::= { hwTraceCounterConfigEntry 18 }
          
        hwTCTime OBJECT-TYPE
          SYNTAX Integer32 (1..86400)
          MAX-ACCESS read-write
          STATUS current
          DESCRIPTION
             "Sets the time for tracing the packet."
          ::= { hwTraceCounterConfigEntry 19 }

        hwTCInFrameSlotPort OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
             "Indicates the subrack ID, slot ID, and port ID of ingress
             port.The highest 8 bit Indicates the subrack ID, the next
             8 bit indicates the slot ID, the last 16 bit indicates
             the port ID."
          ::= { hwTraceCounterConfigEntry 20 }

       hwTCInBoradPacketCount OBJECT-TYPE
           SYNTAX Counter64
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "Indicates the number of receive packets of ingress board."
           ::= { hwTraceCounterConfigEntry 21 }

       hwTCInBoradSendCount OBJECT-TYPE
           SYNTAX Counter64
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "Indicates the number of send packets of ingress board."
       ::= { hwTraceCounterConfigEntry 22 }

        hwTCOutFrameSlotPort1 OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
             "Indicates the subrack ID, slot ID, and port ID of egress
             port.The highest 8 bit Indicates the subrack ID, the next
             8 bit indicates the slot ID, the last 16 bit indicates
             the port ID.Each 8 bit represents a egress port, 2 ports
             can be present at most."
          ::= { hwTraceCounterConfigEntry 23 }
          
        hwTCOutPortExtend1  OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
             "Indicates the extend port ID of egress port. Each 8 bit represents a egress port."
          ::= { hwTraceCounterConfigEntry 24 }
          
       hwTCOutBoradRsvPackets1 OBJECT-TYPE
           SYNTAX Counter64
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "Indicates the number of receive packets of egress board."
           ::= { hwTraceCounterConfigEntry 25 }

       hwTCOutBoradSendPackets1 OBJECT-TYPE
           SYNTAX Counter64
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "Indicates the number of send packets of egress board."
           ::= { hwTraceCounterConfigEntry 26 }    
       
        hwTCOutFrameSlotPort2 OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
             "Indicates the subrack ID, slot ID, and port ID of egress
             port.The highest 8 bit Indicates the subrack ID, the next
             8 bit indicates the slot ID, the last 16 bit indicates
             the port ID.Each 8 bit represents a egress port, 2 ports
             can be present at most."
          ::= { hwTraceCounterConfigEntry 27 }
          
        hwTCOutPortExtend2  OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
              "Indicates the extend port ID of egress port. Each 8 bit represents a egress port."
          ::= { hwTraceCounterConfigEntry 28 }
          
       hwTCOutBoradRsvPackets2 OBJECT-TYPE
           SYNTAX Counter64
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "Indicates the number of receive packets of egress board."
           ::= { hwTraceCounterConfigEntry 29 }

       hwTCOutBoradSendPackets2 OBJECT-TYPE
           SYNTAX Counter64
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "Indicates the number of send packets of egress board."
           ::= { hwTraceCounterConfigEntry 30 }        
          
        hwTCOutFrameSlotPort3 OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
             "Indicates the subrack ID, slot ID, and port ID of egress
             port.The highest 8 bit Indicates the subrack ID, the next
             8 bit indicates the slot ID, the last 16 bit indicates
             the port ID.Each 8 bit represents a egress port, 2 ports
             can be present at most."
          ::= { hwTraceCounterConfigEntry 31 }
          
        hwTCOutPortExtend3  OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
              "Indicates the extend port ID of egress port. Each 8 bit represents a egress port."
          ::= { hwTraceCounterConfigEntry 32 }
          
       hwTCOutBoradRsvPackets3 OBJECT-TYPE
           SYNTAX Counter64
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "Indicates the number of receive packets of egress board."
           ::= { hwTraceCounterConfigEntry 33 }

       hwTCOutBoradSendPackets3 OBJECT-TYPE
           SYNTAX Counter64
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "Indicates the number of send packets of egress board."
           ::= { hwTraceCounterConfigEntry 34 }        
       
        hwTCOutFrameSlotPort4 OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
             "Indicates the subrack ID, slot ID, and port ID of egress
             port.The highest 8 bit Indicates the subrack ID, the next
             8 bit indicates the slot ID, the last 16 bit indicates
             the port ID.Each 8 bit represents a egress port, 2 ports
             can be present at most."
          ::= { hwTraceCounterConfigEntry 35 }
          
        hwTCOutPortExtend4  OBJECT-TYPE
          SYNTAX Integer32
          MAX-ACCESS read-only
          STATUS current
          DESCRIPTION
              "Indicates the extend port ID of egress port. Each 8 bit represents a egress port."
          ::= { hwTraceCounterConfigEntry 36 }
          
       hwTCOutBoradRsvPackets4 OBJECT-TYPE
           SYNTAX Counter64
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "Indicates the number of receive packets of egress board."
           ::= { hwTraceCounterConfigEntry 37 }

       hwTCOutBoradSendPackets4 OBJECT-TYPE
           SYNTAX Counter64
           MAX-ACCESS read-only
           STATUS current
           DESCRIPTION
               "Indicates the number of send packets of egress board."
           ::= { hwTraceCounterConfigEntry 38 }        
          
END    
       
       
       
       
       
       
       
       
       
       
       

          
