ENTERASYS-LSNAT-MIB DEFINITIONS ::= BEGIN

--  enterasys-lsnat-mib.txt
--
--  Part Number:
--
--
--  This module provides authoritative definitions for Enterasys
--  Networks Load Sharing Network Address Translation (LSNAT) 
--  functionality.
--
--  This module will be extended, as needed.

--  Enterasys Networks reserves the right to make changes in this
--  specification and other information contained in this document
--  without prior notice.  The reader should consult Enterasys Networks
--  to determine whether any such changes have been made.
--
--  In no event shall Enterasys Networks be liable for any incidental,
--  indirect, special, or consequential damages whatsoever (including
--  but not limited to lost profits) arising out of or related to this
--  document or the information contained in it, even if Enterasys
--  Networks has been advised of, known, or should have known, the
--  possibility of such damages.
--
--  Enterasys Networks grants vendors, end-users, and other interested
--  parties a non-exclusive license to use this Specification in
--  connection with the management of Enterasys Networks products.

--  Copyright June, 2010 Enterasys Networks, Inc.

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE
        FROM SNMPv2-SMI
    Unsigned32, Gauge32, Counter32
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    RowStatus, TruthValue, DateAndTime
        FROM SNMPv2-TC
    InetVersion, InetAddressType, InetAddress, InetPortNumber, 
    InetAddressPrefixLength
        FROM INET-ADDRESS-MIB
    InterfaceIndexOrZero
        FROM IF-MIB
    etsysModules
        FROM ENTERASYS-MIB-NAMES
    SnmpAdminString 
         FROM SNMP-FRAMEWORK-MIB;

etsysLsnatMIB MODULE-IDENTITY
    LAST-UPDATED     "201006011440Z"  -- June 01, 2010,  2:40PM GMT
    ORGANIZATION "Enterasys Networks, Inc"
    CONTACT-INFO
        "Postal:  Enterasys Networks
                  50 Minuteman Rd.
                  Andover, MA 01810-1008
                  USA
         Phone:   +1 978 684 1000
         E-mail:  support@enterasys.com
         WWW:     http://www.enterasys.com"

    DESCRIPTION
        "The Enterasys Networks Proprietary MIB module for entities 
         implementing LSNAT."

    REVISION    "201006011440Z"  -- June 01, 2010,  2:40PM GMT
    DESCRIPTION "Initial version"

    ::= { etsysModules 74 }

-- -------------------------------------------------------------
-- LSNAT MIB Groups
-- -------------------------------------------------------------

etsysLsnatGlobal                  
                        OBJECT IDENTIFIER ::= { etsysLsnatMIB 1 }
etsysLsnatGlobalStats           
                        OBJECT IDENTIFIER ::= { etsysLsnatGlobal 1 }
etsysLsnatGlobalIpv4Config            
                        OBJECT IDENTIFIER ::= { etsysLsnatGlobal 2 }
etsysLsnatTables                    
                        OBJECT IDENTIFIER ::= { etsysLsnatMIB 2 }
etsysLsnatConformance          
                        OBJECT IDENTIFIER ::= { etsysLsnatMIB 3 }

-- -------------------------------------------------------------
-- LSNAT Global Statistics Branch
-- -------------------------------------------------------------
etsysLsnatStatsRealsUsed OBJECT-TYPE
    SYNTAX       Gauge32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the number of Real servers currently 
         configured."
    ::= { etsysLsnatGlobalStats 1 }

etsysLsnatStatsServerfarmsUsed OBJECT-TYPE
    SYNTAX       Gauge32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the number of Server farms currently 
         configured."
    ::= { etsysLsnatGlobalStats 2 }

etsysLsnatStatsVserversUsed OBJECT-TYPE
    SYNTAX       Gauge32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the number of Virtual servers currently 
         configured."
    ::= { etsysLsnatGlobalStats 3 }
        
etsysLsnatStatsVserversIPsUsed OBJECT-TYPE
    SYNTAX       Gauge32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the number of Virtual IP addresses 
         currently configured."
    ::= { etsysLsnatGlobalStats 4 }
        
etsysLsnatStatsBindingsCurrent OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the current number of active LSNAT 
         bindings."
    ::= { etsysLsnatGlobalStats 5 }

etsysLsnatStatsBindingsHigh OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the highest number of active LSNAT
         bindings at one time."
    ::= { etsysLsnatGlobalStats 6 }

etsysLsnatStatsBindingsDeleted OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the total number of LSNAT bindings
         that have been deleted."
    ::= { etsysLsnatGlobalStats 7 }

etsysLsnatStatsBindingsTotal OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the total number of LSNAT bindings 
         created."
    ::= { etsysLsnatGlobalStats 8 }

etsysLsnatStatsBindingsExhausted OBJECT-TYPE
    SYNTAX       Counter32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the number of times a request to create
         a LSNAT binding failed because there were no available free 
         entries."
    ::= { etsysLsnatGlobalStats 9 }

etsysLsnatStatsBindingsNoReals OBJECT-TYPE
    SYNTAX       Counter32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the number of times a request to create 
         a LSNAT binding failed because there were no available Real 
         servers to establish a binding."
    ::= { etsysLsnatGlobalStats 10 }

etsysLsnatStatsBindingsNoPortmapPort OBJECT-TYPE
    SYNTAX       Counter32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the number of times a request to create 
         a LSNAT binding failed because there were no available Port 
         Map Port entries to establish a binding."
    ::= { etsysLsnatGlobalStats 11 }

etsysLsnatStatsBindingsNoFtpALG OBJECT-TYPE
    SYNTAX       Counter32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the number of times a request to create 
         a LSNAT binding failed because there were no available FTP 
         ALG's to establish a binding."
    ::= { etsysLsnatGlobalStats 12 }

etsysLsnatStatsBindingsPerSecond OBJECT-TYPE
    SYNTAX       Gauge32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the average number of LSNAT bindings 
         created per second. Normalized for 5 seconds."
    ::= { etsysLsnatGlobalStats 13 }
    
etsysLsnatStatsVserverActive OBJECT-TYPE
    SYNTAX       Gauge32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the number of active Virtual server 
         entries."
    ::= { etsysLsnatGlobalStats 14 }

etsysLsnatStatsVserverHigh OBJECT-TYPE
    SYNTAX       Gauge32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the highest number of active Virtual 
        server entries at one time."
    ::= { etsysLsnatGlobalStats 15 }

etsysLsnatStatsServerfarmActive OBJECT-TYPE
    SYNTAX       Gauge32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the number of active Server farm 
         entries."
    ::= { etsysLsnatGlobalStats 16 }

etsysLsnatStatsServerfarmHigh OBJECT-TYPE
    SYNTAX       Gauge32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the highest number of active Server farm
         entries at one time."
    ::= { etsysLsnatGlobalStats 17 }

etsysLsnatStatsRealActive OBJECT-TYPE
    SYNTAX       Gauge32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the number of active Real server 
         entries."
    ::= { etsysLsnatGlobalStats 18 }

etsysLsnatStatsRealHigh OBJECT-TYPE
    SYNTAX       Gauge32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the highest number of active Real server
         entries at one time."
    ::= { etsysLsnatGlobalStats 19 }
    
etsysLsnatStatsStickyEntriesTotal OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the total number of LSNAT Sticky entries
         created."
    ::= { etsysLsnatGlobalStats 20 }

etsysLsnatStatsStickyBindingsStuckTotal OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the total number LSNAT stuck bindings 
         since this counter was last cleared, see etsysLsnatStatsClear."
    ::= { etsysLsnatGlobalStats 21 }

etsysLsnatStatsStickyBindingsStuckCurrent OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the current number LSNAT stuck bindings."
    ::= { etsysLsnatGlobalStats 22 }

etsysLsnatStatsStickyActiveEntries OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the current number of active LSNAT Sticky 
         entries."
    ::= { etsysLsnatGlobalStats 23 }

etsysLsnatStatsStickyActiveEntriesHigh OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the highest number of active LSNAT Sticky 
         entries at one time."
    ::= { etsysLsnatGlobalStats 24 }

etsysLsnatStatsStickyEntriesExhausted OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the number of times a request to create 
         an LSNAT Sticky entry failed because there were no free Sticky
         entries."
    ::= { etsysLsnatGlobalStats 25 }

etsysLsnatStatsClear OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Setting this object to a value of true(1) will clear LSNAT 
         statistics and cause the following objects to be reset to zero
         and new values generated: 

           etsysLsnatStatsBindingsDeleted
           etsysLsnatStatsBindingsTotal
           etsysLsnatStatsBindingsExhausted
           etsysLsnatStatsBindingsNoReals
           etsysLsnatStatsBindingsNoPortmapPort
           etsysLsnatStatsBindingsNoFtpALG
           etsysLsnatStatsBindingsPerSecond
           etsysLsnatStatsStickyEntriesTotal
           etsysLsnatStatsStickyBindingsStuckTotal
           etsysLsnatStatsStickyEntriesExhausted
           etsysLsnatServerfarmHits
           etsysLsnatServerfarmStateChanges
           etsysLsnatRealServerHits
           etsysLsnatRealServerStateChanges
           etsysLsnatVserverConns
           etsysLsnatVserverStateChanges
        
         The following objects will be reset to the current active 
         counts:

           etsysLsnatStatsBindingsHigh
           etsysLsnatStatsVserverHigh
           etsysLsnatStatsServerfarmHigh
           etsysLsnatStatsRealHigh
           etsysLsnatStatsStickyActiveEntriesHigh

         Setting this object to a value of false(2) has no effect.  
         This object will always return a value of false(2)."
    DEFVAL       { false }
    ::= { etsysLsnatGlobalStats 26 }

etsysLsnatStatsClearDateAndTime OBJECT-TYPE
    SYNTAX       DateAndTime
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The date / time the LSNAT statistics were cleared."
    ::= { etsysLsnatGlobalStats 27 }

etsysLsnatStatsRealServerAccessClientsCount OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The number of etsysLsnatRealServerAccessClientEntry in the
         etsysLsnatRealServerAccessClientTable"
    ::= { etsysLsnatGlobalStats 28 }
    
etsysLsnatStatsMinTimeoutValue OBJECT-TYPE
    SYNTAX       Unsigned32
    UNITS        "seconds" 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
         "The minimum timeout value allowable for LSNAT timeouts."
    ::= { etsysLsnatGlobalStats 29 }

