-- ===========================================================
-- Copyright (C) 2019 by HUAWEI TECHNOLOGIES. All rights reserved.
-- 
-- Description: HUAWEI-NAT-EXT-MIB
-- Reference:     
-- Version: V2.06
-- History: 
-- ===========================================================

    HUAWEI-NAT-EXT-MIB DEFINITIONS ::= BEGIN
 
        IMPORTS
            hwDatacomm            
                FROM HUAWEI-MIB            
            ifIndex            
                FROM IF-MIB            
            OBJECT-GROUP, MODULE-COMPLIANCE, NOTIFICATION-GROUP            
                FROM SNMPv2-CONF            
            TimeTicks, IpAddress, Integer32, Unsigned32, Gauge32, 
            Counter32, OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE            
                FROM SNMPv2-SMI            
            DisplayString, TEXTUAL-CONVENTION, TruthValue, RowStatus            
                FROM SNMPv2-TC;
    
    
--  Mar 07, 2017 at 11:40 GMT
    
        hwNatExtMIB MODULE-IDENTITY 
            LAST-UPDATED "201909181621Z"  
            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 
              "Add mib nodes OID hwServermapNumReachLimit and hwServermapNumReachLimitResume."
            REVISION    "201909181621Z"

             DESCRIPTION 
              "Modify hwNatStaticTable and hwNatServerTable"


            REVISION    "201703071140Z" 
 
          DESCRIPTION 
              "Add mib nodes OID hwNatStaticOutIPInterface and hwNatServerOutIPInterface."

            REVISION    "201603281700Z" 
 
          DESCRIPTION 
              "The MIB contains objects of S9300 NAT features , referencing the RFC4004."

            REVISION    "201405062000Z" 

            DESCRIPTION
                "This MIB describes modify for support NAT session query."


            REVISION    "201401082000Z" 

            DESCRIPTION
                "This MIB describes modify for support multi address."
                       
            REVISION    "201401082000Z"

            DESCRIPTION "Modify mib nodes OID.So that, eSAP V1R7 version mib nodes 
                                            can be compatible to last version's mib nodes." 


            ::= { hwDatacomm 226 }

        
    
--
-- Textual conventions
--
    

        NATProtocolType ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                "A list of protocols that are affected by NAT.
                Inclusion of values is not intended to imply that
                those protocols need be supported."
            SYNTAX INTEGER
                {
                other(1),
                icmp(2),
                udp(3),
                tcp(4)
                }
                
        NATBindType ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                "nat address group bind type."
            SYNTAX INTEGER
                {
                none(0),
                pat(1),
                no-pat(2)                
                }


        NATFilterMode ::= TEXTUAL-CONVENTION
            STATUS current
            DESCRIPTION 
                "The mode of NAT filter."
            SYNTAX INTEGER
                {
                endPointIndependent(1),
                endPointDependent(2),
                endPointPortDependent(3)
                }

    
