--  Protocol private MIB Definitions
--  if compiles this mib with mg-soft, there must be mpls-vpn.mib and zxr10.mib files in
--  the same director.

     ZXR10-NAT-MIB DEFINITIONS ::= BEGIN

   IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
   experimental, Integer32, Counter32, Unsigned32
      FROM SNMPv2-SMI

   MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
      FROM SNMPv2-CONF
       enterprises                      FROM SNMPv2-SMI

   zxr10protocol                  FROM ZXR10-PROTOCOL-MIB

   mgmt, NetworkAddress, IpAddress, Counter, Gauge
                         FROM RFC1155-SMI;

    Zxr10NatType ::= INTEGER
                   {
                      snat(0),
                      icmp(1),
                      ip(4),
                      tcp(6),
                      udp(17)
                   }


    zxr10nat OBJECT IDENTIFIER ::= { zxr10protocol 3}
      DisplayString ::= OCTET STRING
          --  This data type is used to model textual information taken
          --  from the NVT ASCII character set.  By convention, objects
          --  with this syntax are declared as having
          --
          --       SIZE (0..255)



    zxr10natConfig  	 OBJECT IDENTIFIER ::= { zxr10nat 1}
    zxr10natStatistic  	 OBJECT IDENTIFIER ::= { zxr10nat 2}
    zxr10natStaticMapping      OBJECT IDENTIFIER ::= { zxr10nat 3}

    zxr10natConfEnable  OBJECT-TYPE
              SYNTAX  INTEGER {
                     off(0),
                     on(1)}
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "NAT enable switch"
              ::= { zxr10natConfig 1 }

--
          zxr10natInterfaceTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF Zxr10natInterfaceEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Configure nat interface"
              ::= { zxr10natConfig 2 }

          zxr10natInterfaceEntry OBJECT-TYPE
              SYNTAX  Zxr10natInterfaceEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Nat interface entry"
              INDEX   {
              			zxr10natInterfaceIndex
                        }
              ::= { zxr10natInterfaceTable 1 }

          Zxr10natInterfaceEntry ::=
              SEQUENCE {
	            zxr10natInterfaceIndex
                INTEGER,
            	zxr10natInterfaceName
            	DisplayString,
            	zxr10natInterfaceStorageType
				INTEGER
              }


	   zxr10natInterfaceIndex  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Interface index"
              ::= { zxr10natInterfaceEntry  1 }

	   zxr10natInterfaceName  OBJECT-TYPE
              SYNTAX  DisplayString
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Interface name"
              ::= { zxr10natInterfaceEntry  2 }

	   zxr10natInterfaceStorageType  OBJECT-TYPE
              SYNTAX  INTEGER{ inside(1),outside(2) }
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                     "NAT interface type:<1-INSIDE,2-OUTSIDE>"
              ::= { zxr10natInterfaceEntry  3 }

--------------
    zxr10natConfigTimeout  	 OBJECT IDENTIFIER ::= { zxr10natConfig 3}

    zxr10natConfTimeoutClassTable  OBJECT-TYPE
              SYNTAX  SEQUENCE OF Zxr10natConfTimeoutClassEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Configure timeout class"
              ::= { zxr10natConfigTimeout 1 }

    zxr10natConfTimeoutClassEntry  OBJECT-TYPE
              SYNTAX  Zxr10natConfTimeoutClassEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Configure timeout class entry"
              INDEX  { zxr10natConfTimeoutClassIndex }
              ::= { zxr10natConfTimeoutClassTable 1 }

    Zxr10natConfTimeoutClassEntry ::=
              SEQUENCE {
                zxr10natConfTimeoutClassIndex
                    INTEGER,
                zxr10natConfTimeoutClassValue
                    Integer32
              }

    zxr10natConfTimeoutClassIndex  OBJECT-TYPE
              SYNTAX   INTEGER{ a(0),b(1),c(2),d(3),e(4) }
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Timeout class:a,b,c,d,e"
              ::= { zxr10natConfTimeoutClassEntry 1 }

    zxr10natConfTimeoutClassValue  OBJECT-TYPE
              SYNTAX  Integer32 (20..2147483647)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Timeout value:<20-2147483647>"
              ::= { zxr10natConfTimeoutClassEntry 2 }

    zxr10natConfTimeoutProtocolTable  OBJECT-TYPE
              SYNTAX  SEQUENCE OF Zxr10natConfTimeoutProtocolEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Configure timeout class of protocol"
              ::= { zxr10natConfigTimeout 5 }

    zxr10natConfTimeoutProtocolEntry  OBJECT-TYPE
              SYNTAX  Zxr10natConfTimeoutProtocolEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Configure timeout protocol entry"
              INDEX  { zxr10natConfTimeoutProtocolIndex}
              ::= { zxr10natConfTimeoutProtocolTable 1 }

    Zxr10natConfTimeoutProtocolEntry ::=
              SEQUENCE {
                zxr10natConfTimeoutProtocolIndex
                    INTEGER,
                zxr10natConfTimeoutProtocol
                    Zxr10NatType,
                zxr10natConfTimeoutPort
                    Integer32,
                zxr10natConfTimeoutClass
                    INTEGER
              }

    zxr10natConfTimeoutProtocolIndex  OBJECT-TYPE
              SYNTAX   INTEGER (1..32)
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Timeout index of protocol"
              ::= { zxr10natConfTimeoutProtocolEntry 1 }

    zxr10natConfTimeoutProtocol  OBJECT-TYPE
              SYNTAX   Zxr10NatType
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Protocol<1-ICMP,6-TCP,17-UDP>"
              ::= { zxr10natConfTimeoutProtocolEntry 2 }

    zxr10natConfTimeoutPort  OBJECT-TYPE
              SYNTAX  Integer32 (1..65534)
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Port:<1-65534>"
              ::= { zxr10natConfTimeoutProtocolEntry 3 }

    zxr10natConfTimeoutClass OBJECT-TYPE
              SYNTAX  INTEGER{ a(0),b(1),c(2),d(3),e(4) }
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                  "Timeout class:a~e"
             ::= { zxr10natConfTimeoutProtocolEntry 4 }

    zxr10natConfigMaximal  	 OBJECT IDENTIFIER ::= { zxr10natConfig 4}
    zxr10natConfMaximalDefault  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Default maximal number of entries"
              ::= { zxr10natConfigMaximal 1 }