etsysLsnatStatsMaxTimeoutValue OBJECT-TYPE
    SYNTAX       Unsigned32
    UNITS        "seconds" 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
         "The maximum timeout value allowable for LSNAT timeouts."
    ::= { etsysLsnatGlobalStats 30 }
    
-- -------------------------------------------------------------
-- LSNAT Global Ipv4 Config Branch
-- -------------------------------------------------------------
etsysLsnatIpv4ConfigFTPCtrlPort OBJECT-TYPE
    SYNTAX       InetPortNumber (1..65535)
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "This object contains the IPv4 FTP Control Port used by 
         LSNAT."
    DEFVAL { 21 }
    ::= { etsysLsnatGlobalIpv4Config 1 }
        
etsysLsnatIpv4ConfigTFTPCtrlPort OBJECT-TYPE
    SYNTAX       InetPortNumber (1..65535)
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "This object contains the IPv4 TFTP Control Port used by 
         LSNAT."
    DEFVAL { 69 }
    ::= { etsysLsnatGlobalIpv4Config 2 }

etsysLsnatIpv4ConfigRealServerAccess OBJECT-TYPE
    SYNTAX       INTEGER {
                   restricted(1),
                   unrestricted(2)
                 }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "This object controls IPv4 Client access to Real Servers.
         - `restricted', indicates direct user access to LSNAT 
           configured Real servers using destination ports 
           configured by the Real servers, will not be allowed
           for any user. 
         - `unrestricted', indicates direct access to all services on 
           LSNAT configured Real servers will be allowed for all 
           users."
    DEFVAL { restricted }
    ::= { etsysLsnatGlobalIpv4Config 3 }
        
etsysLsnatIpv4ConfigFinRstTimeout OBJECT-TYPE
    SYNTAX       Unsigned32
    UNITS        "seconds" 
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
         "The timeout value after TCP FIN/RST observed on IPv4 NAT 
          bindings. Setting a value of '0' results in this feature 
          being disabled."
    DEFVAL { 3 }
    ::= { etsysLsnatGlobalIpv4Config 4 }

etsysLsnatIpv4ConfigFinRstTimeoutHalfClosedStatus OBJECT-TYPE
    SYNTAX       INTEGER {
                   disabled(1),
                   enabled(2)
                 }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "This object indicates if the IPv4 TCP FIN/RST timeout will
         apply to bindings only when the hardware connections have 
         aged out.
         - `disabled', indicates the IPv4 TCP FIN/RST timeout does not
           apply to half closed bindings.
         - `enabled', indicates the IPv4 TCP FIN/RST timeout applies
           to half closed bindings."
    DEFVAL { enabled }
    ::= { etsysLsnatGlobalIpv4Config 5 }

-- -------------------------------------------------------------
-- LSNAT Global Real Server Access Client Table
-- -------------------------------------------------------------

etsysLsnatRealServerAccessClientTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysLsnatRealServerAccessClientEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION    
        "A table of entries defining a subnet of Client IP addresses
         that will be allowed direct access to all Real servers."
    ::={ etsysLsnatTables 1 }

etsysLsnatRealServerAccessClientEntry OBJECT-TYPE
    SYNTAX       EtsysLsnatRealServerAccessClientEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry in the etsysLsnatRealServerAccessClientTable 
         defining a subnet of Client IP addresses for this Client 
         Access Table entry. The Real Server Access Client Table entry
         defines a subnet of Client IP addresses that will be allowed 
         direct access to all Real servers."
    INDEX  { etsysLsnatRealServerAccessClientAddressType, 
             etsysLsnatRealServerAccessClientIp, 
             etsysLsnatRealServerAccessClientPrefixLen }
    ::= { etsysLsnatRealServerAccessClientTable 1 }

EtsysLsnatRealServerAccessClientEntry ::=
    SEQUENCE {
        etsysLsnatRealServerAccessClientAddressType
            InetAddressType,
        etsysLsnatRealServerAccessClientIp
            InetAddress,
        etsysLsnatRealServerAccessClientPrefixLen
            InetAddressPrefixLength,
        etsysLsnatRealServerAccessClientRowStatus
            RowStatus
    }
            
etsysLsnatRealServerAccessClientAddressType OBJECT-TYPE 
    SYNTAX       InetAddressType
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION 
        "The value of this property affects the size and format of 
        etsysLsnatRealServerAccessClientIp."
    ::= { etsysLsnatRealServerAccessClientEntry 1 } 

etsysLsnatRealServerAccessClientIp OBJECT-TYPE
    SYNTAX       InetAddress 
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The IP address for this subnet of IP addresses defining this
        LSNAT Real Server Access Client entry."
    ::= { etsysLsnatRealServerAccessClientEntry 2 }
     
etsysLsnatRealServerAccessClientPrefixLen OBJECT-TYPE
    SYNTAX       InetAddressPrefixLength 
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The length of the IP network mask for this LSNAT Real Server 
        Access Client entry.  The values for the index objects 
        etsysLsnatRealServerAccessClientIp and
        etsysLsnatRealServerAccessClientPrefixLen must be 
        consistent."
    ::= { etsysLsnatRealServerAccessClientEntry 3 }

etsysLsnatRealServerAccessClientRowStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object permits management of the table by facilitating
        actions such as row creation and deletion.

        The value of this object has no effect on whether other 
        objects in the conceptual row can be modified.
        
        The only allowable row status of this conceptual row in the 
        table are:
        active(1)
        - The Real Server Access Client entry is available for use in
          LSNAT operations.
        createAndGo(4)
        - This is the preferred mechanism for creating conceptual rows 
          in this table. Errors resulting from invalid 
          etsysLsnatRealServerAccessClientIp and 
          etsysLsnatRealServerAccessClientPrefixLen when creating the
          LSNAT entry will result in the row not being created. There 
          are no other writable leaves so a successful createAndGo will
          always transition a new entry to the active(1) state.
        destroy(6)
        - This will remove the etsysLsnatRealServerAccessClientEntry 
          from the etsysLsnatRealServerAccessClientTable and make it
          unavailable for LSNAT operations."
    ::= { etsysLsnatRealServerAccessClientEntry 4 }

-- -------------------------------------------------------------
-- LSNAT Server Farm Table
-- -------------------------------------------------------------

etsysLsnatServerfarmTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysLsnatServerfarmEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION    
        "A table containing objects defining the configuration 
        parameters, operational state and runtime statistics of
        LSNAT Server farms."
    ::={ etsysLsnatTables 2 }

etsysLsnatServerfarmEntry OBJECT-TYPE
    SYNTAX       EtsysLsnatServerfarmEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry in the etsysLsnatServerfarmTable containing the 
        operational characteristics of an LSNAT Server farm.  An LSNAT 
        Server farm contains a grouping of Real servers 
        (etsysLsnatRealServerEntry) that load balancing requests will 
        use to distribute the request load."
     INDEX  { etsysLsnatServerfarmInetVersion, 
              etsysLsnatServerfarmName }
    ::= { etsysLsnatServerfarmTable 1 }

EtsysLsnatServerfarmEntry ::=
    SEQUENCE {
        etsysLsnatServerfarmInetVersion
            InetVersion,
        etsysLsnatServerfarmName
            SnmpAdminString,
        etsysLsnatServerfarmPredictor
            INTEGER,
        etsysLsnatServerfarmAdminStatus
            INTEGER,
        etsysLsnatServerfarmOperStatus
            INTEGER,
        etsysLsnatServerfarmConns
            Gauge32,
        etsysLsnatServerfarmHits
            Counter32,
        etsysLsnatServerfarmStateChanges
            Counter32,
        etsysLsnatServerfarmLastStateChangeDateAndTime
            DateAndTime,
        etsysLsnatServerfarmRealsCfg
            Gauge32,
        etsysLsnatServerfarmRealsUp
            Gauge32,
        etsysLsnatServerfarmVserversCfg
            Gauge32,
        etsysLsnatServerfarmRowStatus
            RowStatus
    }

etsysLsnatServerfarmInetVersion OBJECT-TYPE
    SYNTAX       InetVersion
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The Internet address version of the LSNAT Server farm."
    ::= { etsysLsnatServerfarmEntry 1 }

etsysLsnatServerfarmName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..63))
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "This object contains the unique name of the LSNAT Server 
        farm."
    ::= { etsysLsnatServerfarmEntry 2 }

etsysLsnatServerfarmPredictor OBJECT-TYPE
    SYNTAX       INTEGER {
                   roundrobin(1),
                   leastconns(2)
                   }
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object contains the Predictor value. The predictor value 
        defines the method of selecting the appropriate Real server 
        when a new binding request is generated.
        - `roundrobin', indicates the Real server will be selected 
          using a round robin algorithm.         
        - `leastconns', indicates the Real server will be selected 
          based on the fewest active connections on the Real servers."
    DEFVAL { roundrobin }
    ::= { etsysLsnatServerfarmEntry 3 }

etsysLsnatServerfarmAdminStatus OBJECT-TYPE
    SYNTAX       INTEGER {
                   disabled(1),
                   enabled(2)
                 }
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object contains the Administrative state of the Server 
        farm.
        - `disabled', indicates the Server farm is administratively
          disabled.
        - `enabled', indicates the Server farm is administratively
          enabled."
    DEFVAL { enabled }
    ::= { etsysLsnatServerfarmEntry 4 }

etsysLsnatServerfarmOperStatus OBJECT-TYPE
    SYNTAX       INTEGER {
                   up(1),
                   down(2)
                 }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the Operational state of the LSNAT Server
        farm. The state of the LSNAT Server farm will be deemed 'up' 
        when the row is 'active', the etsysLsnatServerfarmAdminStatus 
        is 'enabled' and at least one etsysLsnatRealServerEntry has 
        been associated with this entry and the 
        etsysLsnatRealServerOperStatus is 'up'.
        - `up', indicates the LSNAT Server farm is operationally ready.
        - `down', indicates the LSNAT Server farm is operationally
          unavailable."
    ::= { etsysLsnatServerfarmEntry 5 }

etsysLsnatServerfarmConns OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The current number of active LSNAT connections established on 
        this LSNAT Server farm."
    ::= { etsysLsnatServerfarmEntry 6 }
     