--
-- Node definitions
--
    
        hwNatExtMIBNotifications OBJECT IDENTIFIER ::= { hwNatExtMIB 1 }

        
        
        hwNatPacketDiscard NOTIFICATION-TYPE
            OBJECTS { hwNatExtIfName }
            STATUS current
            DESCRIPTION 
                "This notification is generated when IP packets are
                discarded by the NAT function; e.g., due to lack of
                mapping space when NAT is out of addresses or ports."
                
            ::= { hwNatExtMIBNotifications 1 }                

        hwServermapNumReachLimit NOTIFICATION-TYPE
            STATUS current
            DESCRIPTION 
                "This notification is generated when the number of NAT servermap tables reaches the upper limit."
                
            ::= { hwNatExtMIBNotifications 2 }
                  
        hwServermapNumReachLimitResume NOTIFICATION-TYPE
            STATUS current
            DESCRIPTION 
                "This notification is generated when the number of NAT servermap tables reduces to 85% of the upper limit."
                
            ::= { hwNatExtMIBNotifications 3 }      
        
        hwNatExtMIBObjects OBJECT IDENTIFIER ::= { hwNatExtMIB 2 }

        
        
        hwNatBind OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 1 }

        
        
        hwNatAddrBindNumberOfEntries OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object maintains a count of the number of entries
                that currently exist in the hwNatAddrBindTable."
            ::= { hwNatBind 1 }

        
        
        hwNatAddrBindTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNatAddrBindEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This table holds information about the currently
                active NAT BINDs."
            ::= { hwNatBind 2 }

        
        
        hwNatAddrBindEntry OBJECT-TYPE
            SYNTAX HwNatAddrBindEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Each entry in the NAT BIND table holds information
                about a NAT BIND that is currently active."
            INDEX {  ifIndex, hwNatAddrBindQueryVrfName, hwNatAddrBindQueryAddr, hwNatAddrBindType}
            ::= { hwNatAddrBindTable 1 }

        
        HwNatAddrBindEntry ::=
            SEQUENCE { 
                hwNatAddrBindQueryVrfName
                    DisplayString,
                hwNatAddrBindQueryAddr
                    IpAddress,
                hwNatAddrBindType
                    INTEGER,
                hwNatAddrBindMappedVrfName
                    DisplayString,
                hwNatAddrBindMappedAddr
                    IpAddress,
                hwNatAddrBindId
                    Unsigned32,
                hwNatAddrBindSessionCount
                    Gauge32,
                hwNatAddrBindCurrentIdleTime
                    TimeTicks,
                hwNatAddrBindInTranslate
                    Counter32,
                hwNatAddrBindOutTranslate
                    Counter32
             }

        
        hwNatAddrBindQueryVrfName OBJECT-TYPE
            SYNTAX DisplayString (SIZE (1..31))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Vrf name for the hwNatAddrQueryAddr."
            ::= { hwNatAddrBindEntry 1 }

        
        
        hwNatAddrBindQueryAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object represents the query ip address, which can be
                local address or global address, depending on the value of 
                hwNatAddrBindType."
            ::= { hwNatAddrBindEntry 2 }

        
        
        hwNatAddrBindType OBJECT-TYPE
            SYNTAX INTEGER
                {
                natOutbound(1),
                natServer(2),
                staticNatLocalToGlobal(3),
                staticNatGlobalToLocal(4)
                }
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object represents the type of the BIND."
            ::= { hwNatAddrBindEntry 3 }

        
        
        hwNatAddrBindMappedVrfName OBJECT-TYPE
            SYNTAX DisplayString (SIZE (1..31))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Vrf name for the hwNatAddrBindMappedAddr."
            ::= { hwNatAddrBindEntry 4 }

        
        
        hwNatAddrBindMappedAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object represents the ip address that
                maps to the hwNatAddrBindQueryAddr."
            ::= { hwNatAddrBindEntry 5 }

        
        
        hwNatAddrBindId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object represents a BIND id that is dynamically
                assigned to each BIND by a NAT enabled device. Each
                BIND is represented by a unique BIND id across both,
                the Address Bind and Address-Port Bind tables."
            ::= { hwNatAddrBindEntry 8 }

        
        
        hwNatAddrBindSessionCount OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of sessions currently using this BIND."
            ::= { hwNatAddrBindEntry 9 }

        
        
        hwNatAddrBindCurrentIdleTime OBJECT-TYPE
            SYNTAX TimeTicks
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "At any given instance of time, this object indicates the
                time that this BIND has been idle with no sessions
                attached to it. The value represented by this object is
                of relevance only when the value of Maximum Idle time
                (hwNatConfMaxBindIdleTime) is non-zero."
            ::= { hwNatAddrBindEntry 10 }

        
        
        hwNatAddrBindInTranslate OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of inbound packets that were translated as per
                this BIND entry."
            ::= { hwNatAddrBindEntry 11 }

        
        
        hwNatAddrBindOutTranslate OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of outbound packets that were translated as
                per this BIND entry."
            ::= { hwNatAddrBindEntry 12 }

        
        
        hwNatAddrPortBindNumberOfEntries OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object maintains a count of the number of entries
                that currently exist in the hwNatAddrPortBindTable."
            ::= { hwNatBind 3 }

        
        
        hwNatAddrPortBindTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNatAddrPortBindEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This table holds information about the currently
                active NAPT BINDs."
            ::= { hwNatBind 4 }

        
        
        hwNatAddrPortBindEntry OBJECT-TYPE
            SYNTAX HwNatAddrPortBindEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Each entry in the this table holds information
                a NAPT BIND that is currently active."
            INDEX { ifIndex, hwNatAddrPortBindQueryVrfName, hwNatAddrPortBindQueryAddr, hwNatAddrPortBindQueryProtocol, hwNatAddrPortBindQueryPort, hwNatAddrPortBindType}
            ::= { hwNatAddrPortBindTable 1 }

        
        HwNatAddrPortBindEntry ::=
            SEQUENCE { 
                hwNatAddrPortBindQueryVrfName
                    DisplayString,
                hwNatAddrPortBindQueryAddr
                    IpAddress,
                hwNatAddrPortBindQueryProtocol
                    Integer32,
                hwNatAddrPortBindQueryPort
                    Integer32,
                hwNatAddrPortBindType
                    INTEGER,
                hwNatAddrPortBindMappedVrfName
                    DisplayString,
                hwNatAddrPortBindMappedAddr
                    IpAddress,
                hwNatAddrPortBindMappedPort
                    Integer32,
                hwNatAddrPortBindId
                    Unsigned32,
                hwNatAddrPortBindSessionCount
                    Gauge32,
                hwNatAddrPortBindCurrentIdleTime
                    TimeTicks,
                hwNatAddrPortBindInTranslate
                    Counter32,
                hwNatAddrPortBindOutTranslate
                    Counter32
             }

        
        hwNatAddrPortBindQueryVrfName OBJECT-TYPE
            SYNTAX DisplayString (SIZE (1..31))
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Vrf name for the hwNatAddrPortBindQueryAddr."
            ::= { hwNatAddrPortBindEntry 1 }

        
        
        hwNatAddrPortBindQueryAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object represents the query ip address, which can be
                local address or global address, depending on the value of 
                hwNatAddrBindType."
            ::= { hwNatAddrPortBindEntry 2 }

        
        
        hwNatAddrPortBindQueryProtocol OBJECT-TYPE
            SYNTAX Integer32 (1..255)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object specifies a protocol identifier."
            ::= { hwNatAddrPortBindEntry 3 }

        
        
        hwNatAddrPortBindQueryPort OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object represents the query port number, which can be
                local port number or global port number, depending on the value of 
                hwNatAddrPortBindType.."
            ::= { hwNatAddrPortBindEntry 4 }

        
        
        hwNatAddrPortBindType OBJECT-TYPE
            SYNTAX INTEGER
                {
                natOutbound(1),
                natServer(2),
                staticPatLocalToGlobal(3),
                staticPatGlobalToLocal(4)
                }
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object represents the type of the BIND. "
            ::= { hwNatAddrPortBindEntry 5 }

        
        
        hwNatAddrPortBindMappedVrfName OBJECT-TYPE
            SYNTAX DisplayString (SIZE (1..31))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Vrf name for the hwNatAddrPortBindMappedAddr."
            ::= { hwNatAddrPortBindEntry 6 }

        
        
        hwNatAddrPortBindMappedAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object represents the address maps to the
                hwNatAddrPortBindQueryAddr."
            ::= { hwNatAddrPortBindEntry 7 }

        
        
        hwNatAddrPortBindMappedPort OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object represents the port number that, in conjunction with
                hwNatAddrPortBindMappedAddr, maps to the hwNatAddrPortBindQueryPort
                ."
            ::= { hwNatAddrPortBindEntry 8 }

        
        
        hwNatAddrPortBindId OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object represents a BIND id that is dynamically
                assigned to each BIND by a NAT enabled device. Each
                BIND is represented by a unique BIND id across both,
                the Address Bind and Address-Port Bind tables."
            ::= { hwNatAddrPortBindEntry 10 }

        
        
        hwNatAddrPortBindSessionCount OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of sessions currently using this BIND."
            ::= { hwNatAddrPortBindEntry 12 }

        
        
        hwNatAddrPortBindCurrentIdleTime OBJECT-TYPE
            SYNTAX TimeTicks
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "At any given instance of time, this object indicates the
                time that this BIND has been idle with no sessions
                attached to it. The value represented by this object is
                of relevance only when the value of Maximum Idle time
                (hwNatConfMaxBindIdleTime) is non-zero."
            ::= { hwNatAddrPortBindEntry 13 }

        
        
        hwNatAddrPortBindInTranslate OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of inbound packets that were translated as per
                this BIND entry."
            ::= { hwNatAddrPortBindEntry 14 }

        
        
        hwNatAddrPortBindOutTranslate OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of outbound packets that were translated as per
                this BIND entry."
            ::= { hwNatAddrPortBindEntry 15 }
            
        hwNatExtIfTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNatExtIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
            "This table holds information about  the currently
  active interfaces."
            ::= { hwNatBind 5 }
        
        
        hwNatExtIfEntry OBJECT-TYPE
            SYNTAX HwNatExtIfEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
            "Each entry in the this table holds information about an interface that is currently active."
            INDEX { hwNatExtIfName }
            ::= { hwNatExtIfTable 1 }

        
        HwNatExtIfEntry ::=
            SEQUENCE { 
                hwNatExtIfName
                    OCTET STRING
             }

        
        hwNatExtIfName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE (1..47))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
            "This object represents the name of an interface."
            ::= { hwNatExtIfEntry 1 }
            

        
        
        hwNatStatistics OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 2 }

        
        
        hwNatProtocolStatsTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNatProtocolStatsEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The (conceptual) table containing per protocol NAT
                statistics."
            ::= { hwNatStatistics 1 }

        
        
        hwNatProtocolStatsEntry OBJECT-TYPE
            SYNTAX HwNatProtocolStatsEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry (conceptual row) containing NAT statistics
                pertaining to a particular protocol."
            INDEX { hwNatProtocolStatsName }
            ::= { hwNatProtocolStatsTable 1 }

        
        HwNatProtocolStatsEntry ::=
            SEQUENCE { 
                hwNatProtocolStatsName
                    NATProtocolType,
                hwNatProtocolStatsInTranslate
                    Counter32,
                hwNatProtocolStatsOutTranslate
                    Counter32,
                hwNatProtocolStatsRejectCount
                    Counter32
             }

        
        hwNatProtocolStatsName OBJECT-TYPE
            SYNTAX NATProtocolType
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This object represents the protocol pertaining to which
                statistics are reported."
            ::= { hwNatProtocolStatsEntry 1 }

        
        
        hwNatProtocolStatsInTranslate OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of inbound packets, pertaining to the protocol
                identified by hwNatProtocolStatsName, that underwent NAT."
            ::= { hwNatProtocolStatsEntry 2 }

        
        
        hwNatProtocolStatsOutTranslate OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of outbound packets, pertaining to the protocol
                identified by hwNatProtocolStatsName, that underwent NAT."
            ::= { hwNatProtocolStatsEntry 3 }

        
        
        hwNatProtocolStatsRejectCount OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The number of packets, pertaining to the protocol
                identified by hwNatProtocolStatsName, that had to be
                rejected/dropped due to lack of resources. These
                rejections could be due to session timeout, resource
                unavailability etc."
            ::= { hwNatProtocolStatsEntry 4 }

        
        
        hwNatInterfaceStatsTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNatInterfaceStatsEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This table augments the hwNatInterfaceTable and provides
                statistics information pertaining to the specified
                interface."
            ::= { hwNatStatistics 2 }

        
        
        hwNatInterfaceStatsEntry OBJECT-TYPE
            SYNTAX HwNatInterfaceStatsEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Each entry of the hwNatInterfaceStatsTable represents stats
                pertaining to one interface, which is identified by its
                InterfaceIndex."
            INDEX { ifIndex }
            ::= { hwNatInterfaceStatsTable 1 }

        
        HwNatInterfaceStatsEntry ::=
            SEQUENCE { 
                hwNatInterfacePktsIn
                    Counter32,
                hwNatInterfacePktsOut
                    Counter32
             }

        
        hwNatInterfacePktsIn OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of packets received on this interface that
                were translated."
            ::= { hwNatInterfaceStatsEntry 1 }        
        
        hwNatInterfacePktsOut OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of translated packets that were sent out this
                interface."
            ::= { hwNatInterfaceStatsEntry 2 }     
            
		hwNATSessionCntTable OBJECT-TYPE
			SYNTAX SEQUENCE OF HwNATSessionCntEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A table for showing nat session table number."
			::= { hwNatStatistics 3 }
		
		hwNATSessionCntEntry OBJECT-TYPE
			SYNTAX HwNATSessionCntEntry
			MAX-ACCESS not-accessible
			STATUS current
			DESCRIPTION
				"A entry for showing nat session table number."
			INDEX { hwNATSlotIndex }
			::= { hwNATSessionCntTable 1 }
		
		HwNATSessionCntEntry ::=
			SEQUENCE {     
			    hwNATSlotIndex
                                Integer32,
				hwNATSessionCnt
					Unsigned32
			 }		     
			 
		hwNATSlotIndex OBJECT-TYPE
                        SYNTAX Integer32 (0..32)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
            "                
            Slot index that identifies the physical position of a spu board that support NAT.             
            "
			::= { hwNATSessionCntEntry 1 }    
			
		hwNATSessionCnt OBJECT-TYPE
			SYNTAX Unsigned32
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"NAT session number of the selected slot"
			::= { hwNATSessionCntEntry 2 }   