--****************************************************
          zxr10natConfMaximalTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF Zxr10natConfMaximalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Configure maximal number of entries"
              ::= { zxr10natConfigMaximal 2 }

          zxr10natConfMaximalEntry OBJECT-TYPE
              SYNTAX  Zxr10natConfMaximalEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Configure maximal entry"
              INDEX   {
                  zxr10natConfMaximalAclNo
                        }
              ::= { zxr10natConfMaximalTable 1 }

          Zxr10natConfMaximalEntry ::=
              SEQUENCE {
                  zxr10natConfMaximalAclNo
                      INTEGER,
                  zxr10natConfMaximalVlaue
                      INTEGER
              }


          zxr10natConfMaximalAclNo OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "ACL rule number"
              ::= { zxr10natConfMaximalEntry 1 }

          zxr10natConfMaximalVlaue OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only
              STATUS  current
              DESCRIPTION
                      "Configure maximal number of entries"
              ::= { zxr10natConfMaximalEntry 2 }

-------

          zxr10natConfStaticAddrMapTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF Zxr10natConfStaticAddrMapEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Configure static rule"
              ::= { zxr10natConfig 5 }

          zxr10natConfStaticAddrMapEntry OBJECT-TYPE
              SYNTAX  Zxr10natConfStaticAddrMapEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Configure static address mapping entry"
              INDEX   { zxr10natConfStaticRuleIndex

                        }
              ::= { zxr10natConfStaticAddrMapTable 1 }

          Zxr10natConfStaticAddrMapEntry ::=
              SEQUENCE {
              	zxr10natConfStaticRuleIndex
              	 INTEGER,
				zxr10natConfStaticLocalAddr
				IpAddress,
				zxr10natConfStaticLocalPort
				 INTEGER,
				zxr10natConfStaticGlobalAddr
				IpAddress,
				zxr10natConfStaticGlobalPort
				 INTEGER,
                zxr10natConfStaticProtoType
                Zxr10NatType
              }


	   zxr10natConfStaticRuleIndex  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Global index of rule"
              ::= { zxr10natConfStaticAddrMapEntry  1 }

	   zxr10natConfStaticLocalAddr  OBJECT-TYPE
              SYNTAX  IpAddress
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Local ip of static rule"
              ::= { zxr10natConfStaticAddrMapEntry  2 }

   	   zxr10natConfStaticLocalPort  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Local port of static rule"
              ::= { zxr10natConfStaticAddrMapEntry  3 }

   	   zxr10natConfStaticGlobalAddr  OBJECT-TYPE
              SYNTAX  IpAddress
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Global ip of static rule"
              ::= { zxr10natConfStaticAddrMapEntry  4 }

   	   zxr10natConfStaticGlobalPort  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Global port of static rule"
              ::= { zxr10natConfStaticAddrMapEntry  5 }

   	   zxr10natConfStaticProtoType  OBJECT-TYPE
              SYNTAX  Zxr10NatType
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Protocol type of static rule"
              ::= { zxr10natConfStaticAddrMapEntry  6 }