etsysLsnatServerfarmHits OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The total number of hits this LSNAT Server farm has 
        received."
    ::= { etsysLsnatServerfarmEntry 7 }
        
etsysLsnatServerfarmStateChanges OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The total number of operational state changes (see 
        etsysLsnatServerfarmOperStatus) for this LSNAT Server farm."
    ::= { etsysLsnatServerfarmEntry 8 }
     
etsysLsnatServerfarmLastStateChangeDateAndTime OBJECT-TYPE
    SYNTAX       DateAndTime
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The date / time the last LSNAT Server farm state change."
    ::= { etsysLsnatServerfarmEntry 9 }

etsysLsnatServerfarmRealsCfg OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The total number of Real servers (etsysLsnatRealServerEntry)
        currently configured on this LSNAT Server farm."
    ::= { etsysLsnatServerfarmEntry 10 }
     
etsysLsnatServerfarmRealsUp OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The total number of Real servers (etsysLsnatRealServerEntry)
        currently configured on this LSNAT Server farm with a 
        etsysLsnatRealServerOperStatus of 'up'."
    ::= { etsysLsnatServerfarmEntry 11 }
     
etsysLsnatServerfarmVserversCfg OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The total number of Virtual servers (etsysLsnatVserversEntry)
        currently configured using this LSNAT Server farm 
        (etsysLsnatVserverServerfarmName)."
    ::= { etsysLsnatServerfarmEntry 12 }
     
etsysLsnatServerfarmRowStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object permits management of the table by facilitating
        actions such as row creation and deletion.

        The value of this object has no effect on whether other 
        objects in the conceptual row can be modified.
        
        The only allowable row status of this conceptual row in the 
        table are:
        active(1)
        - The Server farm entry is available for use by LSNAT 
          operations. Other writable leaves in this table MAY be 
          modified while the row is in the active state.
        createAndGo(4)
        - This is the preferred mechanism for creating conceptual rows 
          in this table.  A valid createAndGo requires a unique 
          etsysLsnatServerfarmName, errors resulting from existing 
          etsysLsnatServerfarmName's will result in the row not being 
          created. All writable leaves have default values so a valid
          createAndGo will always transition a new entry to the 
          active(1) state.
        destroy(6)
        - This will remove the etsysLsnatServerfarmEntry from the 
          etsysLsnatServerfarmTable and make it unavailable for LSNAT 
          operations.  This will result in all associated LSNAT Real 
          Server Table entries (etsysLsnatRealServerEntry) to also be 
          deleted.          
          In addition deleting this entry will result in the 
          etsysLsnatVserverServerfarmName leaf of any associated 
          etsysLsnatVserverEntry's to be set to the unassigned value 
          and if the Virtual server had been in a state 
          (etsysLsnatVserverOperStatus) of 'up' it would result in the 
          Virtual server transitioning it's state to 'down'."
    ::= { etsysLsnatServerfarmEntry 13 }
        
-- -------------------------------------------------------------
-- LSNAT Real Server Table
-- -------------------------------------------------------------

etsysLsnatRealServerTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysLsnatRealServerEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION    
        "A table containing objects defining the configuration 
        parameters, operational states and runtime statistics of
        LSNAT Real servers."
    ::={ etsysLsnatTables 3 }
    
etsysLsnatRealServerEntry OBJECT-TYPE
    SYNTAX       EtsysLsnatRealServerEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry in the etsysLsnatRealServerTable containing the 
        operational characteristics of an LSNAT Real server and its
        association with an LSNAT Server farm. An LSNAT Real server is
        a local server on which Virtual server requests will be 
        directed for services defined by the Virtual server."
    INDEX  { etsysLsnatRealServerAddressType, 
             etsysLsnatServerfarmName, 
             etsysLsnatRealServerIp, 
             etsysLsnatRealServerPort }
    ::= { etsysLsnatRealServerTable 1 }

EtsysLsnatRealServerEntry ::=
    SEQUENCE {
        etsysLsnatRealServerAddressType
            InetAddressType,
        etsysLsnatRealServerIp
            InetAddress,
        etsysLsnatRealServerPort
            InetPortNumber,
        etsysLsnatRealServerWeight
            Unsigned32,
        etsysLsnatRealServerMaxConns
            Unsigned32,
        etsysLsnatRealServerFailDetectType
            INTEGER,
        etsysLsnatRealServerFailDetectProbeOne
            SnmpAdminString,
        etsysLsnatRealServerFailDetectProbeTwo
            SnmpAdminString,
        etsysLsnatRealServerAdminStatus
            INTEGER,
        etsysLsnatRealServerOperStatus
            INTEGER,
        etsysLsnatRealServerConns
            Gauge32,
        etsysLsnatRealServerHits
            Counter32,
        etsysLsnatRealServerStateChanges
            Counter32,
        etsysLsnatRealServerLastStateChangeDateAndTime
            DateAndTime,
        etsysLsnatRealServerRowStatus
            RowStatus
    }

etsysLsnatRealServerAddressType OBJECT-TYPE 
    SYNTAX       InetAddressType
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION 
        "The value of this property affects the size and format of 
        etsysLsnatRealServerIp. This value must be consistent with the
        value set in the etsysLsnatServerfarmInetVersion for the Server
        farm defined by etsysLsnatServerfarmName."
    ::= { etsysLsnatRealServerEntry 1 } 

etsysLsnatRealServerIp OBJECT-TYPE
    SYNTAX       InetAddress 
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The assigned IP addresses identifying this Real server."
    ::= { etsysLsnatRealServerEntry 2 }

etsysLsnatRealServerPort OBJECT-TYPE
    SYNTAX       InetPortNumber (0|1..65535)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The service port used when accessing this Real server. A 
        value of zero indicates that all ports can be used by Virtual
        servers accessing this Real server."
    ::= { etsysLsnatRealServerEntry 3 }
        
etsysLsnatRealServerWeight OBJECT-TYPE
    SYNTAX       Unsigned32 (1..155)
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "A weight assigned to this Real server to be used in selecting 
        this Real server over other created Real servers for LSNAT 
        connections.  This value is only significant when the 
        etsysLsnatServerfarmPredictor for the associated LSNAT 
        Server farm is set to 'roundrobin'."
    DEFVAL { 1 }
    ::= { etsysLsnatRealServerEntry 4 }
        
etsysLsnatRealServerMaxConns OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The maximum number of LSNAT connections allowed for this Real 
        server at any one time. While the current number of 
        connections (etsysLsnatRealServerConns) equals this value this 
        Real server will no longer be considered for new LSNAT 
        connections. A value of zero indicates that there is no limit."
    DEFVAL { 0 }
    ::= { etsysLsnatRealServerEntry 5 }
        
etsysLsnatRealServerFailDetectType OBJECT-TYPE
    SYNTAX       INTEGER {
                   none(1),
                   probe(2)
                 }
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object contains the fail detect type assigned to this 
        Real server.
        - `none', indicates there is no fail detection used to verify
          the operational state of the Real Server.
        - `probe', indicates that probes are used to verify the 
          operational state or the Real server."
    DEFVAL { probe }
    ::= { etsysLsnatRealServerEntry 6 }

etsysLsnatRealServerFailDetectProbeOne OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(0..31))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The name of probe one assigned to the Real Server. Probes are
        used to verify the operational state of the Real Server. A null
        string indicates that probe one is not assigned."
    DEFVAL { "" }
    ::= { etsysLsnatRealServerEntry 7 }

etsysLsnatRealServerFailDetectProbeTwo OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(0..31))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The name of probe two assigned to the Real Server. Probes are 
        used to verify the operational state of the Real Server. A null
        string indicates that probe two is not assigned."
    DEFVAL { "" }
    ::= { etsysLsnatRealServerEntry 8 }

etsysLsnatRealServerAdminStatus OBJECT-TYPE
    SYNTAX       INTEGER {
                   disabled(1),
                   enabled(2)
                 }
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object contains the administrative state of the Real 
        server.
        - `disabled', indicates the Real server is administratively 
          disabled.
        - `enabled', indicates the Real server is administratively 
          enabled."
    DEFVAL { disabled }
    ::= { etsysLsnatRealServerEntry 9 }

etsysLsnatRealServerOperStatus OBJECT-TYPE
    SYNTAX       INTEGER {
                   up(1),
                   down(2)
                 }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the operational state of the Real server.
        The state of the Real server will be deemed 'up' when the row 
        is 'active', the etsysLsnatRealServerAdminStatus is 'enabled' 
        and a positive response is received from the configured fail 
        detect request.
        - `up', indicates the Real server is operationally ready.
        - `down', indicates the Real server is operationally 
          unavailable."
    ::= { etsysLsnatRealServerEntry 10 }

etsysLsnatRealServerConns OBJECT-TYPE
    SYNTAX       Gauge32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The current number of active LSNAT connections established 
        using this Real server."
    ::= { etsysLsnatRealServerEntry 11 }
     
etsysLsnatRealServerHits OBJECT-TYPE
    SYNTAX       Counter32 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The total number of hits this Real server has received."
    ::= { etsysLsnatRealServerEntry 12 }
        
etsysLsnatRealServerStateChanges OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The total number of state changes (see 
        etsysLsnatRealServerOperStatus) for this Real server."
    ::= { etsysLsnatRealServerEntry 13 }
     
etsysLsnatRealServerLastStateChangeDateAndTime OBJECT-TYPE
    SYNTAX       DateAndTime
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The date / time the last LSNAT Real server state change."
    ::= { etsysLsnatRealServerEntry 14 }

etsysLsnatRealServerRowStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object permits management of the table by facilitating
        actions such as row creation and deletion.

        The value of this object has no effect on whether other 
        objects in the conceptual row can be modified.
        
        The only allowable row status of this conceptual row in the 
        table are:
        active(1)
        - The Real server entry is available for use by LSNAT 
          operations. Other writable leaves in this table MAY be 
          modified while the row is in the active state.
        createAndGo(4)
        - This is the preferred mechanism for creating conceptual rows 
          in this table.  A valid server farm identified by 
          etsysLsnatServerfarmName must be present. Also errors 
          resulting from an invalid etsysLsnatRealServerIp or 
          etsysLsnatRealServerPort when creating the LSNAT entry will 
          result in the row not being created.  All writable leaves 
          have default values so a valid createAndGo will always 
          transition a new entry to the active(1) state.
        destroy(6)
        - This will remove the etsysLsnatRealServerEntry from the 
          etsysLsnatRealServerTable and make it unavailable for LSNAT 
          operations."
    ::= { etsysLsnatRealServerEntry 15 }