-- hwNatAddrPool

        hwNatAddrPool OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 3 }
        
        hwNatAddrPoolNumOfEntries OBJECT-TYPE
            SYNTAX Gauge32 (0..1023)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object maintains a count of the number of entries 
                that currently exist in the hwNatAddrPoolTable."
            ::= { hwNatAddrPool 1 }      
 
        hwNatAddrPoolTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNatAddrPoolEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Table of NAT address pool instances."
            ::= { hwNatAddrPool 2 }

        

        hwNatAddrPoolEntry OBJECT-TYPE
            SYNTAX HwNatAddrPoolEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry in the table, containing information about 
                a NAT address pool."
            INDEX { hwNatAddrPoolIndex }
            ::= { hwNatAddrPoolTable 1 }

        
        HwNatAddrPoolEntry ::=
            SEQUENCE { 
                hwNatAddrPoolIndex
                    Unsigned32,
                hwNatAddrPoolStartAddr
                    IpAddress, 
                hwNatAddrPoolEndAddr
                    IpAddress,                     
                hwNatAddrPoolRefTimes
                    Gauge32,
                hwNatAddrPoolRefType
                    NATBindType                
             }


        hwNatAddrPoolIndex OBJECT-TYPE
            SYNTAX Unsigned32 (0..1023)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Index of the NAT address pool."
            ::= { hwNatAddrPoolEntry 1 }

        

        hwNatAddrPoolStartAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Start IP address of the NAT address pool."
            ::= { hwNatAddrPoolEntry 2 }
            
        

        hwNatAddrPoolEndAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "End IP address of the NAT address pool."
            ::= { hwNatAddrPoolEntry 3 }

        

        hwNatAddrPoolRefTimes OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Number of times the NAT address pool is referenced."
            ::= { hwNatAddrPoolEntry 4 }
            
        hwNatAddrPoolRefType OBJECT-TYPE
            SYNTAX NATBindType
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Mode of referencing the NAT address pool. It contains NOPAT(1) , PAT(2) and EasyIP(3)"
            ::= { hwNatAddrPoolEntry 5 }     
            