------------

          zxr10natConfDynAddrMapTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF Zxr10natConfDynAddrMapEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Configure dynamic rule"
              ::= { zxr10natConfig 6 }

          zxr10natConfDynAddrMapEntry OBJECT-TYPE
              SYNTAX  Zxr10natConfDynAddrMapEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Configure dynamic mapping entry"
              INDEX   { zxr10natConfDynRuleIndex

                        }
              ::= { zxr10natConfDynAddrMapTable 1 }

          Zxr10natConfDynAddrMapEntry ::=
              SEQUENCE {
              	zxr10natConfDynRuleIndex
              	 INTEGER,
				zxr10natConfDynAccessListNum
				INTEGER,
				zxr10natConfDynRuleOverlay
				INTEGER,
				zxr10natConfDynInterfaceName
				 DisplayString,
				zxr10natConfDynGlobalIpStart
				IpAddress,
				zxr10natConfDynGlobalIpRange
				Integer32
              }


	   zxr10natConfDynRuleIndex  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Global index of rule"
              ::= { zxr10natConfDynAddrMapEntry  1 }

	   zxr10natConfDynAccessListNum  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Acl number of dynamic rule"
              ::= { zxr10natConfDynAddrMapEntry  2 }


	   zxr10natConfDynRuleOverlay  OBJECT-TYPE
              SYNTAX  INTEGER{ overlay(1), nooverlay(0) }
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Overload or not<0-not overload,1-overload>"
              ::= { zxr10natConfDynAddrMapEntry  3 }

	   zxr10natConfDynInterfaceName  OBJECT-TYPE
              SYNTAX  DisplayString
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Interface name of dynamic rule"
              ::= { zxr10natConfDynAddrMapEntry  4 }

	   zxr10natConfDynGlobalIpStart  OBJECT-TYPE
              SYNTAX  IpAddress
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "First global address of dynamic rule"
              ::= { zxr10natConfDynAddrMapEntry  5 }

	   zxr10natConfDynGlobalIpRange  OBJECT-TYPE
              SYNTAX  Integer32
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Global ip range of dynamic rule"
              ::= { zxr10natConfDynAddrMapEntry  6 }

---
	   zxr10natHitStatsTotal  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                    "Hit times"
              ::= { zxr10natStatistic  1 }

	   zxr10natHitStatsFwd  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                   "Hit times in forward"
              ::= { zxr10natStatistic  2 }
	   zxr10natHitStatsProtocl  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                    "Hit times in protocol"
              ::= { zxr10natStatistic  3}

	   zxr10natHitStatsUEng  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                    "Hit times in uEngine"
              ::= { zxr10natStatistic  4 }

	   zxr10natMissStatsTotal  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Miss times"
              ::= { zxr10natStatistic  5 }

	   zxr10natMissStatsFwd  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                    "Miss times in forward"
              ::= { zxr10natStatistic  6 }

	   zxr10natMissStatsProtocol  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                    "Miss times in protocol"
              ::= { zxr10natStatistic  7 }

   	   zxr10natMissStatsUEng  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                    "Miss times in uEngine"
              ::= { zxr10natStatistic  8 }


	   zxr10natTimeoutStatsTotal  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                    "Total timeout translations"
              ::= { zxr10natStatistic  9 }

      zxr10natMappingStatsTotal  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                     "Total number of translations"
              ::= { zxr10natStatistic  10 }

	   zxr10natMappingUsedStatsTotal  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                  "Total number of used translations"
              ::= { zxr10natStatistic  11 }

	   zxr10natMappingStatsStaticRule  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                   "Total number of used static mappings"
              ::= { zxr10natStatistic  12 }

	   zxr10natMappingStatsDynRule  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                 "Total number of used dynamic mappings"
              ::= { zxr10natStatistic  13 }

	   zxr10natMappingStatsMax  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                 "Maximal number of used translations"
              ::= { zxr10natStatistic  14 }

 --

          zxr10natStaticMappingTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF Zxr10natStaticMappingEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Translation mapping table"
              ::= { zxr10natStaticMapping 1 }

          zxr10natStaticMappingEntry OBJECT-TYPE
              SYNTAX  Zxr10natStaticMappingEntry
              MAX-ACCESS  not-accessible
              STATUS  current
              DESCRIPTION
                      "Static mapping"
              INDEX   { --ֵ 256k
              			zxr10natStaticRuleIndex
                        }
              ::= { zxr10natStaticMappingTable 1 }

          Zxr10natStaticMappingEntry ::=
              SEQUENCE {
             	zxr10natStaticRuleIndex
            	INTEGER,
             	zxr10natStaticMappingLocalIpaddr
             	IpAddress,
            	zxr10natStaticMappingLocalPort
            	INTEGER,
            	zxr10natStaticMappingGlobalIpaddr
            	IpAddress,
            	zxr10natStaticMappingGlobalPort
             	INTEGER
              }

       zxr10natStaticRuleIndex OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                     "Index"
              ::= { zxr10natStaticMappingEntry  1 }

	   zxr10natStaticMappingLocalIpaddr  OBJECT-TYPE
              SYNTAX  IpAddress
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                     "Local ip of translation"
              ::= { zxr10natStaticMappingEntry  2 }

	   zxr10natStaticMappingLocalPort  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                      "Local port of translation"
              ::= { zxr10natStaticMappingEntry  3 }

	   zxr10natStaticMappingGlobalIpaddr  OBJECT-TYPE
              SYNTAX  IpAddress
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                     "Global ip of translation"
              ::= { zxr10natStaticMappingEntry  4 }

	   zxr10natStaticMappingGlobalPort  OBJECT-TYPE
              SYNTAX  INTEGER
              MAX-ACCESS  read-only --not-accessible
              STATUS  current
              DESCRIPTION
                     "Global port of translation"
              ::= { zxr10natStaticMappingEntry  5 }

--------



-- end added by chenwei for vrf private mib


     END