-- -------------------------------------------------------------
-- LSNAT Virtual Server Table
-- -------------------------------------------------------------

etsysLsnatVserverTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysLsnatVserverEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION    
        "A table containing objects defining the configuration 
        parameters, operational states and runtime statistics of 
        LSNAT Virtual servers."
    ::={ etsysLsnatTables 4 }

etsysLsnatVserverEntry OBJECT-TYPE
    SYNTAX       EtsysLsnatVserverEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry in the etsysLsnatVserverTable containing the 
        operational characteristics of a Virtual server.  A Virtual 
        server provides load sharing between multiple servers grouped
        into Server farms that can be tailored to an individual 
        service or all services, without requiring any modification to
        clients or servers."
    INDEX  { etsysLsnatVserverInetVersion, 
             etsysLsnatVserverName }
    ::= { etsysLsnatVserverTable 1 }
     
EtsysLsnatVserverEntry ::=
    SEQUENCE {
        etsysLsnatVserverInetVersion
            InetVersion,
        etsysLsnatVserverName
            SnmpAdminString,
        etsysLsnatVserverServerfarmName
            SnmpAdminString,
        etsysLsnatVserverIdleTimeout
            Unsigned32,
        etsysLsnatVserverStickyType
            INTEGER,
        etsysLsnatVserverStickyTimeout
            Unsigned32,
        etsysLsnatVserverUDPOneShot
            INTEGER,
        etsysLsnatVserverVrrpInterface
            InterfaceIndexOrZero,
        etsysLsnatVserverVrrpVrid
            Unsigned32,
        etsysLsnatVserverSourceNatPoolName
            SnmpAdminString,
        etsysLsnatVserverAdminStatus
            INTEGER,
        etsysLsnatVserverOperStatus
            INTEGER,
        etsysLsnatVserverLastStateChangeReason
            SnmpAdminString,
        etsysLsnatVserverLastStateChangeDateAndTime
            DateAndTime,
        etsysLsnatVserverConns
            Gauge32,
        etsysLsnatVserverHits
            Counter32,
        etsysLsnatVserverStateChanges
            Counter32,
        etsysLsnatVserverVirtualAddressStatus
            INTEGER,
        etsysLsnatVserverClientCount
            Counter32,
        etsysLsnatVserverRowStatus
            RowStatus,
        etsysLsnatVserverBindingMatchSourcePort
            INTEGER
    }

etsysLsnatVserverInetVersion OBJECT-TYPE
    SYNTAX       InetVersion
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The Internet address version of the LSNAT Virtual server."
    ::= { etsysLsnatVserverEntry 1 }

etsysLsnatVserverName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..63))
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "This object contains the unique name of the LSNAT Virtual 
        server."
    ::= { etsysLsnatVserverEntry 2 }

etsysLsnatVserverServerfarmName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(0..63))
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The Server farm name (etsysLsnatServerfarmName) specifying the
        Server farm to be assigned to this Virtual server entry. The 
        value of etsysLsnatVserverInetVersion must be consistent with 
        the value of etsysLsnatServerfarmInetVersion defined by this
        etsysLsnatVserverServerfarmName.  Setting this value requires 
        etsysLsnatVserverAdminStatus to be set to 'disabled'. A null 
        string results in no Virtual server Server farm entry being 
        assigned to this Virtual server."
    DEFVAL { "" }
    ::= { etsysLsnatVserverEntry 3 }

etsysLsnatVserverIdleTimeout OBJECT-TYPE
    SYNTAX       Unsigned32
    UNITS        "seconds" 
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The idle timeout value for bindings created using this 
        Virtual server."
    DEFVAL { 240 }
    ::= { etsysLsnatVserverEntry 4 }