-- hwNatDnsMap

        hwNatDnsMap OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 4 }
        
        hwNatDnsMapNumOfEntries OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object maintains a count of the number of entries 
                that currently exist in the hwNatDnsMapTable."
            ::= { hwNatDnsMap 1 }      
 
        hwNatDnsMapTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNatDnsMapEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Table of instances of DNS mapping."
            ::= { hwNatDnsMap 2 }        

        hwNatDnsMapEntry OBJECT-TYPE
            SYNTAX HwNatDnsMapEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry in the table, containing information about 
                a DNS mapping."
            INDEX { hwNatDnsMapIndex }
            ::= { hwNatDnsMapTable 1 }

        
        HwNatDnsMapEntry ::=
            SEQUENCE { 
                hwNatDnsMapIndex
                    Unsigned32,
                hwNatDnsMapDomainName
                    OCTET STRING,
                hwNatDnsMapIpAddr
                    IpAddress, 
                hwNatDnsMapPort
                    Unsigned32,                     
                hwNatDnsMapProtocol
                    NATProtocolType
             }


        hwNatDnsMapIndex OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Index of the DNS mapping."
            ::= { hwNatDnsMapEntry 1 }
            
            

        hwNatDnsMapDomainName OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(1..255))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Domain name of the DNS mapping."
            ::= { hwNatDnsMapEntry 2 }
            
        

        hwNatDnsMapIpAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "IP address provided for external access."
            ::= { hwNatDnsMapEntry 3 }
            
        

        hwNatDnsMapPort OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Port number of the service provided for external access."
            ::= { hwNatDnsMapEntry 4 }

        

        hwNatDnsMapProtocol OBJECT-TYPE
            SYNTAX NATProtocolType
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Type of the protocol carried over IP."
            ::= { hwNatDnsMapEntry 5 }
      


-- hwNatOutbound

        hwNatOutbound OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 5 }
        
        hwNatOutboundNumOfEntries OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object maintains a count of the number of entries 
                that currently exist in the hwNatOutboundTable."
            ::= { hwNatOutbound 1 }      
 
        hwNatOutboundTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNatOutboundEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Table of outbound NAT instances."
            ::= { hwNatOutbound 2 }

        

        hwNatOutboundEntry OBJECT-TYPE
            SYNTAX HwNatOutboundEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry in the table, containing information about 
                a outbound NAT."
            INDEX { hwNatOutboundIndex }
            ::= { hwNatOutboundTable 1 }

        
        HwNatOutboundEntry ::=
            SEQUENCE { 
                hwNatOutboundIndex
                    Unsigned32,                
                hwNatOutboundInterface
                    Unsigned32,
                hwNatOutboundAclNum
                    Unsigned32, 
                hwNatOutboundAddr
                    OCTET STRING,                     
                hwNatOutboundPat
                    TruthValue,
                hwNatOutboundEasyIp
                    TruthValue                
             }
             
             
        hwNatOutboundIndex OBJECT-TYPE
            SYNTAX Unsigned32 (1..256)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Index of the outbound NAT entry. "
            ::= { hwNatOutboundEntry 1 }

        


        hwNatOutboundInterface OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "IfIndex of the interface that configured with the outbound NAT. "
            ::= { hwNatOutboundEntry 2 }

        

        hwNatOutboundAclNum OBJECT-TYPE
            SYNTAX Unsigned32 (2000..3999)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Basic or advanced ACL that is in use."
            ::= { hwNatOutboundEntry 3 }
            
        

        hwNatOutboundAddr OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(1..31))
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "IP address of the NAT address pool or interface."
            ::= { hwNatOutboundEntry 4 }

        

        hwNatOutboundPat OBJECT-TYPE
            SYNTAX TruthValue
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "This object represents type of the translated IP, NOPAT(1) or PAT(2)."
            ::= { hwNatOutboundEntry 5 }
            
        hwNatOutboundEasyIp OBJECT-TYPE
            SYNTAX TruthValue
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "Whether type of the translated IP address is EasyIP."
            ::= { hwNatOutboundEntry 6 }        


