--
-- comIpZEdgeNat.mib
-- MIB generated by MG-SOFT Visual MIB Builder Version 3.0 Build 285
-- Friday, October 22, 2010 at 05:16:07
--

    ZHONE-COM-IP-ZEDGE-NAT-MIB DEFINITIONS ::= BEGIN
 
        IMPORTS
            InterfaceIndex            
                FROM IF-MIB            
            IpAddress, Integer32, Unsigned32, Gauge32, Counter32, 
            OBJECT-TYPE, MODULE-IDENTITY, OBJECT-IDENTITY            
                FROM SNMPv2-SMI            
            TruthValue            
                FROM SNMPv2-TC            
            zhoneIp, zhoneModules            
                FROM Zhone            
            ZhoneRowStatus            
                FROM Zhone-TC;
    
    
-- 
-- 
-- 
-- 
        -- 1.3.6.1.4.1.5504.6.66
        comIpZEdgeNat MODULE-IDENTITY 
            LAST-UPDATED "201010200727Z"		-- October 20, 2010 at 07:27 GMT
            ORGANIZATION 
                "Zhone Technologies, Inc."
            CONTACT-INFO 
                "  Postal: 
                           Zhone Technologies, Inc.
                           @ Zhone Way
                           7001 Oakport Street
                           Oakland, CA  94621
                           USA
                Toll-Free: +1 877-ZHONE20 (+1 877-946-6320)
                      Tel: +1-510-777-7000
                      Fax: +1-510-777-7001
                   E-mail: support@zhone.com"
            DESCRIPTION 
                "Network Address Translation MIB
                IP Software
                Minneapolis, MN"
            REVISION "201010200552Z"		-- October 20, 2010 at 05:52 GMT
            DESCRIPTION 
                "Add cpemgrsecure(4) value to patEntry.portType."
            REVISION "200807220728Z"		-- July 22, 2008 at 07:28 GMT
            DESCRIPTION 
                "Add cpemgr(3) valued to patEntry.portType.
                Limit patEntry.publicPort range to #defined values.
                Added description to other patEntry fields to
                support cpemgr(3) portType."
            REVISION "200312110258Z"		-- December 11, 2003 at 02:58 GMT
            DESCRIPTION 
                "Added NAT-Exclude profile"
            REVISION "200303190902Z"		-- March 19, 2003 at 09:02 GMT
            DESCRIPTION 
                "Added PAT-Bind profile"
            REVISION "200010041530Z"		-- October 04, 2000 at 15:30 GMT
            DESCRIPTION 
                "V01.00.00 - Initial release"
            ::= { zhoneModules 66 }

        
    
    