etsysLsnatVserverStickyType OBJECT-TYPE
    SYNTAX       INTEGER {
                   none(1),
                   sip(2),
                   sipDipDport(3)
                 }
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object contains the type of 'sticky' entry created when 
        accessing this LSNAT Virtual server.
        - `none', indicates no LSNAT sticky entries will be created.
        - `sip', indicates that LSNAT sticky entries will be created 
          based on the source IP address.
        - `sipDipDport', indicates that LSNAT sticky entries will be 
          created based on source IP address, destination IP address
          and the destination port."
    DEFVAL { none }
    ::= { etsysLsnatVserverEntry 5 }
    
etsysLsnatVserverStickyTimeout OBJECT-TYPE
    SYNTAX       Unsigned32
    UNITS        "seconds" 
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The timeout value for sticky entries created using this 
        Virtual server."
    DEFVAL { 7200 }
    ::= { etsysLsnatVserverEntry 6 }

etsysLsnatVserverUDPOneShot OBJECT-TYPE
    SYNTAX       INTEGER {
                   disabled(1),
                   enabled(2)
                 }
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object enables the UDP One Shot feature for this LSNAT 
        Virtual server.
        - `disabled', UDP One Shot is disabled.
        - `enabled', UDP One Shot is enabled."
    DEFVAL { disabled }
    ::= { etsysLsnatVserverEntry 7 }

etsysLsnatVserverVrrpInterface OBJECT-TYPE
    SYNTAX       InterfaceIndexOrZero
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The ifIndex used in conjunction with the Virtual Router Index
        (VRID) etsysLsnatVserverVrrpVrid to describe the associated 
        VRRP. A properly configured entry will also include a 
        non-default entry for the VRID (etsysLsnatVserverVrrpVrid). 
        A transitioning of the VRRP defined by this entry and 
        etsysLsnatVserverVrrpVrid to a state of anything but 'master' 
        will result in the Virtual server etsysLsnatVserverOperStatus 
        transitioning to a state of 'down'.  A non zero value must 
        also be set in etsysLsnatVserverVrrpVrid for this entry to be 
        configured properly.  A value of '0' in 
        etsysLsnatVserverVrrpInterface and etsysLsnatVserverVrrpVrid 
        indicates that there is no VRRP associated with this Virtual
        server."
    DEFVAL { 0 }
    ::= { etsysLsnatVserverEntry 8 }
        
etsysLsnatVserverVrrpVrid OBJECT-TYPE
    SYNTAX       Unsigned32 (0..255)
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The Virtual Router Index (VRID) used in conjunction with the
        (ifIndex) etsysLsnatVserverVrrpInterface to describe
        the associated VRRP. A properly configured entry will include 
        a non-default entry for the VLAN interface 
        (etsysLsnatVserverVrrpInterface). A non zero value must also 
        be set in etsysLsnatVserverVrrpVrid for this entry to be 
        configured properly.  A value of '0' in 
        etsysLsnatVserverVrrpInterface and etsysLsnatVserverVrrpVrid 
        indicates that there is no VRRP associated with this Virtual 
        server."
    DEFVAL { 0}
    ::= { etsysLsnatVserverEntry 9 }
        
etsysLsnatVserverSourceNatPoolName OBJECT-TYPE
    SYNTAX       SnmpAdminString
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "The NAT pool name (etsysNatPoolName) defined as part of 
        the etsysNatMIB specifying the NAT pool to be assigned to this
        Virtual server entry. A null string results in no Virtual 
        server Source NAT Pool entry being assigned to this Virtual 
        server. "
    DEFVAL { "" }
    ::= { etsysLsnatVserverEntry 10 }

etsysLsnatVserverAdminStatus OBJECT-TYPE
    SYNTAX       INTEGER {
                   disabled(1),
                   enabled(2)
                 }
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object contains the administrative state of the Virtual 
        server.
        - `disabled', indicates the Virtual server is administratively 
          disabled.
        - `enabled', indicates the Virtual server is administratively 
          enabled. An entry must exist in the 
          etsysLsnatVserverVirtualAddressTable associated to this 
          Virtual server for this leaf to be set to 'enabled'."
    DEFVAL { disabled }
    ::= { etsysLsnatVserverEntry 11 }

etsysLsnatVserverOperStatus OBJECT-TYPE
    SYNTAX       INTEGER {
                   up(1),
                   down(2)
                 }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the operational state of this Virtual 
        server. The state of this Virtual server will be deemed 'up' 
        when the row is 'active', the etsysLsnatVserverAdminStatus is
        'enabled', a Server farm has been assigned with the 
        etsysLsnatVserverServerfarmName leaf and that 
        etsysLsnatServerfarmEntry has a state 
        (etsysLsnatServerfarmOperStatus) of 'up' and the VRRP defined 
        by etsysLsnatVserverVrrpInterface and 
        etsysLsnatVserverVrrpVrid is returning a state of 'master'.
        - `up', indicates the Virtual server is operationally ready.
        - `down', indicates the Virtual server is operationally  
          unavailable."
    ::= { etsysLsnatVserverEntry 12 }

etsysLsnatVserverLastStateChangeReason OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..256))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object indicates the reason for the last Virtual server 
        state (etsysLsnatVserverOperStatus) change."
    ::= { etsysLsnatVserverEntry 13 }

etsysLsnatVserverLastStateChangeDateAndTime OBJECT-TYPE
    SYNTAX       DateAndTime
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The date / time the last LSNAT Virtual server state change."
    ::= { etsysLsnatVserverEntry 14 }

etsysLsnatVserverConns OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The current number of active LSNAT connections established on 
        this Virtual server."
    ::= { etsysLsnatVserverEntry 15 }
     
etsysLsnatVserverHits OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The total number of hits this LSNAT Virtual server has 
        received."
    ::= { etsysLsnatVserverEntry 16 }
        
etsysLsnatVserverStateChanges OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The total number of state changes (see 
        etsysLsnatVserverOperStatus) for this Virtual server."
    ::= { etsysLsnatVserverEntry 17 }
     
etsysLsnatVserverVirtualAddressStatus OBJECT-TYPE
    SYNTAX       INTEGER {
                   invalid(1),
                   valid(2)
                 }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the state of the vserver's virtual 
        address info. See etsysLsnatVserverVirtualAddressTable
        - `invalid', indicates the Vserver does not have a valid 
           virtual address
        - `valid', indicates the Vserver has a valid virtual address"

    ::= { etsysLsnatVserverEntry 18 }

etsysLsnatVserverClientCount OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The number of clients configured to the vserver. 
         See etsysLsnatVserverClientTable"
    ::= { etsysLsnatVserverEntry 19 }

etsysLsnatVserverRowStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object permits management of the table by facilitating
        actions such as row creation and deletion.

        The value of this object has no effect on whether other objects
        in the conceptual row can be modified.
        
        The only allowable row status of this conceptual row in the 
        table are:
        active(1)
        - The Virtual server entry is available for use by LSNAT 
          operations. Other writable leaves in this table MAY be 
          modified while the row is in the active state.
        createAndGo(4)
        - This is the preferred mechanism for creating conceptual rows 
          in this table.  A valid createAndGo requires a unique 
          etsysLsnatVserverName, errors resulting from existing 
          etsysLsnatVserverNames will result in the row not being 
          created. All writable leaves have default values so a valid
          createAndGo will always transition a new entry to the 
          active(1) state.
        destroy(6)
        - This will remove the etsysLsnatVserverEntry from the 
          etsysLsnatVserverTable and make it unavailable for LSNAT 
          operations.  This will result in any associated LSNAT Virtual
          server Virtual Address Table entries 
          (etsysLsnatVserverVirtualAddressEntry) and LSNAT Client 
          Access Table entries (etsysLsnatClientAccessEntry) to also be
          deleted."
    ::= { etsysLsnatVserverEntry 20 }

etsysLsnatVserverBindingMatchSourcePort OBJECT-TYPE
    SYNTAX       INTEGER {
                   exact(1),
                   any(2)
                 }
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object modifies the mode in which a vserver creates 
        bindings.
        - `exact', creates bindings that match the client UDP/TCP source
          port.
        - `any', creates bindings that match any client UDP/TCP source
          port."
    DEFVAL { exact }
    ::= { etsysLsnatVserverEntry 21 }

-- -------------------------------------------------------------
-- LSNAT Virtual Server Virtual Address Table
-- -------------------------------------------------------------

etsysLsnatVserverVirtualAddressTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysLsnatVserverVirtualAddressEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION    
         "A table of entries defining the Virtual configuration   
         associated with the Virtual server identified by 
         etsysLsnatVserverName."
    ::={ etsysLsnatTables 5 }

etsysLsnatVserverVirtualAddressEntry OBJECT-TYPE
    SYNTAX       EtsysLsnatVserverVirtualAddressEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
         "An entry in the etsysLsnatVserverVirtualAddressTable defining 
         Virtual configuration for this Virtual server Virtual Table 
         entry.   The Virtual server Virtual Table entry defines IP
         addresses, protocol, port  and access for the Virtual server 
         identified by etsysLsnatVserverName.  An entry must exist 
         for (etsysLsnatVserverAdminStatus) of the associated 
         Virtual server (etsysLsnatVserverName) to be set to 
         'enabled'."
    INDEX  { etsysLsnatVserverVirtualAddressType,
             etsysLsnatVserverName, 
             etsysLsnatVserverVirtualAddressFirstIp, 
             etsysLsnatVserverVirtualAddressLastIp, 
             etsysLsnatVserverVirtualAddressProtocol,
             etsysLsnatVserverVirtualAddressPort,
             etsysLsnatVserverVirtualAddressServiceType,
             etsysLsnatVserverVirtualAddressAllVrfs }
    ::= { etsysLsnatVserverVirtualAddressTable 1 }

EtsysLsnatVserverVirtualAddressEntry ::=
    SEQUENCE {
        etsysLsnatVserverVirtualAddressType
            InetAddressType,
        etsysLsnatVserverVirtualAddressFirstIp
            InetAddress,
        etsysLsnatVserverVirtualAddressLastIp
            InetAddress,
        etsysLsnatVserverVirtualAddressProtocol
            INTEGER,
        etsysLsnatVserverVirtualAddressPort
            InetPortNumber,
        etsysLsnatVserverVirtualAddressServiceType
            INTEGER,
        etsysLsnatVserverVirtualAddressAllVrfs
            INTEGER,
        etsysLsnatVserverVirtualAddressRowStatus
            RowStatus
    }
            
etsysLsnatVserverVirtualAddressType OBJECT-TYPE 
    SYNTAX       InetAddressType
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION 
        "The value of this property affects the size and format of
        etsysLsnatVserverVirtualAddressFirstIp and 
        etsysLsnatVserverVirtualAddressLastIp. This value must be 
        consistent with the etsysLsnatVserverInetVersion defined by 
        etsysLsnatVserverName."
    ::= { etsysLsnatVserverVirtualAddressEntry 1 } 

etsysLsnatVserverVirtualAddressFirstIp OBJECT-TYPE
    SYNTAX       InetAddress 
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The starting IP address for this range of IP addresses 
        defining this LSNAT Virtual configuration."
    ::= { etsysLsnatVserverVirtualAddressEntry 2 }
     
etsysLsnatVserverVirtualAddressLastIp OBJECT-TYPE
    SYNTAX       InetAddress 
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The ending IP address for this range of IP addresses defining
        this LSNAT Virtual configuration. A value identical to 
        etsysLsnatVserverVirtualFirstIp will indicate a range of one 
        address."
     ::= { etsysLsnatVserverVirtualAddressEntry 3 }
     
etsysLsnatVserverVirtualAddressProtocol OBJECT-TYPE
    SYNTAX       INTEGER {
                   tcp(1),
                   udp(2)
                 }
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "This object contains the protocol type for this Virtual 
        configuration.  
        - `tcp', indicates that the Virtual configuration will use TCP 
          protocol.
        - `udp', indicates that the Virtual configuration will use UDP 
          protocol."
    ::= { etsysLsnatVserverVirtualAddressEntry 4 }

etsysLsnatVserverVirtualAddressPort OBJECT-TYPE
    SYNTAX       InetPortNumber (0|1..65535)
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The port used when accessing this Virtual configuration. A 
        value of  '0' indicates that all ports are usable."
    ::= { etsysLsnatVserverVirtualAddressEntry 5 }
        
etsysLsnatVserverVirtualAddressServiceType OBJECT-TYPE
    SYNTAX       INTEGER {
                   none(0),
                   ftp(1),
                   tftp(2)
                 }
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "This object contains the optional service allowed for this
        Virtual configuration. 
        - 'none', there is no optional service provided.
        - `ftp', indicates that the Virtual configuration service type 
          is FTP.  The service type can only be set to 'ftp' if the 
          etsysLsnatVserverVirtualProtocol type is set to 'tcp'.
        - `tftp', indicates that the Virtual configuration service type
          is TFTP. The service type can only be set to 'tftp' if the 
          etsysLsnatVserverVirtualProtocol type is set to 'udp'."
    ::= { etsysLsnatVserverVirtualAddressEntry 6 }
     
etsysLsnatVserverVirtualAddressAllVrfs OBJECT-TYPE
    SYNTAX       INTEGER {
                   disabled(1),
                   enabled(2)
                 }
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "This object defines if this Virtual configuration will be 
        reachable via all VRFs.
          - 'disabled', the Virtual server identified by 
             etsysLsnatVserverName will not be reachable from all 
             VRFs.
          - 'enabled', the Virtual server identified by 
             etsysLsnatVserverName will be reachable from all VRFs."
    ::= { etsysLsnatVserverVirtualAddressEntry 7 }
        
etsysLsnatVserverVirtualAddressRowStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object permits management of the table by facilitating
        actions such as row creation and deletion.

        The value of this object has no effect on whether other 
        objects in the conceptual row can be modified.
        
        The only allowable row status of this conceptual row in the 
        table are:
        active(1)
        - The Virtual server Virtual configuration entry is available 
          for use in LSNAT operations and is associated with the 
          Virtual server defined by etsysLsnatVserverName.
        createAndGo(4)
        - This is the preferred mechanism for creating conceptual rows 
          in this table.  A valid etsysLsnatVserverName must be 
          present.  Also errors resulting from:
          - Invalid etsysLsnatVserverVirtualAddressFirstIp and 
             etsysLsnatVserverVirtualAddressLastIp combinations.
          - etsysLsnatVserverVirtualAddressType inconsistencies with 
             the etsysLsnatVserverInetVersion associated with the 
             etsysLsnatVserverName.
          - Inconsistent values assigned to 
             etsysLsnatVserverVirtualAddressProtocol and 
             etsysLsnatVserverVirtualAddressServiceType.
          when creating the LSNAT entry will result in the row not 
          being created. 
          Creating this entry requires the associated Virtual server 
          etsysLsnatVserverAdminStatus, identified by 
          etsysLsnatVserverName, to have a status of 'disabled'.
          Already existing etsysLsnatVserverVirtualAddressEntrys 
          associated with the Virtual Server identified by 
          etsysLsnatVserverName will result in the original entry being
          deleted and a new entry created.
          There are no other writable leaves so a successful 
          createAndGo will always transition a new entry to the 
          active(1) state.
        destroy(6)
        - This will remove the etsysLsnatVserverVirtualAddressEntry 
          from the etsysLsnatVserverVirtualAddressTable and make it 
          unavailable for LSNAT operations.  Deleting this entry 
          requires the associated Virtual server 
          etsysLsnatVserverAdminStatus, identified by 
          etsysLsnatVserverName, to have a status of 'disabled'."
    ::= { etsysLsnatVserverVirtualAddressEntry 8 }
    
-- -------------------------------------------------------------
-- LSNAT Client Access Table
-- -------------------------------------------------------------

etsysLsnatVserverClientTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysLsnatVserverClientEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION    
         "A table of entries defining a subnet of Client IP addresses 
         that will be allowed direct access to the Real servers 
         associated with the Virtual server identified by 
         etsysLsnatVserverName."
    ::={ etsysLsnatTables 6 }

etsysLsnatVserverClientEntry OBJECT-TYPE
    SYNTAX       EtsysLsnatVserverClientEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
         "An entry in the etsysLsnatVserverClientTable defining 
         a subnet of Client IP addresses for this Virtual server Client
         Access Table entry. The Virtual server Client Access Table 
         entry defines a subnet of Client IP addresses that will be 
         allowed direct access to the Real servers associated with this
         Virtual server while this Virtual server is active."
    INDEX  { etsysLsnatVserverClientAddressType, 
             etsysLsnatVserverName, 
             etsysLsnatVserverClientIp, 
             etsysLsnatVserverClientPrefixLen }
    ::= { etsysLsnatVserverClientTable 1 }

EtsysLsnatVserverClientEntry ::=
    SEQUENCE {
        etsysLsnatVserverClientAddressType
            InetAddressType,
        etsysLsnatVserverClientIp
            InetAddress,
        etsysLsnatVserverClientPrefixLen
            InetAddressPrefixLength,
        etsysLsnatVserverClientRowStatus
            RowStatus
    }
            
etsysLsnatVserverClientAddressType OBJECT-TYPE 
    SYNTAX       InetAddressType
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION 
        "The value of this property affects the size and format of
        etsysLsnatVserverClientIp. This value must be consistent with 
        the etsysLsnatVserverInetVersion defined by 
        etsysLsnatVserverName."
    ::= { etsysLsnatVserverClientEntry 1 } 

etsysLsnatVserverClientIp OBJECT-TYPE
    SYNTAX       InetAddress 
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The IP address for this subnet of IP addresses defining this
        LSNAT Virtual server Client Access entry."
    ::= { etsysLsnatVserverClientEntry 2 }
     
etsysLsnatVserverClientPrefixLen OBJECT-TYPE
    SYNTAX       InetAddressPrefixLength 
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "The length of the IP network mask for this LSNAT Virtual 
        server Client Access entry.  The values for the index objects 
        etsysLsnatVserverClientIp and 
        etsysLsnatVserverClientPrefixLen must be consistent."
    ::= { etsysLsnatVserverClientEntry 3 }

etsysLsnatVserverClientRowStatus OBJECT-TYPE
    SYNTAX       RowStatus
    MAX-ACCESS   read-create
    STATUS       current
    DESCRIPTION
        "This object permits management of the table by facilitating
        actions such as row creation and deletion.

        The value of this object has no effect on whether other 
        objects in the conceptual row can be modified.
        
        The only allowable row status of this conceptual row in the 
        table are:
        active(1)
        - The Virtual server Client Access entry is available for use
          in LSNAT operations.
        createAndGo(4)
        - This is the preferred mechanism for creating conceptual rows 
          in this table.  A valid etsysLsnatVserverName must be 
          present.  Also errors resulting from invalid 
          etsysLsnatVserverClientIp and 
          etsysLsnatVserverClientPrefixLen when creating the 
          LSNAT entry will result in the row not being created. There 
          are no other writable leaves so a successful createAndGo will
          always transition a new entry to the active(1) state.
        destroy(6)
        - This will remove the etsysLsnatClientAccessEntry from the 
          etsysLsnatVserverClientTable and make it unavailable
          for LSNAT operations."
    ::= { etsysLsnatVserverClientEntry 4 }
    
-- -------------------------------------------------------------
-- LSNAT Binding Table
-- -------------------------------------------------------------
etsysLsnatBindingTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysLsnatBindingEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION    
        "A table of entries defining active LSNAT bindings."
    ::={ etsysLsnatTables 7 }

etsysLsnatBindingEntry OBJECT-TYPE
    SYNTAX       EtsysLsnatBindingEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry in the etsysLsnatBindingTable defining an active 
        LSNAT binding.  The etsysLsnatBindingEntry defines the runtime 
        characteristics of an LSNAT binding."
    INDEX  { etsysLsnatBindingId }
    ::= { etsysLsnatBindingTable 1 }

EtsysLsnatBindingEntry ::=
    SEQUENCE {
        etsysLsnatBindingId
            Unsigned32,
        etsysLsnatBindingState
            INTEGER,
        etsysLsnatBindingAddressType
            InetAddressType,
        etsysLsnatBindingForwardSrcIp
            InetAddress,
        etsysLsnatBindingForwardSrcPort
            InetPortNumber,
        etsysLsnatBindingForwardDstIp
            InetAddress,
        etsysLsnatBindingForwardDstPort
            InetPortNumber,
        etsysLsnatBindingReverseSrcIp
            InetAddress,
        etsysLsnatBindingReverseSrcPort
            InetPortNumber,
        etsysLsnatBindingReverseDstIp
            InetAddress,
        etsysLsnatBindingReverseDstPort
            InetPortNumber,
        etsysLsnatBindingProtocol
            INTEGER,
        etsysLsnatBindingAlgType
            INTEGER,
        etsysLsnatBindingFtpDataBindingCount
            Unsigned32,
        etsysLsnatBindingSticky
        INTEGER,
        etsysLsnatBindingHWConns
            Gauge32,
        etsysLsnatBindingVserverName
            SnmpAdminString,
        etsysLsnatBindingServerfarmName
            SnmpAdminString,
        etsysLsnatBindingRealIp
            InetAddress,
        etsysLsnatBindingRealPort
            InetPortNumber,
        etsysLsnatBindingCreationDate
            DateAndTime,
        etsysLsnatBindingExpirationDate
            DateAndTime,
        etsysLsnatBindingIdleTime
            Unsigned32,
        etsysLsnatBindingExpireTime
            Unsigned32,
        etsysLsnatBindingClear
            TruthValue
    }

etsysLsnatBindingId OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "This value is a unique LSNAT binding identifier assigned by 
        LSNAT during binding creation."
    ::= { etsysLsnatBindingEntry 1 }

etsysLsnatBindingState OBJECT-TYPE
    SYNTAX       INTEGER {
                   init(1),
                   syncing(2),
                   established(3)
                 }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the state of the binding.
        - `init', indicates this binding is initializing.
        - `syncing', indicates this binding is syncing.
        - `established', indicates this binding is established."
    ::= { etsysLsnatBindingEntry 2 }
    