-- hwNatOverlapMap

        hwNatOverlapMap OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 6 }
        
        hwNatOverlapMapNumOfEntries OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object maintains a count of the number of entries 
                that currently exist in the hwNatOverlapMapTable."
            ::= { hwNatOverlapMap 1 }      
 
        hwNatOverlapMapTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNatOverlapEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Table of instances of overlap NAT that mapping between 
                an overlapped address pool and a temporary address pool."
            ::= { hwNatOverlapMap 2 }

        

        hwNatOverlapMapEntry OBJECT-TYPE
            SYNTAX HwNatOverlapEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry in the table, containing information about a overlap mapping."
            INDEX { hwNatOverlapMapIndex }
            ::= { hwNatOverlapMapTable 1 }

        
        HwNatOverlapEntry ::=
            SEQUENCE { 
                hwNatOverlapMapIndex
                    Unsigned32,
                hwNatOverlapMapLapAddr
                    IpAddress, 
                hwNatOverlapMapTmpAddr
                    IpAddress,                     
                hwNatOverlapMapPoolLen
                    Unsigned32,
                hwNatOverlapMapVpnName
                    OCTET STRING                
             }


        hwNatOverlapMapIndex OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Index of the mapping between the overlapped 
                address pool and the temporary address pool."
            ::= { hwNatOverlapMapEntry 1 }

        

        hwNatOverlapMapLapAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Start IP address of the overlapped address pool."
            ::= { hwNatOverlapMapEntry 2 }
            
        

        hwNatOverlapMapTmpAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Start IP address of the temporary address pool."
            ::= { hwNatOverlapMapEntry 3 }

        

        hwNatOverlapMapPoolLen OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Length of the address pool."
            ::= { hwNatOverlapMapEntry 4 }
            
        hwNatOverlapMapVpnName OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Index of the VPN instance of the private network."
            ::= { hwNatOverlapMapEntry 5 }     


-- hwNatServer

        hwNatServer OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 7 }
        
        hwNatServerNumOfEntries OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object maintains a count of the number of entries 
                that currently exist in the hwNatServerTable."
            ::= { hwNatServer 1 }      
 
        hwNatServerTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNatServerEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Table of NAT server instances."
            ::= { hwNatServer 2 }

        

        hwNatServerEntry OBJECT-TYPE
            SYNTAX HwNatServerEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry in the table, containing information about a NAT server."
            INDEX { hwNatServerIndex }
            ::= { hwNatServerTable 1 }

        
        HwNatServerEntry ::=
            SEQUENCE { 
                hwNatServerIndex
                    Unsigned32,
                hwNatServerInterface
                    OCTET STRING, 
                hwNatServerProtocol
                    Integer32,                     
                hwNatServerGlobalAddr
                    IpAddress,
                hwNatServerGlobalPort
                    Unsigned32,                
                hwNatServerInsideAddr
                    IpAddress,
                hwNatServerInsidePort
                    Unsigned32,    
                hwNatServerVpnName
                    OCTET STRING,
                hwNatServerGlobalEndPort
                    Unsigned32, 
                hwNatServerInsideEndAddr
                    IpAddress,
               hwNatServerOutIPInterface
                    OCTET STRING                                                     
             }


        hwNatServerIndex OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An index that uniquely identifies an entry 
                in the NAT server table."
            ::= { hwNatServerEntry 1 }

        

        hwNatServerInterface OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Interface Name of the NAT server."
            ::= { hwNatServerEntry 2 }

        hwNatServerProtocol OBJECT-TYPE
            SYNTAX Integer32 (1..255)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Protocol type of the NAT server."
            ::= { hwNatServerEntry 3 }

        hwNatServerGlobalAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Public address of the NAT server."
            ::= { hwNatServerEntry 4 }
            
        hwNatServerGlobalPort OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Public port number of the NAT server."
            ::= { hwNatServerEntry 5 }

        hwNatServerInsideAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Private address of the NAT server."
            ::= { hwNatServerEntry 6 }

        hwNatServerInsidePort OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Private port number of the NAT server."
            ::= { hwNatServerEntry 7 }
            
        hwNatServerVpnName OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "VPN instance name of the NAT server."
            ::= { hwNatServerEntry 8 } 
            
        hwNatServerGlobalEndPort OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Public port number of the NAT server."
            ::= { hwNatServerEntry 9 }              
       
        hwNatServerInsideEndAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Private address of the NAT server."
            ::= { hwNatServerEntry 10 }      
        
        hwNatServerOutIPInterface OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Interface name of out IP."
            ::= { hwNatServerEntry 11 }   