--
-- Node definitions
--
    
        -- 1.3.6.1.4.1.5504.4.1.16
        zedgeNat OBJECT-IDENTITY
            STATUS current
            DESCRIPTION 
                "Network Address Translation Configuration and Status.
                "
            ::= { zhoneIp 16 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.1
        natConfigGroup OBJECT-IDENTITY
            STATUS current
            DESCRIPTION 
                "Network Address Translation global configuration items."
            ::= { zedgeNat 1 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.1.1
        natTcpTimeout OBJECT-TYPE
            SYNTAX Unsigned32 (0..604800)
            UNITS "seconds"
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The number of seconds before an idle TCP connection will be
                removed.  The default value is 300 seconds.  The maximum is one week.
                Zero is a valid value that will cause the connection to timeout very
                quickly."
            ::= { natConfigGroup 1 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.1.2
        natUdpTimeout OBJECT-TYPE
            SYNTAX Unsigned32 (0..604800)
            UNITS "seconds"
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "The number of seconds before an idle UDP connection will be removed.
                The default value is 60 seconds.  The maximum is one week.
                Zero is a valid value that will cause the connection to timeout very
                quickly."
            ::= { natConfigGroup 2 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.1.3
        natClearBindings OBJECT-TYPE
            SYNTAX TruthValue
            MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
                "Set this object to 'true' to clear the binding table.
                A GET on this object will always return 'false'."
            ::= { natConfigGroup 3 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.2
        natStatsGroup OBJECT-IDENTITY
            STATUS current
            DESCRIPTION 
                "Network Address Translation global statistics."
            ::= { zedgeNat 2 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.2.1
        natNumCurrentBindings OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bindings currently managed by NAT."
            ::= { natStatsGroup 1 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.2.2
        natNumExpiredBindings OBJECT-TYPE
            SYNTAX Gauge32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Number of bindings that have been expired.  A binding is expired
                when it has been idle for a period longer than the configured timeout."
            ::= { natStatsGroup 2 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.2.3
        natTotalPkts OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Total number of packets that have been forwarded by NAT
                since the last reset."
            ::= { natStatsGroup 3 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.2.4
        natDroppedPkts OBJECT-TYPE
            SYNTAX Counter32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The total number of packets that have been dropped by NAT
                since the last reset."
            ::= { natStatsGroup 4 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.3
        natBindingsTable OBJECT-TYPE
            SYNTAX SEQUENCE OF NatBindingsEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The current set of NAT bindings in the system and statistics
                kept per-binding."
            ::= { zedgeNat 3 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.3.1
        natBindingsEntry OBJECT-TYPE
            SYNTAX NatBindingsEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "An entry represents one NAT binding that currently exists in the system.
                An entry is indexed by Local IP Address, Local Port, Public IP Address, 
                and Public Port."
            INDEX { natBindingsIfIndex, natBindingLocalAddr, natBindingLocalPort, natBindingPublicAddr, natBindingPublicPort
                 }
            ::= { natBindingsTable 1 }

        
        NatBindingsEntry ::=
            SEQUENCE { 
                natBindingsIfIndex
                    InterfaceIndex,
                natBindingLocalAddr
                    IpAddress,
                natBindingLocalPort
                    Unsigned32,
                natBindingPublicAddr
                    IpAddress,
                natBindingPublicPort
                    Unsigned32
             }

        -- 1.3.6.1.4.1.5504.4.1.16.3.1.1
        natBindingsIfIndex OBJECT-TYPE
            SYNTAX InterfaceIndex
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The interface to which this binding belongs."
            ::= { natBindingsEntry 1 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.3.1.2
        natBindingLocalAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The local IP address for this binding."
            ::= { natBindingsEntry 2 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.3.1.3
        natBindingLocalPort OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The local port for this binding."
            ::= { natBindingsEntry 3 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.3.1.4
        natBindingPublicAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The public IP address for this binding."
            ::= { natBindingsEntry 4 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.3.1.5
        natBindingPublicPort OBJECT-TYPE
            SYNTAX Unsigned32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "The public port for this binding."
            ::= { natBindingsEntry 5 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.4
        zhonePATBindings OBJECT IDENTIFIER ::= { zedgeNat 4 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.4.1
        patBindNextIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "Description. A hint for the next free zhonePATBindIndex , should
                  the manager want to create a new PAT-Bind entry."
            ::= { zhonePATBindings 1 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.4.2
        patTable OBJECT-TYPE
            SYNTAX SEQUENCE OF PatEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The current set of Port Address translation bindings for this box."
            ::= { zhonePATBindings 2 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.4.2.1
        patEntry OBJECT-TYPE
            SYNTAX PatEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A Port Forwarding translation entry."
            INDEX { zhonePATBindIndex }
            ::= { patTable 1 }

        
        PatEntry ::=
            SEQUENCE { 
                zhonePATBindIndex
                    Integer32,
                zhonePATBindRowStatus
                    ZhoneRowStatus,
                publicAddr
                    IpAddress,
                publicPort
                    Integer32,
                localAddr
                    IpAddress,
                localPort
                    Integer32,
                portType
                    INTEGER
             }

        -- 1.3.6.1.4.1.5504.4.1.16.4.2.1.1
        zhonePATBindIndex OBJECT-TYPE
            SYNTAX Integer32 (1..4320)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This value is used to identify this particular entry in the table. 
                It is only used for access in the table and therefore not externally 
                visible."
            ::= { patEntry 1 }
-- The range of zhonePATBindIndex is defined by PAT_MAX_ALLOC_PORT_NUMS 
-- currently defined in /vob/TORNADO/target/h/netinet/in.h
        
        -- 1.3.6.1.4.1.5504.4.1.16.4.2.1.2
        zhonePATBindRowStatus OBJECT-TYPE
            SYNTAX ZhoneRowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus is used to create/delete entries in the table."
            ::= { patEntry 2 }

        
-- 
        -- 1.3.6.1.4.1.5504.4.1.16.4.2.1.3
        publicAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The IP address that is acting as the port
                forwarding agent, this should be a public internet
                address.
                "
            ::= { patEntry 3 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.4.2.1.4
        publicPort OBJECT-TYPE
            SYNTAX Integer32 (51921..56250)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The port number on the forwarding agent that is to
                be used.  This number has been limited to range
                51921 to 56250 to avoid overlap with other applications.
                
                When used with a portType of cpemgr, this value
                represents the first public port in a set of public
                ports.  See the portType description for details."
            ::= { patEntry 4 }
-- The limits for this field are defined in 
-- /vob/TORNADO/target/h/netinet/in.h as
-- PATBIND_ASSIGNED_PORT_LOW and 
-- PATBIND_ASSIGNED_PORT_HIGH.
        
        -- 1.3.6.1.4.1.5504.4.1.16.4.2.1.5
        localAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The IP Address of a host machine on the 
                private subnet that we want to make active
                through the usage of  reverse port forwarding feature."
            ::= { patEntry 5 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.4.2.1.6
        localPort OBJECT-TYPE
            SYNTAX Integer32 (1..49151)
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The internal port number that we want to use on the 
                private host that we want to forward to.
                The currently defined ports by the IANA are 1..49151.
                
                When used with the portType of cpemgr, this value 
                represents the number of consecutive publicPorts
                reserved by this PAT_Bind instance."
            ::= { patEntry 6 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.4.2.1.7
        portType OBJECT-TYPE
            SYNTAX INTEGER
                {
                tcp(1),
                udp(2),
                cpemgr(3),
                cpemgrsecure(4)
                }
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "The NAT code needs to know if this port uses a
                connection oriented exchange (TCP), or not (UDP).
                
                The cpemgr value represents a wildcard that defines
                a set of PAT Bindings.  When using this wildcard,
                the publicPort value represents the first port of
                a consecutive block of publicPorts, and the localPort
                value represents the number of publicPorts in this 
                block.  The actual local ports are well known ports
                and the set of bindings is currently:
                
                   Public   | Local Well |   Type  | Name
                    Port    | Known Port |         |
                ------------|------------|---------|--------
                <publicPort>|     7      | TCP,UDP | ECHO
                     +1     |    20      | TCP     | FTP - data
                     +2     |    21      | TCP     | FTP - control
                     +3     |    22      | TCP,UDP | SSH
                     +4     |    23      | TCP,UDP | Telnet
                     +5     |    80      | TCP     | HTTP
                     +6     |    81      | TCP     | HTTP
                     +7     |   161      | TCP,UDP | SNMP
                     +8     |   443      | TCP     | HTTPS
                With this set, the localPort value should be 9.
                
                   Public   | Local Well |   Type  | Name
                    Port    | Known Port |         |
                ------------|------------|---------|--------
                <publicPort>|     7      | TCP,UDP | ECHO
                     +0     |   162      | UDP     | SNMP traps
                     +1     |    22      | TCP,UDP | SSH
                     +2     |   443      | TCP     | HTTPS
                     +2     |   161      | UDP     | SNMP
                With this set, the localPort value should be 3
                and portType should be cpemgrsecure.
                
                   Public   | Local Well |   Type  | Name
                    Port    | Known Port |         |
                ------------|------------|---------|--------
                <publicPort>|     7      | TCP,UDP | ECHO
                     +0     |   162      | UDP     | SNMP traps
                     +1     |    23      | TCP,UDP | Telnet
                     +2     |    80      | TCP     | HTTP
                     +2     |   161      | UDP     | SNMP
                With this set, the localPort value should be 3
                and portType should be cpemgr.
                
                   Public   | Local Well |   Type  | Name
                    Port    | Known Port |         |
                ------------|------------|---------|--------
                <publicPort>|     7      | TCP,UDP | ECHO
                     +1     |    22      | TCP,UDP | SSH
                     +2     |   161      | TCP,UDP | SNMP
                     +3     |   443      | TCP     | HTTPS
                     +3     |   162      | UDP     | SNMP traps
                With this set, the localPort value should be 4
                and portType should be cpemgrsecure.
                
                   Public   | Local Well |   Type  | Name
                    Port    | Known Port |         |
                ------------|------------|---------|--------
                <publicPort>|     7      | TCP,UDP | ECHO
                     +1     |    23      | TCP,UDP | Telnet
                     +2     |   161      | TCP,UDP | SNMP
                     +3     |    80      | TCP     | HTTP
                     +3     |   162      | UDP     | SNMP traps
                With this set, the localPort value should be 4
                and portType should be cpemgr.
                
                "
            DEFVAL { tcp }
            ::= { patEntry 7 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.5
        zhoneNATExclusion OBJECT IDENTIFIER ::= { zedgeNat 5 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.5.1
        natExcludeNextIndex OBJECT-TYPE
            SYNTAX Integer32
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
                "A hint for the next free zhoneNATExcludeIndex should
                the manager want to create a new NAT-Exclude entry."
            ::= { zhoneNATExclusion 1 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.5.2
        natExcludeTable OBJECT-TYPE
            SYNTAX SEQUENCE OF NatExcludeEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "The current set of NAT exclusion ranges for this box."
            ::= { zhoneNATExclusion 2 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.5.2.1
        natExcludeEntry OBJECT-TYPE
            SYNTAX NatExcludeEntry
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "A NAT exclusion range entry (ie. an IP address
                range to exclude from NAT translation)."
            INDEX { zhoneNATExcludeIndex }
            ::= { natExcludeTable 1 }

        
        NatExcludeEntry ::=
            SEQUENCE { 
                zhoneNATExcludeIndex
                    Integer32,
                zhoneNATExcludeRowStatus
                    ZhoneRowStatus,
                ipStartAddr
                    IpAddress,
                ipEndAddr
                    IpAddress
             }

        -- 1.3.6.1.4.1.5504.4.1.16.5.2.1.1
        zhoneNATExcludeIndex OBJECT-TYPE
            SYNTAX Integer32 (1..20)
            MAX-ACCESS not-accessible
            STATUS current
            DESCRIPTION
                "This value is used to identify this particular entry
                in the table.  It is only used for access in the table
                and therefore not externally visible."
            ::= { natExcludeEntry 1 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.5.2.1.2
        zhoneNATExcludeRowStatus OBJECT-TYPE
            SYNTAX ZhoneRowStatus
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "RowStatus is used to create/delete entries in the table."
            ::= { natExcludeEntry 2 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.5.2.1.3
        ipStartAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "This is the start of the IP range (inclusive) to exclude
                from NAT translation.  Value must be less than or equal
                to ipEndAddr."
            ::= { natExcludeEntry 3 }

        
        -- 1.3.6.1.4.1.5504.4.1.16.5.2.1.4
        ipEndAddr OBJECT-TYPE
            SYNTAX IpAddress
            MAX-ACCESS read-create
            STATUS current
            DESCRIPTION
                "This is the end of the IP range (inclusive) to exclude
                from NAT translation.  Value must be greater than or
                equal to ipStartAddr."
            ::= { natExcludeEntry 4 }

        
    
    END

--
-- comIpZEdgeNat.mib
--