etsysLsnatBindingAddressType OBJECT-TYPE 
    SYNTAX       InetAddressType
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION 
        "The value of this property affects the size and format of:  
        etsysLsnatBindingForwardSrcIp, etsysLsnatBindingForwardDstIp,
        etsysLsnatBindingReverseSrcIp, etsysLsnatBindingReverseDstIp 
        and etsysLsnatBindingRealIp objects."
    ::= { etsysLsnatBindingEntry 3 } 

etsysLsnatBindingForwardSrcIp OBJECT-TYPE
    SYNTAX       InetAddress
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The forward source IP address for this LSNAT binding entry."
    ::= { etsysLsnatBindingEntry 4 }

etsysLsnatBindingForwardSrcPort OBJECT-TYPE
    SYNTAX       InetPortNumber (1..65535)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The forward source port for this LSNAT binding entry."
    ::= { etsysLsnatBindingEntry 5 }

etsysLsnatBindingForwardDstIp OBJECT-TYPE
    SYNTAX       InetAddress 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The forward destination IP address for this LSNAT binding 
        entry."
    ::= { etsysLsnatBindingEntry 6 }

etsysLsnatBindingForwardDstPort OBJECT-TYPE
    SYNTAX       InetPortNumber (1..65535)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The forward destination port for this LSNAT binding entry."
    ::= { etsysLsnatBindingEntry 7 }

etsysLsnatBindingReverseSrcIp OBJECT-TYPE
    SYNTAX       InetAddress 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The reverse source IP address for this LSNAT binding entry."
    ::= { etsysLsnatBindingEntry 8 }

etsysLsnatBindingReverseSrcPort OBJECT-TYPE
    SYNTAX       InetPortNumber (1..65535)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The reverse source port for this LSNAT binding entry."
    ::= { etsysLsnatBindingEntry 9 }

etsysLsnatBindingReverseDstIp OBJECT-TYPE
    SYNTAX       InetAddress 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The reverse destination IP address for this LSNAT binding 
         entry."
    ::= { etsysLsnatBindingEntry 10 }

etsysLsnatBindingReverseDstPort OBJECT-TYPE
    SYNTAX       InetPortNumber (1..65535)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The reverse destination port for this LSNAT binding entry."
    ::= { etsysLsnatBindingEntry 11 }
 
etsysLsnatBindingProtocol OBJECT-TYPE
    SYNTAX       INTEGER {
                   tcp(1),
                   udp(2)
                 }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the Binding protocol type.
         - `tcp', indicates that the binding is TCP protocol.
         - `udp', indicates that the binding is UDP protocol."
    ::= { etsysLsnatBindingEntry 12 }
    
etsysLsnatBindingAlgType OBJECT-TYPE
    SYNTAX       INTEGER {
                   none(1),
                   ftpctrl(2),
                   ftpdata(3),
                   tftpctrl(4)
                 }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the ALG Binding type.
        - `none', indicates that this binding is not an ALG binding.
        - `ftpctrl', indicates that this binding is a FTP control 
          binding.
        - `ftpdata', indicates that this binding is a FTP data binding.
        - `tftpctrl', indicates that this binding is a TFTP control 
          binding."
    ::= { etsysLsnatBindingEntry 13 }

etsysLsnatBindingFtpDataBindingCount  OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the number of associated FTP data channel
        bindings.  This value is only significant if the 
        etsysLsnatBindingAlgType is ftpctrl(2)."
    ::= { etsysLsnatBindingEntry 14 }
    
etsysLsnatBindingSticky OBJECT-TYPE
    SYNTAX       INTEGER {
                   yes(1),
                   no(2)
                   }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object identifies if this binding is associated with a 
        sticky entry.
        - `no', indicates that this binding is not associated with a 
          sticky entry.
        - `yes', indicates that this binding is associated with a 
          sticky entry."
    ::= { etsysLsnatBindingEntry 15 }

etsysLsnatBindingHWConns OBJECT-TYPE
    SYNTAX       Gauge32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the total number of hardware connections 
        currently active on this LSNAT binding."
    ::= { etsysLsnatBindingEntry 16 }

etsysLsnatBindingVserverName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..63))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the name of the LSNAT Virtual server 
        (etsysLsnatVserverName) associated with this LSNAT binding."
    ::= { etsysLsnatBindingEntry 17 }

etsysLsnatBindingServerfarmName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..63))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the name of the LSNAT Server farm 
        (etsysLsnatServerfarmName) associated with this LSNAT binding."
    ::= { etsysLsnatBindingEntry 18 }