-- hwNatStatic
        hwNatStatic OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 8 }
        
        hwNatStaticNumOfEntries OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object maintains a count of the number of entries 
                that currently exist in the hwNatStaticTable."
            ::= { hwNatStatic 1 }      
 
        hwNatStaticTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNatStaticEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Table of static NAT instances."
            ::= { hwNatStatic 2 }
            

        hwNatStaticEntry OBJECT-TYPE
            SYNTAX HwNatStaticEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry in the table, containing information about a static NAT."
            INDEX { hwNatStaticIndex }
            ::= { hwNatStaticTable 1 }

        
        HwNatStaticEntry ::=
            SEQUENCE { 
                hwNatStaticIndex
                    Unsigned32,
                hwNatStaticInterface
                    OCTET STRING, 
                hwNatStaticProtocol
                    Integer32,                     
                hwNatStaticGlobalAddr
                    IpAddress,
                hwNatStaticGlobalPort
                    Unsigned32,
                hwNatStaticInsideAddr
                    IpAddress,
                hwNatStaticInsidePort
                    Unsigned32,    
                hwNatStaticVpnName
                    OCTET STRING,
                hwNatStaticNetMask
                    IpAddress,
                hwNatStaticGlobalEndPort
                    Unsigned32,  
                hwNatStaticInsideEndAddr
                    IpAddress,
               hwNatStaticOutIPInterface
                   OCTET STRING                                                                       
             }


        hwNatStaticIndex OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An index that uniquely identifies an entry 
                in the static NAT table."
            ::= { hwNatStaticEntry 1 }

        

        hwNatStaticInterface OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Interface Name of the static NAT."
            ::= { hwNatStaticEntry 2 }
            
        

        hwNatStaticProtocol OBJECT-TYPE
            SYNTAX Integer32 (1..255)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Protocol type of the static NAT."
            ::= { hwNatStaticEntry 3 }

        

        hwNatStaticGlobalAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Public address of the static NAT."
            ::= { hwNatStaticEntry 4 }
            
        hwNatStaticGlobalPort OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Public port number of the static NAT."
            ::= { hwNatStaticEntry 5 }              

        hwNatStaticInsideAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Private address of the static NAT."
            ::= { hwNatStaticEntry 6 }

        hwNatStaticInsidePort OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Private port number of the static NAT."
            ::= { hwNatStaticEntry 7 }
            
        hwNatStaticVpnName OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "VPN instance name of the static NAT."
            ::= { hwNatStaticEntry 8 } 
            
        hwNatStaticNetMask OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Network mask of the static NAT."
            ::= { hwNatStaticEntry 9 } 
    
        hwNatStaticGlobalEndPort OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Public port number of the static NAT."
            ::= { hwNatStaticEntry 10 }     
            
        hwNatStaticInsideEndAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Private address of the static NAT."
            ::= { hwNatStaticEntry 11 }        

        hwNatStaticOutIPInterface OBJECT-TYPE
            SYNTAX OCTET STRING
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Interface name of out IP."
            ::= { hwNatStaticEntry 12 }                

-- hwNatAlg
        hwNatAlg OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 9 }
        
        hwNatAlgFtp OBJECT-TYPE
            SYNTAX TruthValue
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Whether the FTP NAT ALG is enabled. "
            ::= { hwNatAlg 1 }      
 
        hwNatAlgDns OBJECT-TYPE
            SYNTAX TruthValue
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Whether the DNS NAT ALG is enabled. "
            ::= { hwNatAlg 2 }
            
        hwNatAlgSip OBJECT-TYPE
            SYNTAX TruthValue
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Whether the Sip NAT ALG is enabled. "
            ::= { hwNatAlg 3 }

        hwNatAlgRtsp OBJECT-TYPE
            SYNTAX TruthValue
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Whether the Rtsp NAT ALG is enabled. "
            ::= { hwNatAlg 4 }

        hwNatAlgPptp OBJECT-TYPE
            SYNTAX TruthValue
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Whether the Pptp NAT ALG is enabled. "
            ::= { hwNatAlg 5 }
 		            
-- hwNatFilter
        hwNatFilter OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 10 }
        
        hwNatFilterMode OBJECT-TYPE
            SYNTAX NATFilterMode
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The mode of NAT filter. "
            ::= { hwNatFilter 1 } 
            

-- hwNatPortMap

        hwNatPortMap OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 11 }
        
        hwNatPortMapSipPort OBJECT-TYPE
            SYNTAX Unsigned32 (1..65535)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Port number for Sip port-mapping . "
            ::= { hwNatPortMap 1 } 

        hwNatPortMapSipAcl OBJECT-TYPE
            SYNTAX Unsigned32 (2000..2999)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "ACL number for Sip port-mapping . "
            ::= { hwNatPortMap 2 }             
            
        hwNatPortMapRtspPort OBJECT-TYPE
            SYNTAX Unsigned32 (1..65535)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Port number for Rtsp port-mapping . "
            ::= { hwNatPortMap 3 } 

        hwNatPortMapRtspAcl OBJECT-TYPE
            SYNTAX Unsigned32 (2000..2999)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "ACL number for Rtsp port-mapping . "
            ::= { hwNatPortMap 4 }  

-- hwNatProtoAgingTime

        hwNatProtoAgingTime OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 12 }
        
        hwNatSipAgingTime OBJECT-TYPE
            SYNTAX TimeTicks
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Aging time for Sip stream. "
            ::= { hwNatProtoAgingTime 1 } 
        
        hwNatSipMediaAgingTime OBJECT-TYPE
            SYNTAX TimeTicks
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Aging time for Sip media stream. "
            ::= { hwNatProtoAgingTime 2 } 

        hwNatRtspAgingTime OBJECT-TYPE
            SYNTAX TimeTicks
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Aging time for Rtsp stream. "
            ::= { hwNatProtoAgingTime 3 } 
        
        hwNatRtspMediaAgingTime OBJECT-TYPE
            SYNTAX TimeTicks
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Aging time for Rtsp media stream. "
            ::= { hwNatProtoAgingTime 4 }   
            
-- hwNatMap
        hwNatMap OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 13 }
        
        hwNatMapNumOfEntries OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object maintains a count of the number of entries 
                that currently exist in the hwNatMapTable."
            ::= { hwNatMap 1 }      
 
        hwNatMapTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNatMapEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Table of static NAT instances."
            ::= { hwNatMap 2 }
            

        hwNatMapEntry OBJECT-TYPE
            SYNTAX HwNatMapEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry in the table, containing information about a Nat map."
            INDEX { hwNatMapIndex }
            ::= { hwNatMapTable 1 }

        
        HwNatMapEntry ::=
            SEQUENCE { 
                hwNatMapIndex
                    Unsigned32,
                hwNatMapProtocol
                    Unsigned32, 
                hwNatMapDestPort
                    Unsigned32                                           
             }

        hwNatMapIndex OBJECT-TYPE
            SYNTAX Unsigned32 (0..63)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An index that uniquely identifies an entry 
                in the Nat map table."
            ::= { hwNatMapEntry 1 } 
            
        hwNatMapProtocol OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The protocol of nat map entry. The value is TCP or UDP."
            ::= { hwNatMapEntry 2 } 
            
        hwNatMapDestPort OBJECT-TYPE
            SYNTAX Unsigned32 (1..65535)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The port number of nat map entry."
            ::= { hwNatMapEntry 3 }                                             

-- hwNatSession
        hwNatSession OBJECT IDENTIFIER ::= { hwNatExtMIBObjects 14 }
        
        hwNatSessionNumOfEntries OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "This object maintains a count of the number of entries 
                that currently exist in the hwNatSessionTable."
            ::= { hwNatSession 1 }      
 
        hwNatSessionTable OBJECT-TYPE
            SYNTAX SEQUENCE OF HwNatSessionEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "Table of NAT session instances."
            ::= { hwNatSession 2 }
            

        hwNatSessionEntry OBJECT-TYPE
            SYNTAX HwNatSessionEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry in the table, containing information about a Nat session."
            INDEX { hwNatSessionSrcLocalAddr, hwNatSessionDstLocalAddr, hwNatSessionSrcLocalPort, hwNatSessionDstLocalPort, hwNatSessionProtocol, hwNatSessionSrcVPN}
            ::= { hwNatSessionTable 1 }

        
        HwNatSessionEntry ::=
            SEQUENCE { 
                hwNatSessionSrcLocalAddr
                    IpAddress,
                hwNatSessionDstLocalAddr
                    IpAddress, 
                hwNatSessionSrcLocalPort
	Integer32,
                hwNatSessionDstLocalPort
     	Integer32,     	     		    
                hwNatSessionProtocol
                     NATProtocolType,	                          
                hwNatSessionSrcGlobalAddr
     	IpAddress,
                hwNatSessionDstGlobalAddr
     	IpAddress,
                hwNatSessionSrcGlobalPort
                      Integer32,
                hwNatSessionDstGlobalPort      
     	Integer32,
                hwNatSessionSrcVPN
                     OCTET STRING,
                hwNatSessionDstVPN
                    OCTET STRING,
                hwNatSessionStatus
                    RowStatus                                      
             }

        hwNatSessionSrcLocalAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Index:the local source ip of the nat session table."
            ::= { hwNatSessionEntry 1 } 
            
        hwNatSessionDstLocalAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Index:the local destination ip of the nat session table"
            ::= { hwNatSessionEntry 2 } 
            
            hwNatSessionSrcLocalPort OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Index:the lcoal source port of the nat session table."
            ::= { hwNatSessionEntry 3 }
            
            hwNatSessionDstLocalPort OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Index:the lcoal destination port of the nat session table."
            ::= { hwNatSessionEntry 4 }
            
            hwNatSessionProtocol OBJECT-TYPE
            SYNTAX NATProtocolType
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Index:the protocol of the nat session."
            ::= { hwNatSessionEntry 5 }
            
            hwNatSessionSrcGlobalAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The global source ip of the nat session table."
            ::= { hwNatSessionEntry 6 }
            
            hwNatSessionDstGlobalAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The global destination ip of the nat session table."
            ::= { hwNatSessionEntry 7 }
            
            hwNatSessionSrcGlobalPort OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The global source port of the nat session table."
            ::= { hwNatSessionEntry 8 }
            
            hwNatSessionDstGlobalPort OBJECT-TYPE
            SYNTAX Integer32 (0..65535)
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The global destination port of the nat session table."
            ::= { hwNatSessionEntry 9 }
            
            hwNatSessionSrcVPN OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(1..31))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The source VPN instance name of the nat session table."
            ::= { hwNatSessionEntry 10 }
            
            hwNatSessionDstVPN OBJECT-TYPE
            SYNTAX OCTET STRING (SIZE(1..31))
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The destination VPN instance name of the nat session table."
            ::= { hwNatSessionEntry 11 }
            
           hwNatSessionStatus OBJECT-TYPE	
            SYNTAX RowStatus
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The NAT session table row status."
            ::= { hwNatSessionEntry 12 } 
                  
--             Conformance information
    
        hwNatExtMIBConformance OBJECT IDENTIFIER ::= { hwNatExtMIB 4 }

        
    
        hwNatExtMIBCompliances OBJECT IDENTIFIER ::= { hwNatExtMIBConformance 1 }

        