etsysLsnatBindingRealIp OBJECT-TYPE
    SYNTAX       InetAddress 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The Real IP address for this LSNAT binding entry."
    ::= { etsysLsnatBindingEntry 19 }

etsysLsnatBindingRealPort OBJECT-TYPE
    SYNTAX       InetPortNumber (1..65535)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The Real server port for this LSNAT binding entry."
    ::= { etsysLsnatBindingEntry 20 }

etsysLsnatBindingCreationDate OBJECT-TYPE
    SYNTAX       DateAndTime
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The creation date / time for this LSNAT binding entry."
    ::= { etsysLsnatBindingEntry 21 }

etsysLsnatBindingExpirationDate OBJECT-TYPE
    SYNTAX       DateAndTime
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The expiration date / time for this LSNAT binding entry."
    ::= { etsysLsnatBindingEntry 22 }

etsysLsnatBindingIdleTime OBJECT-TYPE
    SYNTAX       Unsigned32
    UNITS        "seconds" 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The consecutive number of seconds this LSNAT binding entry
        has been idle."
    ::= { etsysLsnatBindingEntry 23 }

etsysLsnatBindingExpireTime OBJECT-TYPE
    SYNTAX       Unsigned32
    UNITS        "seconds" 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The number of idle seconds left before this LSNAT binding
        entry will age out."
    ::= { etsysLsnatBindingEntry 24 }

etsysLsnatBindingClear OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Setting this object to a value of true(1) will cause this
        etsysLsnatBindingEntry to be deleted from the
        etsysLsnatBindingTable.

        Setting this object to a value of false(2) has no effect.  
        This object will always return a value of false(2)."
    DEFVAL { false }
    ::= { etsysLsnatBindingEntry 25 }

-- -------------------------------------------------------------
-- LSNAT Sticky Entries Table
-- -------------------------------------------------------------
etsysLsnatStickyTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF EtsysLsnatStickyEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION    
        "A table of entries defining active LSNAT sticky entries."
    ::={ etsysLsnatTables 8 }

etsysLsnatStickyEntry OBJECT-TYPE
    SYNTAX       EtsysLsnatStickyEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "An entry in the etsysLsnatStickyTable defining an active 
        LSNAT sticky entry.  The etsysLsnatStickyEntry defines the 
        runtime characteristics of an LSNAT sticky entry."
    INDEX  { etsysLsnatStickyId }
    ::= { etsysLsnatStickyTable 1 }

EtsysLsnatStickyEntry ::=
    SEQUENCE {
        etsysLsnatStickyId
            Unsigned32,
        etsysLsnatStickyType
            INTEGER,
        etsysLsnatStickyAddressType
            InetAddressType,
        etsysLsnatStickySrcIp
            InetAddress,
        etsysLsnatStickyDstIp
            InetAddress,
        etsysLsnatStickyDstPort
            InetPortNumber,
        etsysLsnatStickyHits
            Counter32,
        etsysLsnatStickyBindings
            Counter32,
        etsysLsnatStickyVserverName
            SnmpAdminString,
        etsysLsnatStickyServerfarmName
            SnmpAdminString,
        etsysLsnatStickyRealIp
            InetAddress,
        etsysLsnatStickyRealPort
            InetPortNumber,
        etsysLsnatStickyCreationDate
            DateAndTime,
        etsysLsnatStickyExpirationDate
            DateAndTime,
        etsysLsnatStickyIdleTime
            Unsigned32,
        etsysLsnatStickyExpireTime
            Unsigned32,
        etsysLsnatStickyClear
            TruthValue
    }

etsysLsnatStickyId OBJECT-TYPE
    SYNTAX       Unsigned32
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
        "This value is a unique LSNAT sticky entry identifier assigned 
        by LSNAT during sticky entry creation."
    ::= { etsysLsnatStickyEntry 1 }

etsysLsnatStickyType OBJECT-TYPE
    SYNTAX       INTEGER {
                   sip(1),
                   sipDipDport(2)
                 }
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the state of the binding.
        - `sip', indicates that this sticky entry is based on the
          source IP.
        - `sipDipDport', indicates that this sticky entry is based 
          on the source IP, the destination IP and the destination 
          port."
    ::= { etsysLsnatStickyEntry 2 }
    
etsysLsnatStickyAddressType OBJECT-TYPE 
    SYNTAX       InetAddressType
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION 
        "The value of this property affects the size and format of: 
        etsysLsnatStickySrcIp, etsysLsnatStickyDstIp and
        etsysLsnatStickyRealIp objects."
    ::= { etsysLsnatStickyEntry 3 } 

etsysLsnatStickySrcIp OBJECT-TYPE
    SYNTAX       InetAddress 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The source IP address for this LSNAT sticky entry."
    ::= { etsysLsnatStickyEntry 4 }

etsysLsnatStickyDstIp OBJECT-TYPE
    SYNTAX       InetAddress 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The destination IP address for this LSNAT sticky entry."
    ::= { etsysLsnatStickyEntry 5 }

etsysLsnatStickyDstPort OBJECT-TYPE
    SYNTAX       InetPortNumber (1..65535)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The destination port for this LSNAT sticky entry."
    ::= { etsysLsnatStickyEntry 6 }

etsysLsnatStickyHits OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the total number of hits this LSNAT
        sticky entry has received."
    ::= { etsysLsnatStickyEntry 7 }

etsysLsnatStickyBindings OBJECT-TYPE
    SYNTAX       Counter32
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the total number of active bindings 
        associated with this LSNAT sticky entry."
    ::= { etsysLsnatStickyEntry 8 }

etsysLsnatStickyVserverName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..63))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the name of the LSNAT Virtual server 
        (etsysLsnatVserverName) associated with this LSNAT sticky 
        entry."
    ::= { etsysLsnatStickyEntry 9 }

etsysLsnatStickyServerfarmName OBJECT-TYPE
    SYNTAX       SnmpAdminString (SIZE(1..63))
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "This object contains the name of the LSNAT Server farm
        (etsysLsnatServerfarmName) associated with this LSNAT sticky
        entry."
    ::= { etsysLsnatStickyEntry 10 }

etsysLsnatStickyRealIp OBJECT-TYPE
    SYNTAX       InetAddress 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The Real server IP address for this LSNAT sticky entry."
    ::= { etsysLsnatStickyEntry 11 }

etsysLsnatStickyRealPort OBJECT-TYPE
    SYNTAX       InetPortNumber (1..65535)
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The Real server port for this LSNAT sticky entry."
    ::= { etsysLsnatStickyEntry 12 }

etsysLsnatStickyCreationDate OBJECT-TYPE
    SYNTAX       DateAndTime
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The creation date / time for this LSNAT sticky entry."
    ::= { etsysLsnatStickyEntry 13 }

etsysLsnatStickyExpirationDate OBJECT-TYPE
    SYNTAX       DateAndTime
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The expiration date / time for this LSNAT sticky entry."
    ::= { etsysLsnatStickyEntry 14 }

etsysLsnatStickyIdleTime OBJECT-TYPE
    SYNTAX       Unsigned32
    UNITS        "seconds" 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The consecutive number of seconds this LSNAT sticky entry
        has been idle."
    ::= { etsysLsnatStickyEntry 15 }

etsysLsnatStickyExpireTime OBJECT-TYPE
    SYNTAX       Unsigned32
    UNITS        "seconds" 
    MAX-ACCESS   read-only
    STATUS       current
    DESCRIPTION
        "The number of idle seconds left before this LSNAT sticky
        entry will age out."
    ::= { etsysLsnatStickyEntry 16 }

etsysLsnatStickyClear OBJECT-TYPE
    SYNTAX       TruthValue
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION
        "Setting this object to a value of true(1) will cause this
        etsysLsnatStickyEntry to be deleted from the
        etsysLsnatStickyTable.

        Setting this object to a value of false(2) has no effect.  
        This object will always return a value of false(2)."
    DEFVAL { false }
    ::= { etsysLsnatStickyEntry 17 }
    
-- ------------------------------------
-- Conformance information
-- ------------------------------------

etsysLsnatMIBGroups         
    OBJECT IDENTIFIER ::= { etsysLsnatConformance 1 }
etsysLsnatMIBCompliances 
    OBJECT IDENTIFIER ::= { etsysLsnatConformance 2 }

-- -------------------------------------------------------------
-- Units of conformance
-- -------------------------------------------------------------
etsysLsnatMIBGlobalStatsGroup  OBJECT-GROUP 
    OBJECTS { 
        etsysLsnatStatsRealsUsed,
        etsysLsnatStatsServerfarmsUsed,
        etsysLsnatStatsVserversUsed,
        etsysLsnatStatsVserversIPsUsed,
        etsysLsnatStatsBindingsCurrent,
        etsysLsnatStatsBindingsHigh,
        etsysLsnatStatsBindingsDeleted,
        etsysLsnatStatsBindingsTotal,
        etsysLsnatStatsBindingsExhausted,
        etsysLsnatStatsBindingsNoReals,
        etsysLsnatStatsBindingsNoPortmapPort,
        etsysLsnatStatsBindingsNoFtpALG,
        etsysLsnatStatsBindingsPerSecond,
        etsysLsnatStatsVserverActive,
        etsysLsnatStatsVserverHigh,
        etsysLsnatStatsServerfarmActive,
        etsysLsnatStatsServerfarmHigh,
        etsysLsnatStatsRealActive,
        etsysLsnatStatsRealHigh,
        etsysLsnatStatsStickyEntriesTotal,
        etsysLsnatStatsStickyBindingsStuckTotal,
        etsysLsnatStatsStickyBindingsStuckCurrent,
        etsysLsnatStatsStickyActiveEntries, 
        etsysLsnatStatsStickyActiveEntriesHigh,
        etsysLsnatStatsStickyEntriesExhausted,
        etsysLsnatStatsClear,
        etsysLsnatStatsClearDateAndTime
        }
    STATUS       current
    DESCRIPTION 
        "The statistics group for LSNAT global statistical 
        and configuration information." 
    ::= { etsysLsnatMIBGroups 1 }
    