--  this module
    
        hwNatExtMIBCompliance MODULE-COMPLIANCE
            STATUS current
            DESCRIPTION 
                "The compliance statement for devices running NAT."
            MODULE -- this module
                MANDATORY-GROUPS { hwNatBindGroup }
            ::= { hwNatExtMIBCompliances 1 }

        
        
        hwNatExtMIBGroups OBJECT IDENTIFIER ::= { hwNatExtMIBConformance 2 }

        
        
        hwNatNotificationGroup NOTIFICATION-GROUP
            NOTIFICATIONS { hwNatPacketDiscard }
            STATUS current
            DESCRIPTION 
                "A collection of notifications generated by
                devices supporting this MIB."
            ::= { hwNatExtMIBGroups 1 }

        
        
        hwNatBindGroup OBJECT-GROUP
            OBJECTS { hwNatAddrBindNumberOfEntries, hwNatAddrBindId, hwNatAddrBindSessionCount, hwNatAddrBindCurrentIdleTime, hwNatAddrBindInTranslate, 
                hwNatAddrBindOutTranslate, hwNatAddrPortBindNumberOfEntries, hwNatAddrPortBindId, hwNatAddrPortBindSessionCount, hwNatAddrPortBindCurrentIdleTime, 
                hwNatAddrPortBindInTranslate, hwNatAddrPortBindOutTranslate, hwNatAddrBindMappedAddr, hwNatAddrBindMappedVrfName, hwNatAddrPortBindMappedPort, 
                hwNatAddrPortBindMappedAddr, hwNatAddrPortBindMappedVrfName }
            STATUS current
            DESCRIPTION 
                "A collection of BIND-related objects required to support
                management of devices supporting NAT."
            ::= { hwNatExtMIBGroups 2 }

        
        
        hwNatStatsGroup OBJECT-GROUP
            OBJECTS { hwNatProtocolStatsInTranslate, hwNatProtocolStatsOutTranslate, hwNatProtocolStatsRejectCount, hwNatInterfacePktsIn, hwNatInterfacePktsOut
                 }
            STATUS current
            DESCRIPTION 
                "A collection of NAT statistics related objects required
                to support troubleshooting/monitoring NAT operation."
            ::= { hwNatExtMIBGroups 3 }

        
        
        hwNatExtIfGroup OBJECT-GROUP
            OBJECTS { hwNatExtIfName }
            STATUS current
            DESCRIPTION 
                "Description."
            ::= { hwNatExtMIBGroups 4 }
            
        hwNatAddrPoolGroup OBJECT-GROUP
            OBJECTS { hwNatAddrPoolNumOfEntries, hwNatAddrPoolStartAddr, 
            hwNatAddrPoolEndAddr, hwNatAddrPoolRefTimes, hwNatAddrPoolRefType }
            STATUS current
            DESCRIPTION 
                "This is a NAT address pool group."
            ::= { hwNatExtMIBGroups 5 }           


        hwNatDnsMapGroup OBJECT-GROUP
            OBJECTS { hwNatDnsMapNumOfEntries, hwNatDnsMapDomainName, hwNatDnsMapIpAddr, 
            hwNatDnsMapPort, hwNatDnsMapProtocol }
            STATUS current
            DESCRIPTION 
                "This is a NAT DNS mapping group."
            ::= { hwNatExtMIBGroups 6 } 
            
        hwNatOutboundGroup OBJECT-GROUP
            OBJECTS { hwNatOutboundNumOfEntries, hwNatOutboundInterface, hwNatOutboundAclNum,  
            hwNatOutboundAddr, hwNatOutboundPat, hwNatOutboundEasyIp }
            STATUS current
            DESCRIPTION 
                "This is a outbound NAT group."
            ::= { hwNatExtMIBGroups 7 } 
            
        hwNatOverlapMapGroup OBJECT-GROUP
            OBJECTS { hwNatOverlapMapNumOfEntries, hwNatOverlapMapLapAddr, 
            hwNatOverlapMapTmpAddr, hwNatOverlapMapPoolLen, hwNatOverlapMapVpnName }
            STATUS current
            DESCRIPTION 
                "This is a overlap mapping group."
            ::= { hwNatExtMIBGroups 8 } 
            
        hwNatServerGroup OBJECT-GROUP
            OBJECTS { hwNatServerNumOfEntries, hwNatServerInterface, 
            hwNatServerProtocol, hwNatServerGlobalAddr, hwNatServerGlobalPort, 
            hwNatServerInsideAddr, hwNatServerInsidePort, hwNatServerVpnName, hwNatServerGlobalEndPort, hwNatServerInsideEndAddr,hwNatServerOutIPInterface }
            STATUS current
            DESCRIPTION 
                "This is a NAT server group."
            ::= { hwNatExtMIBGroups 9 } 
            
        hwNatStaticGroup OBJECT-GROUP
            OBJECTS { hwNatStaticNumOfEntries, hwNatStaticInterface, 
            hwNatStaticProtocol, hwNatStaticGlobalAddr, hwNatStaticGlobalPort,
            hwNatStaticInsideAddr, hwNatStaticInsidePort, hwNatStaticVpnName, hwNatStaticNetMask, hwNatStaticGlobalEndPort, hwNatStaticInsideEndAddr,hwNatStaticOutIPInterface}
            STATUS current
            DESCRIPTION 
                "This is a static NAT group."
            ::= { hwNatExtMIBGroups 10 } 
            
        hwNatAlgGroup OBJECT-GROUP
            OBJECTS { hwNatAlgFtp, hwNatAlgDns, hwNatAlgSip, hwNatAlgRtsp, hwNatAlgPptp  }
            STATUS current
            DESCRIPTION 
                "This is a NAT ALG group."
            ::= { hwNatExtMIBGroups 11 }                                                                   

        hwNatFilterGroup OBJECT-GROUP
            OBJECTS { hwNatFilterMode }
            STATUS current
            DESCRIPTION 
                "This is a NAT Filter group."
            ::= { hwNatExtMIBGroups 12 } 

        hwNatPortMapGroup OBJECT-GROUP
           OBJECTS { hwNatPortMapSipPort, hwNatPortMapSipAcl, hwNatPortMapRtspPort, hwNatPortMapRtspAcl }
           STATUS current
           DESCRIPTION 
               "This is the nat portmap group."
           ::= { hwNatExtMIBGroups 13 }    
           
        hwNatAgingTimeGroup OBJECT-GROUP
           OBJECTS { hwNatSipAgingTime, hwNatSipMediaAgingTime, hwNatRtspAgingTime, hwNatRtspMediaAgingTime }
           STATUS current
           DESCRIPTION 
               "This is the nat Aging time group."
           ::= { hwNatExtMIBGroups 14 }  
           
        hwNatMapGroup OBJECT-GROUP
           OBJECTS { hwNatMapNumOfEntries, hwNatMapProtocol, hwNatMapDestPort }
           STATUS current
           DESCRIPTION 
               "This is the nat map group."
           ::= { hwNatExtMIBGroups 15 }

        hwNatSessionGroup OBJECT-GROUP
           OBJECTS { hwNatSessionNumOfEntries, hwNatSessionSrcGlobalAddr, hwNatSessionDstGlobalAddr, 
           hwNatSessionSrcGlobalPort, hwNatSessionDstGlobalPort,  hwNatSessionDstVPN, hwNatSessionStatus }              
           STATUS current
           DESCRIPTION
               "This is the nat session group."
           ::= { hwNatExtMIBGroups 16 }
           
    END

--
-- HUAWEI-NAT-EXT-MIB.mib
--