etsysLsnatMIBGlobalIpv4ConfigGroup  OBJECT-GROUP 
    OBJECTS { 
        etsysLsnatIpv4ConfigFTPCtrlPort,
        etsysLsnatIpv4ConfigTFTPCtrlPort,
        etsysLsnatIpv4ConfigRealServerAccess,
        etsysLsnatIpv4ConfigFinRstTimeout,
        etsysLsnatIpv4ConfigFinRstTimeoutHalfClosedStatus
        }
    STATUS       current
    DESCRIPTION 
        "The information group for LSNAT global IPv4 configuration." 
    ::= { etsysLsnatMIBGroups 2 }
    
etsysLsnatMIBRealServerAccessClientTableGroup  OBJECT-GROUP 
    OBJECTS {
        etsysLsnatRealServerAccessClientRowStatus
        }
    STATUS       current
    DESCRIPTION 
        "The Real Server Access Client group for LSNAT 
        Real Server Access Client configurations." 
    ::= { etsysLsnatMIBGroups 3 }

etsysLsnatMIBServerfarmTableGroup  OBJECT-GROUP 
    OBJECTS { 
        etsysLsnatServerfarmPredictor,
        etsysLsnatServerfarmAdminStatus,
        etsysLsnatServerfarmOperStatus,
        etsysLsnatServerfarmConns,
        etsysLsnatServerfarmHits,
        etsysLsnatServerfarmStateChanges,
        etsysLsnatServerfarmLastStateChangeDateAndTime,
        etsysLsnatServerfarmRealsCfg,
        etsysLsnatServerfarmRealsUp,
        etsysLsnatServerfarmVserversCfg,
        etsysLsnatServerfarmRowStatus
        }
    STATUS       current
    DESCRIPTION 
        "The Server Farm group for LSNAT Server farm configuration
        and state operations." 
    ::= { etsysLsnatMIBGroups 4 }

etsysLsnatMIBRealServerTableGroup  OBJECT-GROUP 
    OBJECTS {
        etsysLsnatRealServerWeight,
        etsysLsnatRealServerMaxConns,
        etsysLsnatRealServerFailDetectType,
        etsysLsnatRealServerFailDetectProbeOne,
        etsysLsnatRealServerFailDetectProbeTwo,
        etsysLsnatRealServerAdminStatus,
        etsysLsnatRealServerOperStatus,
        etsysLsnatRealServerConns,
        etsysLsnatRealServerHits,
        etsysLsnatRealServerStateChanges,
        etsysLsnatRealServerLastStateChangeDateAndTime,
        etsysLsnatRealServerRowStatus
        }
    STATUS       current
    DESCRIPTION 
        "The Real server group for LSNAT Real server configuration and
        state operations." 
    ::= { etsysLsnatMIBGroups 5 }

etsysLsnatMIBVserverTableGroup  OBJECT-GROUP 
    OBJECTS {
        etsysLsnatVserverServerfarmName,
        etsysLsnatVserverIdleTimeout,
        etsysLsnatVserverStickyType,
        etsysLsnatVserverStickyTimeout,
        etsysLsnatVserverUDPOneShot,
        etsysLsnatVserverVrrpInterface,
        etsysLsnatVserverVrrpVrid,
        etsysLsnatVserverSourceNatPoolName,
        etsysLsnatVserverAdminStatus,
        etsysLsnatVserverOperStatus,
        etsysLsnatVserverLastStateChangeReason,
        etsysLsnatVserverLastStateChangeDateAndTime,
        etsysLsnatVserverConns,
        etsysLsnatVserverHits,
        etsysLsnatVserverStateChanges,
        etsysLsnatVserverVirtualAddressStatus,
        etsysLsnatVserverClientCount,
        etsysLsnatVserverRowStatus,
        etsysLsnatVserverBindingMatchSourcePort
        }
    STATUS       current
    DESCRIPTION 
        "The Virtual server group for LSNAT Virtual server 
        configuration and state operations." 
    ::= { etsysLsnatMIBGroups 6 }

etsysLsnatMIBVserverVirtualAddressTableGroup  OBJECT-GROUP 
    OBJECTS {
        etsysLsnatVserverVirtualAddressRowStatus
        }
    STATUS       current
    DESCRIPTION 
        "The Virtual server Virtual group for LSNAT Virtual 
        configurations." 
    ::= { etsysLsnatMIBGroups 7 }

etsysLsnatMIBVserverClientTableGroup  OBJECT-GROUP 
    OBJECTS {
        etsysLsnatVserverClientRowStatus
        }
    STATUS       current
    DESCRIPTION 
        "The Virtual server Client Access group for LSNAT Client
        Access configurations." 
    ::= { etsysLsnatMIBGroups 8 }

etsysLsnatMIBBindingTableGroup  OBJECT-GROUP 
    OBJECTS { 
        etsysLsnatBindingState,
        etsysLsnatBindingAddressType,
        etsysLsnatBindingForwardSrcIp,
        etsysLsnatBindingForwardSrcPort,
        etsysLsnatBindingForwardDstIp,
        etsysLsnatBindingForwardDstPort,
        etsysLsnatBindingReverseSrcIp,
        etsysLsnatBindingReverseSrcPort,
        etsysLsnatBindingReverseDstIp,
        etsysLsnatBindingReverseDstPort,
        etsysLsnatBindingProtocol,
        etsysLsnatBindingAlgType,
        etsysLsnatBindingFtpDataBindingCount,
        etsysLsnatBindingSticky,
        etsysLsnatBindingHWConns,
        etsysLsnatBindingVserverName,
        etsysLsnatBindingServerfarmName,
        etsysLsnatBindingRealIp,
        etsysLsnatBindingRealPort,
        etsysLsnatBindingCreationDate,
        etsysLsnatBindingExpirationDate,
        etsysLsnatBindingIdleTime,
        etsysLsnatBindingExpireTime,
        etsysLsnatBindingClear
        }
    STATUS       current
    DESCRIPTION 
        "The Bindings group for LSNAT Binding information." 
    ::= { etsysLsnatMIBGroups 9 }
    
etsysLsnatMIBStickyTableGroup  OBJECT-GROUP 
    OBJECTS { 
        etsysLsnatStickyType,
        etsysLsnatStickyAddressType,
        etsysLsnatStickySrcIp,
        etsysLsnatStickyDstIp,
        etsysLsnatStickyDstPort,
        etsysLsnatStickyHits,
        etsysLsnatStickyBindings,
        etsysLsnatStickyVserverName,
        etsysLsnatStickyServerfarmName,
        etsysLsnatStickyRealIp,
        etsysLsnatStickyRealPort,
        etsysLsnatStickyCreationDate,
        etsysLsnatStickyExpirationDate,
        etsysLsnatStickyIdleTime,
        etsysLsnatStickyExpireTime,
        etsysLsnatStickyClear
        }
    STATUS       current
    DESCRIPTION 
        "The Sticky entry group for LSNAT Sticky entry information." 
    ::= { etsysLsnatMIBGroups 10 }

-- ------------------------------------
-- Compliance statements
-- ------------------------------------
etsysLsnatMIBCompliance MODULE-COMPLIANCE 
    STATUS       current
    DESCRIPTION 
        "The compliance statement for implementation of the Router 
        Application Services LSNAT functionality."
    MODULE
        MANDATORY-GROUPS  { 
          etsysLsnatMIBGlobalStatsGroup, 
          etsysLsnatMIBGlobalIpv4ConfigGroup, 
          etsysLsnatMIBRealServerAccessClientTableGroup,
          etsysLsnatMIBServerfarmTableGroup,
          etsysLsnatMIBRealServerTableGroup,
          etsysLsnatMIBVserverTableGroup,
          etsysLsnatMIBVserverVirtualAddressTableGroup,
          etsysLsnatMIBVserverClientTableGroup,
          etsysLsnatMIBBindingTableGroup,
          etsysLsnatMIBStickyTableGroup
          }
        
        OBJECT      etsysLsnatStatsClear
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT      etsysLsnatRealServerAccessClientRowStatus
--        SYNTAX      RowStatus { 
        SYNTAX      INTEGER {
                      active(1), 
                      createAndGo(4), 
                      destroy(6) 
                    }
        DESCRIPTION
            "Only active, createAndGo and destroy are allowed."

        OBJECT      etsysLsnatServerfarmRowStatus
--        SYNTAX      RowStatus { 
        SYNTAX      INTEGER {
                      active(1), 
                      createAndGo(4), 
                      destroy(6) 
                    }
        DESCRIPTION
            "Only active, createAndGo and destroy are allowed."

        OBJECT      etsysLsnatRealServerRowStatus
--        SYNTAX      RowStatus { 
        SYNTAX      INTEGER {
                      active(1), 
                      createAndGo(4), 
                      destroy(6) 
                    }
        DESCRIPTION
            "Only active, createAndGo and destroy are allowed."

        OBJECT      etsysLsnatVserverRowStatus
--        SYNTAX      RowStatus { 
        SYNTAX      INTEGER {
                      active(1), 
                      createAndGo(4), 
                      destroy(6) 
                    }
        DESCRIPTION
            "Only active, createAndGo and destroy are allowed."

        OBJECT      etsysLsnatVserverVirtualAddressRowStatus
--        SYNTAX      RowStatus { 
        SYNTAX      INTEGER {
                      active(1), 
                      createAndGo(4), 
                      destroy(6) 
                    }
        DESCRIPTION
            "Only active, createAndGo and destroy are allowed."

        OBJECT      etsysLsnatVserverClientRowStatus
--        SYNTAX      RowStatus { 
        SYNTAX      INTEGER {
                      active(1), 
                      createAndGo(4), 
                      destroy(6) 
                    }
        DESCRIPTION
            "Only active, createAndGo and destroy are allowed."

        OBJECT      etsysLsnatBindingAddressType
--        SYNTAX      InetAddressType { 
        SYNTAX      INTEGER {
                      ipv4(1), 
                      ipv6(2) 
                    }
        DESCRIPTION
            "Only IPv4 and IPv6 addresses are allowed."
                    
        OBJECT      etsysLsnatStickyAddressType
--        SYNTAX      InetAddressType { 
        SYNTAX      INTEGER {
                      ipv4(1), 
                      ipv6(2) 
                    }
        DESCRIPTION
            "Only IPv4 and IPv6 addresses are allowed."
                    
    ::= { etsysLsnatMIBCompliances 1 }

   END
