Network Working Group                                       T. Dreibholz
Internet-Draft                              University of Duisburg-Essen
Intended status: Experimental                                   J. Mulik
Expires: July 26, August 10, 2009                       Delaware State University
                                                        January 22,
                                                        February 6, 2009

             Reliable Server Pooling: Management Information Base using SMIv2
                     draft-ietf-rserpool-mib-10.txt Pooling MIB Module Definition
                     draft-ietf-rserpool-mib-11.txt

Status of this Memo

   This Internet-Draft is submitted to IETF in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on July 26, August 10, 2009.

Copyright Notice

   Copyright (c) 2009 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.

Abstract

   RSerPool [RFC5351]

   Reliable Server Pooling (RSerPool) is a framework to provide reliable
   server pooling.  This document defines a SMIv2 compliant Management
   Information Base (MIB) module providing access to managed objects in
   an RSerPool implementation.

Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  The Reliable Server Pooling (RSerPool) Framework . . . . . . .  3
   3.  The Internet-Standard Management Framework . . . . . . . . . .  3
   4.  Structure of the MIB . . . . . . . . . . . . . . . . . . . . .  3
     4.1.  Access to managed objects on ENRP servers  . . . . . . . . 10
     4.2.  Access to managed objects on Pool Elements . . . . . . . . 11
     4.3.  Access to managed objects on Pool Users  . . . . . . . . . 11
   5.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . . 11
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . . 37 38
   7.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 37 38
   8.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 37 38
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 38
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 38
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 38 39
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 39 40

1.  Introduction

   This memo defines a Management Information Base (MIB) module which
   describes managed objects for RSerPool implementations.

2.  The Reliable Server Pooling (RSerPool) Framework

   For a detailed overview of the documents that describe the current
   Reliable Server Pooling (RSerPool) framework, please refer to
   [RFC3237], [RFC5351], [RFC5352], [RFC5353], [RFC5354], [RFC5355] and
   [RFC5356].  A more informal introduction can be found at
   [RSerPoolPage] as well as in [Dre2006], [LCN2005] and [IJHIT2008].

3.  The Internet-Standard Management Framework

   For a detailed overview of the documents that describe the current
   Internet-Standard Management Framework, please refer to section 7 of
   RFC 3410 [RFC3410].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  MIB objects are generally
   accessed through the Simple Network Management Protocol (SNMP).
   Objects in the MIB are defined using the mechanisms defined in the
   Structure of Management Information (SMI).  This memo specifies a MIB
   module that is compliant to the SMIv2, which is described in STD 58,
   RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
   [RFC2580].  The textual conventions are compliant to RFC 4001
   [RFC4001].

4.  Structure of the MIB

   The following diagram illustrates the structure of the MIB.

   Structure of MIB

   +--rserpoolMIB(?????)

  +--rserpoolMIB(??????)
     |
     +--rserpoolMIBObjects(1)
     |
   +--enrpServers(1)  |
     |  +--rserpoolENRPServers(1)
     |  +--enrpServerTable(1)  |  |
     |  |  +--rserpoolENRPTable(1)
     |  |  |  |
     |  |  |  +--rserpoolENRPEntry(1)
     |  +--enrpServerEntry(1)  |  |     |  Index: enrpServerIndex rserpoolENRPIndex
     |  |  |     |
     |  |  |     +-- ---- Unsigned  enrpServerIndex(1)  rserpoolENRPIndex(1)
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -R-- String    enrpServerOperationScope(2)    rserpoolENRPOperationScope(2)
     |  |  |     |        Textual Convention: OperationScopeType
     |  |  |     |           RSerPoolOperationScopeTC
     |  |  |     |        Size: 0..65535
     |  |  |     +-- -R-- Unsigned  enrpServerIdentifier(3)  rserpoolENRPIdentifier(3)
     |  |  |     |        Textual Convention: ENRPServerIdentifierType
     |  |  |     |           RSerPoolENRPServerIdentifierTC
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -RW- String    enrpServerDescription(4)    rserpoolENRPDescription(4)
     |  |  |     |        Textual Convention: DescriptionType RSerPoolDescriptionTC
     |  |  |     |        Size: 0..4095
     |  |  |     +-- -R-- TimeTicks enrpServerUptime(5) rserpoolENRPUptime(5)
     |  |  |     +-- -R-- Unsigned  enrpServerPort(6)  rserpoolENRPPort(6)
     |  |  |     |        Textual Convention: InetPortNumber
     |  |  |     |        Range: 1..65535 0..65535
     |  |  |     +-- -R-- Unsigned  enrpServerASAPAnnouncePort(7)  rserpoolENRPASAPAnnouncePort(7)
     |  |  |     |        Textual Convention: InetPortNumber
     |  |  |     |        Range: 1..65535 0..65535
     |  |  |     +-- -R-- EnumVal   enrpServerASAPAnnounceAddrType(8)   rserpoolENRPASAPAnnounceAddrType(8)
     |  |  |     |        Textual Convention: InetAddressType
     |  |  |     |        Values: unknown(0), ipv4(1), ipv6(2), ipv4z(3),
   | ipv6(2)
     |  |                ipv6z(4), dns(16)
   |  |     +-- -R-- String    enrpServerASAPAnnounceAddr(9)    rserpoolENRPASAPAnnounceAddr(9)
     |  |  |     |        Textual Convention: InetAddress
     |  |  |     |        Size: 0..255 4 | 16
     |  |  |     +-- -R-- Unsigned  enrpServerENRPAnnouncePort(10)  rserpoolENRPENRPAnnouncePort(10)
     |  |  |     |        Textual Convention: InetPortNumber
     |  |  |     |        Range: 1..65535 0..65535
     |  |  |     +-- -R-- EnumVal   enrpServerENRPAnnounceAddrType(11)   rserpoolENRPENRPAnnounceAddrType(11)
     |  |  |     |        Textual Convention: InetAddressType
     |  |  |     |        Values: unknown(0), ipv4(1), ipv6(2), ipv4z(3),
   |  | ipv6(2)
     |                ipv6z(4), dns(16)  |  |     +-- -R-- String    enrpServerENRPAnnounceAddr(12)    rserpoolENRPENRPAnnounceAddr(12)
     |  |  |              Textual Convention: InetAddress
     |  |  |              Size: 0..255 4 | 16
     |  |  |
     |  |  +--enrpServerPoolTable(3)  +--rserpoolENRPPoolTable(3)
     |  |  |  |
     |  +--enrpServerPoolEntry(1)  |  |  +--rserpoolENRPPoolEntry(1)
     |  |  |     |  Index: enrpServerIndex, enrpServerPoolIndex rserpoolENRPIndex, rserpoolENRPPoolIndex
     |  |  |     |
     |  |  |     +-- ---- Unsigned  enrpServerPoolIndex(1)  rserpoolENRPPoolIndex(1)
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -R-- String    enrpServerPoolHandle(2)    rserpoolENRPPoolHandle(2)
     |  |  |              Textual Convention: PoolHandleType RSerPoolPoolHandleTC
     |  |  |              Size: 0..65535
     |  |  |
     |  |  +--rserpoolENRPPoolElementTable(4)
     |  |  +--enrpServerPoolElementTable(4)  |  |
     |  |  |  +--enrpServerPoolElementEntry(1)  +--rserpoolENRPPoolElementEntry(1)
     |  |  |     |  Index: enrpServerIndex, enrpServerPoolIndex, rserpoolENRPIndex, rserpoolENRPPoolIndex,
     |  |  |     |            rserpoolENRPPoolElementIndex
     |  |         enrpServerPoolElementIndex  |     |
     |  |  |     +-- ---- Unsigned  enrpServerPoolElementIndex(1)  rserpoolENRPPoolElementIndex(1)
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -R-- Unsigned  enrpServerPoolElementIdentifier(2)  rserpoolENRPPoolElementID(2)
     |  |  |     |        Textual Convention: PoolElementIdentifierType
     |  |  |     |           RserpoolPoolElementIdentifierTC
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -R-- Unsigned  enrpServerASAPTransportPort(3)  rserpoolENRPASAPTransportPort(3)
     |  |  |     |        Textual Convention: InetPortNumber
     |  |  |     |        Range: 1..65535 0..65535
     |  |  |     +-- -R-- Unsigned  enrpServerUserTransportProtocol(4)  rserpoolENRPUserTransportProto(4)
     |  |  |     |        Range: 0..255
     |  |  |     +-- -R-- Unsigned  enrpServerUserTransportPort(5)  rserpoolENRPUserTransportPort(5)
     |  |  |     |        Textual Convention: InetPortNumber
     |  |  |     |        Range: 1..65535 0..65535
     |  |  |     +-- -R-- EnumVal   enrpServerUserTransportUse(6)   rserpoolENRPUserTransportUse(6)
     |  |  |     |        Textual Convention: TransportUseType RSerPoolTransportUseTypeTC
     |  |  |     |        Values: dataOnly(0), dataPlusControl(1)
     |  |  |     +-- -R-- Unsigned  enrpServerPolicyID(7)  rserpoolENRPPolicyID(7)
     |  |  |     |        Textual Convention: PolicyIDType RSerPoolPolicyIdentifierTC
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -R-- String    enrpServerPolicyDescription(8)    rserpoolENRPPolicyDescription(8)
     |  |  |     |        Textual Convention: DescriptionType RSerPoolDescriptionTC
     |  |  |     |        Size: 0..4095
     |  |  |     +-- -R-- Unsigned  enrpServerPolicyWeight(9)  rserpoolENRPPolicyWeight(9)
     |  |  |     |        Textual Convention: PolicyWeightType RSerPoolPolicyWeightTC
     |  |  |     |        Range: 0..4294967295
     |  |  |     +-- -R-- Unsigned  enrpServerPolicyLoad(10)  rserpoolENRPPolicyLoad(10)
     |  |  |     |        Textual Convention: PolicyLoadType RSerPoolPolicyLoadTC
     |  |  |     |        Range: 0..4294967295
     |  |  |     +-- -R-- Unsigned  enrpServerPolicyLoadDegradation(11)  rserpoolENRPPolicyLoadDeg(11)
     |  |  |     |        Textual Convention: PolicyLoadType RSerPoolPolicyLoadTC
     |  |  |     |        Range: 0..4294967295
     |  |  |     +-- -R-- TimeTicks enrpServerRegistrationLife(12) rserpoolENRPRegistrationLife(12)
     |  |  |     +-- -R-- Unsigned  enrpServerHomeENRPServer(13)  rserpoolENRPHomeENRPServer(13)
     |  |  |              Textual Convention: ENRPServerIdentifierType
     |  |  |        |        RSerPoolENRPServerIdentifierTC
     |  |  |              Range: 1..4294967295
     |  |  |  +--enrpServerASAPAddrTable(5)
     |  |  +--rserpoolENRPASAPAddrTable(5)
     |  |  |  +--enrpServerASAPAddrTableEntry(1)  |
     |  |  |  +--rserpoolENRPASAPAddrTableEntry(1)
     |  |  |     |  Index: enrpServerIndex, enrpServerPoolIndex, rserpoolENRPIndex, rserpoolENRPPoolIndex,
     |  |  |     |         rserpoolENRPPoolElementIndex,
     |  |         enrpServerPoolElementIndex,  |     |         rserpoolENRPASAPAddrTableIndex
     |  |         enrpServerASAPAddrTableIndex  |     |
     |  |  |     +-- ---- Unsigned  enrpServerASAPAddrTableIndex(1)  rserpoolENRPASAPAddrTableIndex(1)
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -R-- EnumVal   enrpServerASAPL3Proto(2)   rserpoolENRPASAPL3Type(2)
     |  |  |     |        Textual Convention: InetAddressType
     |  |  |     |        Values: unknown(0), ipv4(1), ipv6(2), ipv4z(3),
   | ipv6(2)
     |  |                ipv6z(4), dns(16)
   |  |     +-- -R-- String    enrpServerASAPL3Addr(3)    rserpoolENRPASAPL3Addr(3)
     |  |  |              Textual Convention: InetAddress
     |  |  |              Size: 0..255 4 | 16
     |  |  |
     |  |  +--rserpoolENRPUserAddrTable(6)
     |  +--enrpServerUserAddrTable(6)  |  |  |
     |  |  +--enrpServerUserAddrTableEntry(1)  |  +--rserpoolENRPUserAddrTableEntry(1)
     |  |  |     |  Index: enrpServerIndex, enrpServerPoolIndex, rserpoolENRPIndex, rserpoolENRPPoolIndex,
     |  |  |     |         rserpoolENRPPoolElementIndex,
     |         enrpServerPoolElementIndex,  |  |     |         enrpServerUserAddrTableIndex         rserpoolENRPUserAddrTableIndex
     |  |  |     |
     |  |  |     +-- ---- Unsigned  enrpServerUserAddrTableIndex(1)  rserpoolENRPUserAddrTableIndex(1)
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -R-- EnumVal   enrpServerUserL3Proto(2)   rserpoolENRPUserL3Type(2)
     |  |  |     |        Textual Convention: InetAddressType
     |  |  |     |        Values: unknown(0), ipv4(1), ipv6(2), ipv4z(3),
   |  | ipv6(2)
     |                ipv6z(4), dns(16)  |  |     +-- -R-- String    enrpServerUserL3Addr(3)    rserpoolENRPUserL3Addr(3)
     |  |  |     |        Textual Convention: InetAddress
     |  |  |     |        Size: 0..255 4 | 16
     |  |  |     +-- -R-- String    enrpServerUserL3Opaque(4)    rserpoolENRPUserL3Opaque(4)
     |  |  |              Textual Convention: OpaqueAddressType RSerPoolOpaqueAddressTC
     |  |  |              Size: 0..65535
     |  |  |  +--enrpServerENRPAddrTable(7)
     |  |  +--rserpoolENRPENRPAddrTable(7)
     |  |  |  +--enrpServerENRPAddrTableEntry(1)  |
     |  |  |  +--rserpoolENRPENRPAddrTableEntry(1)
     |  |  |     |  Index: enrpServerIndex, enrpServerENRPAddrTableIndex rserpoolENRPIndex,
     |  |  |     |         rserpoolENRPENRPAddrTableIndex
     |  |  |     |
     |  |  |     +-- ---- Unsigned  enrpServerENRPAddrTableIndex(1)  rserpoolENRPENRPAddrTableIndex(1)
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -R-- EnumVal   enrpServerENRPL3Proto(2)   rserpoolENRPENRPL3Type(2)
     |  |  |     |        Textual Convention: InetAddressType
     |  |  |     |        Values: unknown(0), ipv4(1), ipv6(2), ipv4z(3),
   | ipv6(2)
     |  |                ipv6z(4), dns(16)
   |  |     +-- -R-- String    enrpServerENRPL3Addr(3)    rserpoolENRPENRPL3Addr(3)
     |  |  |              Textual Convention: InetAddress
     |  |  |              Size: 0..255 4 | 16
     |  |  +--enrpServerPeerTable(8)  |
     |  |  +--rserpoolENRPPeerTable(8)
     |  |  +--enrpServerPeerEntry(1)  |  |
     |  Index: enrpServerPeerIndex  |  |  +--rserpoolENRPPeerEntry(1)
     |  |  |     +--     |  Index: rserpoolENRPPeerIndex
     |  |  |     |
     |  |  |     +-- ---- Unsigned  enrpServerPeerIndex(1)  rserpoolENRPPeerIndex(1)
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -R-- Unsigned  enrpServerPeerIdentifier(2)  rserpoolENRPPeerIdentifier(2)
     |  |  |     +-- -R-- Unsigned  enrpServerPeerPort(3)  rserpoolENRPPeerPort(3)
     |  |  |     |        Textual Convention: InetPortNumber
     |  |  |     |        Range: 1..65535 0..65535
     |  |  |     +-- -R-- TimeTicks enrpServerPeerLastHeard(4) rserpoolENRPPeerLastHeard(4)
     |  |  |
     |  |  +--rserpoolENRPPeerAddrTable(9)
     |  +--enrpServerPeerAddrTable(9)  |     |
     |     +--enrpServerPeerAddrTableEntry(1)  |     +--rserpoolENRPPeerAddrTableEntry(1)
     |  |        |  Index: enrpServerPeerIndex, enrpServerPeerAddrTableIndex rserpoolENRPPeerIndex,
     |  |        |        rserpoolENRPPeerAddrTableIndex
     |  |        |
     |  |        +-- ---- Unsigned  enrpServerPeerAddrTableIndex(1)  rserpoolENRPPeerAddrTableIndex(1)
     |  |        |        Range: 1..4294967295
     |  |        +-- -R-- EnumVal   enrpServerPeerL3Proto(2)   rserpoolENRPPeerL3Type(2)
     |  |        |        Textual Convention: InetAddressType
     |  |        |        Values: unknown(0), ipv4(1), ipv6(2), ipv4z(3),
   | ipv6(2)
     |                ipv6z(4), dns(16)  |        +-- -R-- String    enrpServerPeerL3Addr(3)    rserpoolENRPPeerL3Addr(3)
     |  |                 Textual Convention: InetAddress
     |  |                 Size: 0..255 4 | 16
     |  |
     |  +--rserpoolPoolElements(2)
     |  |  |
     |
   +--poolElements(2)  |  +--rserpoolPETable(1)
     |  |  +--poolElementTable(1)  |  |
     |  |  |  +--poolElementEntry(1)  +--rserpoolPEEntry(1)
     |  |  |     |  Index: poolElementIndex rserpoolPEIndex
     |  |  |     |
     |  |  |     +-- ---- Unsigned  poolElementIndex(1)  rserpoolPEIndex(1)
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -R-- String    poolElementOperationScope(2)    rserpoolPEOperationScope(2)
     |  |  |     |        Textual Convention: OperationScopeType RSerPoolOperationScopeTC
     |  |  |     |        Size: 0..65535
     |  |  |     +-- -R-- -RW- String    poolElementPoolHandle(3)    rserpoolPEPoolHandle(3)
     |  |  |     |        Textual Convention: PoolHandleType RSerPoolPoolHandleTC
     |  |  |     |        Size: 0..65535
     |  |  |     +-- -R-- Unsigned  poolElementIdentifier(4)  rserpoolPEIdentifier(4)
     |  |  |     |        Textual Convention: PoolElementIdentifierType
     |  |  |     |           RserpoolPoolElementIdentifierTC
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -RW- String    poolElementDescription(5)    rserpoolPEDescription(5)
     |  |  |     |        Textual Convention: DescriptionType RSerPoolDescriptionTC
     |  |  |     |        Size: 0..4095
     |  |  |     +-- -R-- TimeTicks poolElementUptime(6) rserpoolPEUptime(6)
     |  |  |     +-- -R-- Unsigned  poolElementASAPTransportPort(7)  rserpoolPEASAPTransportPort(7)
     |  |  |     |        Textual Convention: InetPortNumber
     |  |  |     |        Range: 1..65535 0..65535
     |  |  |     +-- -R-- Unsigned  poolElementUserTransportProtocol(8)  rserpoolPEUserTransportProto(8)
     |  |  |     |        Range: 0..255
     |  |  |     +-- -R-- Unsigned  poolElementUserTransportPort(9)  rserpoolPEUserTransportPort(9)
     |  |  |     |        Textual Convention: InetPortNumber
     |  |  |     |        Range: 1..65535 0..65535
     |  |  |     +-- -R-- EnumVal   poolElementUserTransportUse(10)   rserpoolPEUserTransportUse(10)
     |  |  |     |        Textual Convention: TransportUseType RSerPoolTransportUseTypeTC
     |  |  |     |        Values: dataOnly(0), dataPlusControl(1)
     |  |  |     +-- -RW- Unsigned  poolElementPolicyID(11)  rserpoolPEPolicyID(11)
     |  |  |     |        Textual Convention: PolicyIDType RSerPoolPolicyIdentifierTC
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -RW- String    poolElementPolicyDescription(12)    rserpoolPEPolicyDescription(12)
     |  |  |     |        Textual Convention: DescriptionType RSerPoolDescriptionTC
     |  |  |     |        Size: 0..4095
     |  |  |     +-- -RW- Unsigned  poolElementPolicyWeight(13)  rserpoolPEPolicyWeight(13)
     |  |  |     |        Textual Convention: PolicyWeightType RSerPoolPolicyWeightTC
     |  |  |     |        Range: 0..4294967295
     |  |  |     +-- -R-- Unsigned  poolElementPolicyLoad(14)  rserpoolPEPolicyLoad(14)
     |  |  |     |        Textual Convention: PolicyLoadType RSerPoolPolicyLoadTC
     |  |  |     |        Range: 0..4294967295
     |  |  |     +-- -RW- Unsigned  poolElementPolicyLoadDegradation(15)  rserpoolPEPolicyLoadDeg(15)
     |  |  |     |        Textual Convention: PolicyLoadType RSerPoolPolicyLoadTC
     |  |  |     |        Range: 0..4294967295
     |  |  |     +-- -RW- TimeTicks poolElementRegistrationLife(16) rserpoolPERegistrationLife(16)
     |  |  |     +-- -R-- Unsigned  poolElementHomeENRPServer(17)  rserpoolPEHomeENRPServer(17)
     |  |  |              Textual Convention: ENRPServerIdentifierType
     |  |  |                 RSerPoolENRPServerIdentifierTC
     |  |  |              Range: 1..4294967295
     |  |  |  +--poolElementASAPAddrTable(2)
     |  |  +--rserpoolPEASAPAddrTable(2)
     |  |  |  |
     |  +--poolElementASAPAddrTableEntry(1)  |  |  +--rserpoolPEASAPAddrTableEntry(1)
     |  |  |     |  Index: poolElementIndex, poolElementASAPAddrTableIndex rserpoolPEIndex, rserpoolPEASAPAddrTableIndex
     |  |  |     |
     |  |  |     +-- ---- Unsigned  poolElementASAPAddrTableIndex(1)  rserpoolPEASAPAddrTableIndex(1)
     |  |  |     |        Range: 1..4294967295
     |  |  |     +-- -R-- EnumVal   poolElementASAPL3Proto(2)   rserpoolPEASAPL3Type(2)
     |  |  |     |        Textual Convention: InetAddressType
     |  |  |     |        Values: unknown(0), ipv4(1), ipv6(2), ipv4z(3),
   | ipv6(2)
     |  |                ipv6z(4), dns(16)
   |  |     +-- -R-- String    poolElementASAPL3Addr(3)    rserpoolPEASAPL3Addr(3)
     |  |  |              Textual Convention: InetAddress
     |  |  |              Size: 0..255 4 | 16
     |  |  |
     |  |  +--rserpoolPEUserAddrTable(6)
     |  +--poolElementUserAddrTable(6)  |     |
     |     +--poolElementUserAddrTableEntry(1)  |     +--rserpoolPEUserAddrTableEntry(1)
     |  |        |  Index: poolElementIndex, poolElementUserAddrTableIndex rserpoolPEIndex, rserpoolPEUserAddrTableIndex
     |  |        |
     |  |        +-- ---- Unsigned  poolElementUserAddrTableIndex(1)  rserpoolPEUserAddrTableIndex(1)
     |  |        |        Range: 1..4294967295
     |  |        +-- -R-- EnumVal   poolElementUserL3Proto(2)   rserpoolPEUserL3Type(2)
     |  |        |        Textual Convention: InetAddressType
     |  |        |        Values: unknown(0), ipv4(1), ipv6(2), ipv4z(3), ipv6(2)
     |  |                ipv6z(4), dns(16)
   |        +-- -R-- String    poolElementUserL3Addr(3)    rserpoolPEUserL3Addr(3)
     |  |        |        Textual Convention: InetAddress
     |  |        |        Size: 0..255 4 | 16
     |  |        +-- -R-- String    poolElementUserL3Opaque(4)    rserpoolPEUserL3Opaque(4)
     |  |                 Textual Convention: OpaqueAddressType RSerPoolOpaqueAddressTC
     |  |                 Size: 0..65535
     |
   +--poolUsers(3)  |
     |  +--rserpoolPoolUsers(3)
     |  +--poolUserTable(1)     |
     |     +--rserpoolPUTable(1)
     |     +--poolUserEntry(1)        |
     |        +--rserpoolPUEntry(1)
     |           |  Index: poolUserIndex rserpoolPUIndex
     |           |
     |           +-- ---- Unsigned  poolUserIndex(1)  rserpoolPUIndex(1)
     |           |        Range: 1..4294967295
     |           +-- -R-- String    poolUserOperationScope(2)    rserpoolPUOperationScope(2)
     |           |        Textual Convention: OperationScopeType RSerPoolOperationScopeTC
     |           |        Size: 0..65535
     |           +-- -R-- -RW- String    poolUserPoolHandle(3)    rserpoolPUPoolHandle(3)
     |           |        Textual Convention: PoolHandleType RSerPoolPoolHandleTC
     |           |        Size: 0..65535
     |           +-- -RW- String    poolUserDescription(4)    rserpoolPUDescription(4)
     |           |        Textual Convention: DescriptionType RSerPoolDescriptionTC
     |           |        Size: 0..4095
     |           +-- -R-- TimeTicks poolUserUptime(5) rserpoolPUUptime(5)
     |
   +--rserpoolMIBConformance(4)
     +--rserpoolMIBConformance(2)
        |
        +--rserpoolMIBCompliances(1)
        |  |
        |  +--rserpoolMIBCompliance(1)
        |
        +--rserpoolMIBGroups(2)
           |
   +--enrpServerGroup(1)
   +--poolElementGroup(2)
   +--poolUserGroup(3)
           +--rserpoolENRPGroup(1)
           +--rserpoolPEGroup(2)
           +--rserpoolPUGroup(3)
   As the figure shows, the MIB consists of three main branches:
   "enrpServers", "poolElements"
   "rserpoolENRP", "rserpoolPoolElements" and "poolUsers". "rserpoolPoolUsers".  The
   first branch,
   "enrpServers" "rserpoolENRP" is used to access managed objects in the
   set of ENRP servers running on a given host.  While it is assumed
   that it does not make much sense to run multiple ENRP servers for the
   same operation scope on one host, running multiple ENRP servers for
   different operation scopes is very likely when the ENRP server
   processes run on routers.  Therefore, the MIB has to be able to
   manage multiple ENRP servers on the same host. "poolElements" "rserpoolPoolElements"
   is used to access managed objects in the set of Pool Elements that
   are running on a given host.  The third branch, "poolUsers" "rserpoolPoolUsers"
   is used to access managed objects in the set of Pool Users that are
   running on a given host.  Note: "poolElements" "rserpoolENRPServers" is filled on
   hosts running ENRP server instances, "poolElements" "rserpoolPoolElements" is filled
   on hosts running Pool Element instances and "poolUsers" "rserpoolPoolUsers" is
   filled on hosts running Pool User instances.  Of course, multiple
   different components may run on the same host, which leads to filling
   of multiple different branches.  In fact, the structure of the three
   branches is very similar.  Because the two branches are so similar,
   we describe only the first branch in detail, and provide a summary
   description of the second and third branch.  We now proceed with a
   description of the branches.

4.1.  Access to managed objects on ENRP servers

   The first branch describes managed objects at a set of ENRP servers.
   Any given ENRP server of this set will, at a certain moment in time,
   have registration information for a set of active pools.  Each of
   these pools in turn may have a list of pool elements that are
   registered under that pool.  To allow this information to be
   retrieved via SNMP, the ERNP server branch of the RSerPool MIB uses
   the table-in-table technique described in [SNMPMIBS].  Specifically,
   the ENRP servers branch creates four levels of nesting, as indicated
   in the following diagram:

   Nesting of the ENRP Server Branch

   Nesting Structure:

    Level 1: enrpServerTable rserpoolENRPTable

    Level 2:    enrpServerPoolTable    rserpoolENRPPoolTable
    Level 3:       enrpServerPoolElementTable       rserpoolENRPPoolElementTable
    Level 4:          enrpServerASAPAddrListTable
                      enrpServerUserAddrListTable          rserpoolENRPASAPAddrTable
                      rserpoolENRPUserAddrTable

    Level 2:    enrpServerENRPAddrListTable    rserpoolENRPENRPAddrTable

    Level 2:    enrpServerPeerTable    rserpoolENRPPeerTable
    Level 3:       enrpServerPeerAddrListTable       rserpoolENRPPeerAddrTable

4.2.  Access to managed objects on Pool Elements

   The ENRP servers branch contains a table construction of the host's ENRP server
   instances.  Its purpose Pool Elements branch is very similar to provide an index to an ENRP server for
   all other tables.  Each "conceptual row" in the enrpServerTable
   contains the server's ENRP Identifier, the number
   pool elements table of pools, PEs and
   peers, the amount of ENRP endpoint addresses, the server's uptime and
   a textual description servers branch.  But instead of
   grouping the server.  The poolTable contains a single
   entry for each pool that elements into pools (which does not make sense
   here), the pool elements table is currently registered.  Each "conceptual
   row" in the enrpServerPoolTable consists of a
   enrpServerPoolTableEntry, with two elements: a enrpServerPoolIndex
   and an OCTET STRING representation of the pool handle.  The
   enrpServerPoolIndex is simply an integer that is used to index into
   the enrpServerPoolTable and the enrpServerPoolElementTable.  The
   value of this integer is between zero and (poolCount - 1).  Note that
   the value of enrpServerPoolIndex is defined as "not-accessible" in
   the MAX-ACCESS clause; this is a standard technique used when
   defining a table-in-table data structure.  The third element on the
   ENRP servers branch is the enrpServerPoolElementTable.  Because the
   enrpServerPoolElementTable is the "inner" table of the table-in-table
   structure, its index consists of a pair, as indicated in the clause
   "INDEX { enrpServerIndex, enrpServerPoolIndex,
   enrpServerPoolElementIndex }".  The fourth element of the ENRP
   servers branch takes the nesting to one additional level, listing the
   various addresses associated with a particular enrpServerPoolElement
   in form of ASAP endpoint addresses and user transport addresses, and
   thus are indexed by the 4-tuples "INDEX { enrpServerIndex,
   enrpServerPoolIndex, enrpServerPoolElementIndex,
   enrpServerASAPAddrListTableIndex }" and "INDEX { enrpServerIndex,
   enrpServerPoolIndex, enrpServerPoolElementIndex,
   enrpServerUserAddrListTableIndex }".  The ENRP endpoint addresses of
   an ENRP server are bound to its instance in the
   enrpServerENRPAddrListTable by "INDEX { enrpServerIndex,
   enrpServerENRPAddrListTableIndex }".  Finally, an ENRP server has a
   peer table of its known peers.  They are bound to a server instance
   by the enrpServerPeerTable; analogously, the addresses of a peer are
   bound to a peerTable's entry in the peerAddrListTable.

4.2.  Access to managed objects on Pool Elements

   The construction of the Pool Elements branch is very similar to the
   pool elements table of the ENRP servers branch.  But instead of
   grouping the pool elements into pools (which does not make sense
   here), the pool elements table is the top top of the hierarchy and each
   pool element entry specifies its operation scope and pool handle.
   That is, the nesting structure is as follows:

   Nesting of the Pool Elements Branch

    Level 1:    poolElementTable    rserpoolPETable
    Level 2:       poolElementASAPAddrListTable
                   poolElementUserAddrListTable

   The description of the contained structures is the same as for the
   ENRP servers branch.       rserpoolPEASAPAddrTable
                   rserpoolPEUserAddrTable

4.3.  Access to managed objects on Pool Users

   For the pool users branch, it is only necessary to list the pool
   users, user
   instances, including their operation scope and pool handle.

5.  Definitions

RSERPOOL-MIB DEFINITIONS ::= BEGIN

IMPORTS
   MODULE-IDENTITY, OBJECT-TYPE,
   mib-2, experimental,
   TimeTicks, Unsigned32
      FROM SNMPv2-SMI
   TEXTUAL-CONVENTION
      FROM SNMPv2-TC
   MODULE-COMPLIANCE, OBJECT-GROUP
      FROM SNMPv2-CONF
   InetAddressType, InetAddress InetAddress, InetPortNumber
      FROM INET-ADDRESS-MIB;

-- ## Module definition ###########################################
rserpoolMIB MODULE-IDENTITY
   LAST-UPDATED "200901221012Z"
      "200902051111Z" -- January 22, February 5, 2009
   ORGANIZATION
      "IEM-TdR, UNIVERSITY OF DUISBURG-ESSEN"
   CONTACT-INFO
      " THOMAS-DREIBHOLZ

         Postal:  University of Duisburg-Essen
                  Institute for Experimental Mathematics
                  Ellernstrasse 29
                  D-45326 Essen
                  Germany
         Phone:   +49-201-183-7637
         Fax:     +49-201-183-7673
         Email:   dreibh@iem.uni-due.de

      JAIWANT-MULIK

         Postal:  Delaware State University
                  CIS Department
                  1200 N. DuPont Hw
                  Dover, DE
                  USA 19904
         Phone:   +1-302-857-7910
         Fax:     +1-302-857-6552
         Email:   jaiwant@mulik.com"
      DESCRIPTION
         "The MIB module for managing a an RSerPool implementation"
      REVISION "200901221012Z"
         "200902051111Z" -- January 22, February 5, 2009
      DESCRIPTION
   "Version 10,
         "This version of the MIB module is published as draft-ietf-rserpool-mib-10.txt." RFC xxxx"
      ::= { mib-2 xxxxxxxx experimental xxxxxx } -- To be IANA Assigned!!!

-- ## RSerPool type definitions ###################################
   ENRPServerIdentifierType
RSerPoolENRPServerIdentifierTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "x"
   STATUS       current
   DESCRIPTION  "The ID of an ENRP server"
   SYNTAX       Unsigned32 (1..4294967295)

   OperationScopeType

RSerPoolOperationScopeTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "1024t"
   STATUS       current
   DESCRIPTION  "The ID of an operation scope"
   SYNTAX       OCTET STRING

   PoolHandleType (SIZE (0..65535))

RSerPoolPoolHandleTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "1024t"
   STATUS       current
   DESCRIPTION  "The pool handle"
   SYNTAX       OCTET STRING

   DescriptionType (SIZE (0..65535))

RSerPoolDescriptionTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "1024t"
   STATUS       current
   DESCRIPTION  "Description"
   SYNTAX       OCTET STRING (SIZE (0..4095))

   PoolElementIdentifierType

RserpoolPoolElementIdentifierTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "x"
   STATUS       current
   DESCRIPTION  "The pool element ID"
   SYNTAX       Unsigned32 (1..4294967295)

   PolicyIDType

RSerPoolPolicyIdentifierTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "x"
   STATUS       current
   DESCRIPTION  "The ID of the pool policy"
   SYNTAX       Unsigned32 (1..4294967295)

   PolicyLoadType

RSerPoolPolicyLoadTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "d"
   STATUS       current
   DESCRIPTION  "The load status of a pool element"
   SYNTAX       Unsigned32 (0..4294967295)

   PolicyWeightType

RSerPoolPolicyWeightTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "d"
   STATUS       current
   DESCRIPTION  "The weight of a pool element"
   SYNTAX       Unsigned32 (0..4294967295)

   TransportUseType

RSerPoolTransportUseTypeTC ::= TEXTUAL-CONVENTION
   STATUS       current
   DESCRIPTION "The load status transport use of a pool element"
   SYNTAX       INTEGER {
      dataOnly(0),
      dataPlusControl(1)
   }

   OpaqueAddressType

RSerPoolOpaqueAddressTC ::= TEXTUAL-CONVENTION
   DISPLAY-HINT "1024t"
   STATUS       current
   DESCRIPTION  "Opaque address"
   SYNTAX       OCTET STRING  (SIZE (0..65535))

-- ## Top-level definitions #######################################
   enrpServers
rserpoolMIBObjects     OBJECT IDENTIFIER ::= { rserpoolMIB 1 }
   poolElements
rserpoolMIBConformance OBJECT IDENTIFIER ::= { rserpoolMIB 2 }
   poolUsers

rserpoolENRPServers    OBJECT IDENTIFIER ::= { rserpoolMIB 3 rserpoolMIBObjects 1 }

   -- ################################################################
   -- #### ENRP Servers Section                                   ####
   --
rserpoolPoolElements   OBJECT IDENTIFIER ::= { rserpoolMIBObjects 2 }
rserpoolPoolUsers      OBJECT IDENTIFIER ::= { rserpoolMIBObjects 3 }

-- ################################################################
-- #### ENRP Servers Section                                   ####
-- ################################################################

-- ## Definition of the ENRP server table #########################
   enrpServerTable
rserpoolENRPTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF ENRPServerEntry RserpoolENRPEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "The table listing of ENRP servers."
   ::= { enrpServers rserpoolENRPServers 1 }

   enrpServerEntry

rserpoolENRPEntry OBJECT-TYPE
   SYNTAX     ENRPServerEntry     RserpoolENRPEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "An ENRP server entry in the table listing of ENRP
      servers."
   INDEX { enrpServerIndex rserpoolENRPIndex }
   ::= { enrpServerTable rserpoolENRPTable 1 }

   ENRPServerEntry

RserpoolENRPEntry ::= SEQUENCE {
   enrpServerIndex
rserpoolENRPIndex                Unsigned32,
   enrpServerOperationScope       OperationScopeType,
   enrpServerIdentifier           ENRPServerIdentifierType,
   enrpServerDescription          DescriptionType,
   enrpServerUptime

rserpoolENRPOperationScope       RSerPoolOperationScopeTC,
rserpoolENRPIdentifier           RSerPoolENRPServerIdentifierTC,
rserpoolENRPDescription          RSerPoolDescriptionTC,
rserpoolENRPUptime               TimeTicks,
   enrpServerPort                 Unsigned32,
   enrpServerASAPAnnouncePort     Unsigned32,
   enrpServerASAPAnnounceAddrType
rserpoolENRPPort                 InetPortNumber,
rserpoolENRPASAPAnnouncePort     InetPortNumber,
rserpoolENRPASAPAnnounceAddrType InetAddressType,
   enrpServerASAPAnnounceAddr
rserpoolENRPASAPAnnounceAddr     InetAddress,
   enrpServerENRPAnnouncePort     Unsigned32,
   enrpServerENRPAnnounceAddrType
rserpoolENRPENRPAnnouncePort     InetPortNumber,
rserpoolENRPENRPAnnounceAddrType InetAddressType,
   enrpServerENRPAnnounceAddr
rserpoolENRPENRPAnnounceAddr     InetAddress }

   enrpServerIndex

rserpoolENRPIndex OBJECT-TYPE
   SYNTAX     Unsigned32 (1..4294967295)
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "An integer to uniquely identify an ENRP server."
   ::= { enrpServerEntry rserpoolENRPEntry 1 }

   enrpServerOperationScope

rserpoolENRPOperationScope OBJECT-TYPE
   SYNTAX     OperationScopeType     RSerPoolOperationScopeTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The definition of the operation scope of this ENRP server."
   ::= { enrpServerEntry rserpoolENRPEntry 2 }

   enrpServerIdentifier

rserpoolENRPIdentifier OBJECT-TYPE
   SYNTAX     ENRPServerIdentifierType     RSerPoolENRPServerIdentifierTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The ENRP server identifier of this ENRP server."
   ::= { enrpServerEntry rserpoolENRPEntry 3 }

   enrpServerDescription

rserpoolENRPDescription OBJECT-TYPE
   SYNTAX     DescriptionType     RSerPoolDescriptionTC
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
      "A textual description of this ENRP server, e.g. its location
      and a contact address of its administrator."
   ::= { enrpServerEntry rserpoolENRPEntry 4 }
   enrpServerUptime

rserpoolENRPUptime OBJECT-TYPE
   SYNTAX     TimeTicks
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The ENRP service uptime of this ENRP server."
   ::= { enrpServerEntry rserpoolENRPEntry 5 }

   enrpServerPort

rserpoolENRPPort OBJECT-TYPE
   SYNTAX     Unsigned32 (1..65535)     InetPortNumber
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The SCTP port number of the ENRP protocol endpoint of
      this ENRP server."
   ::= { enrpServerEntry rserpoolENRPEntry 6 }

   enrpServerASAPAnnouncePort

rserpoolENRPASAPAnnouncePort OBJECT-TYPE
   SYNTAX     Unsigned32 (1..65535)     InetPortNumber
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The destination UDP port number ASAP multicast announce
      messages are sent to."
   ::= { enrpServerEntry rserpoolENRPEntry 7 }

   enrpServerASAPAnnounceAddrType

rserpoolENRPASAPAnnounceAddrType OBJECT-TYPE
   SYNTAX     InetAddressType { ipv4(1), ipv6(2) }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The network-layer protocol ASAP multicast announce messages
      are sent over."
   ::= { enrpServerEntry rserpoolENRPEntry 8 }

   enrpServerASAPAnnounceAddr

rserpoolENRPASAPAnnounceAddr OBJECT-TYPE
   SYNTAX     InetAddress (SIZE(4|16))
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The destination multicast IP multicast address ASAP multicast
      announce messages are sent to." to. The type of this address is
      given in rserpoolENRPASAPAnnounceAddrType."
   ::= { enrpServerEntry rserpoolENRPEntry 9 }

   enrpServerENRPAnnouncePort

rserpoolENRPENRPAnnouncePort OBJECT-TYPE
   SYNTAX     Unsigned32 (1..65535)     InetPortNumber
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The destination UDP port number ENRP multicast announce
      messages are sent to."
   ::= { enrpServerEntry rserpoolENRPEntry 10 }

   enrpServerENRPAnnounceAddrType

rserpoolENRPENRPAnnounceAddrType OBJECT-TYPE
   SYNTAX     InetAddressType { ipv4(1), ipv6(2) }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The network-layer protocol ENRP multicast announce messages
      are sent over."
   ::= { enrpServerEntry rserpoolENRPEntry 11 }

   enrpServerENRPAnnounceAddr

rserpoolENRPENRPAnnounceAddr OBJECT-TYPE
   SYNTAX     InetAddress (SIZE(4|16))
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The destination multicast IP address ENRP multicast
      announce messages are sent to." to. The type of this address
      is given in rserpoolENRPENRPAnnounceAddrType."
   ::= { enrpServerEntry rserpoolENRPEntry 12 }

-- ## Definition of the pool table ################################
   enrpServerPoolTable
rserpoolENRPPoolTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF ENRPServerPoolEntry RserpoolENRPPoolEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "The table listing of pools."
   ::= { enrpServers rserpoolENRPServers 3 }

   enrpServerPoolEntry

rserpoolENRPPoolEntry OBJECT-TYPE
   SYNTAX     ENRPServerPoolEntry     RserpoolENRPPoolEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "The pool entry in the table listing of pools."
   INDEX { enrpServerIndex, enrpServerPoolIndex rserpoolENRPIndex, rserpoolENRPPoolIndex }
   ::= { enrpServerPoolTable rserpoolENRPPoolTable 1 }

   ENRPServerPoolEntry

RserpoolENRPPoolEntry ::= SEQUENCE {
   enrpServerPoolIndex
   rserpoolENRPPoolIndex  Unsigned32,
   enrpServerPoolHandle PoolHandleType
   rserpoolENRPPoolHandle RSerPoolPoolHandleTC }

   enrpServerPoolIndex

rserpoolENRPPoolIndex OBJECT-TYPE
   SYNTAX     Unsigned32 (1..4294967295)
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "An integer to uniquely identify a pool."
   ::= { enrpServerPoolEntry rserpoolENRPPoolEntry 1 }

   enrpServerPoolHandle

rserpoolENRPPoolHandle OBJECT-TYPE
   SYNTAX     PoolHandleType     RSerPoolPoolHandleTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The pool handle of this pool."
   ::= { enrpServerPoolEntry rserpoolENRPPoolEntry 2 }

-- ## Definition of the pool element table ########################
   enrpServerPoolElementTable
rserpoolENRPPoolElementTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF ENRPServerPoolElementEntry RserpoolENRPPoolElementEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "The table listing of pool elements."
   ::= { enrpServers rserpoolENRPServers 4 }

   enrpServerPoolElementEntry

rserpoolENRPPoolElementEntry OBJECT-TYPE
   SYNTAX     ENRPServerPoolElementEntry     RserpoolENRPPoolElementEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A pool element in the table listing of pool elements."
   INDEX { enrpServerIndex,
   enrpServerPoolIndex,
   enrpServerPoolElementIndex
      rserpoolENRPIndex,
      rserpoolENRPPoolIndex,
      rserpoolENRPPoolElementIndex }
   ::= { enrpServerPoolElementTable rserpoolENRPPoolElementTable 1 }

   ENRPServerPoolElementEntry

RserpoolENRPPoolElementEntry ::= SEQUENCE {
   enrpServerPoolElementIndex       Unsigned32,
   enrpServerPoolElementIdentifier  PoolElementIdentifierType,
   enrpServerASAPTransportPort
   rserpoolENRPPoolElementIndex   Unsigned32,
   enrpServerUserTransportProtocol
   rserpoolENRPPoolElementID      RserpoolPoolElementIdentifierTC,
   rserpoolENRPASAPTransportPort  InetPortNumber,
   rserpoolENRPUserTransportProto Unsigned32,
   enrpServerUserTransportPort      Unsigned32,
   enrpServerUserTransportUse       TransportUseType,
   enrpServerPolicyID               PolicyIDType,
   enrpServerPolicyDescription      DescriptionType,
   enrpServerPolicyWeight           PolicyWeightType,
   enrpServerPolicyLoad             PolicyLoadType,
   enrpServerPolicyLoadDegradation  PolicyLoadType,
   enrpServerRegistrationLife
   rserpoolENRPUserTransportPort  InetPortNumber,
   rserpoolENRPUserTransportUse   RSerPoolTransportUseTypeTC,
   rserpoolENRPPolicyID           RSerPoolPolicyIdentifierTC,
   rserpoolENRPPolicyDescription  RSerPoolDescriptionTC,
   rserpoolENRPPolicyWeight       RSerPoolPolicyWeightTC,
   rserpoolENRPPolicyLoad         RSerPoolPolicyLoadTC,
   rserpoolENRPPolicyLoadDeg      RSerPoolPolicyLoadTC,
   rserpoolENRPRegistrationLife   TimeTicks,
   enrpServerHomeENRPServer         ENRPServerIdentifierType
   rserpoolENRPHomeENRPServer     RSerPoolENRPServerIdentifierTC }

   enrpServerPoolElementIndex

rserpoolENRPPoolElementIndex OBJECT-TYPE
   SYNTAX     Unsigned32 (1..4294967295)
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "An integer to uniquely identify a pool element. Note,
      that uniqueness of a pool element identifier in the pool
      is not enforced, therefore this index is required here!"
   ::={ enrpServerPoolElementEntry rserpoolENRPPoolElementEntry 1 }

   enrpServerPoolElementIdentifier

rserpoolENRPPoolElementID OBJECT-TYPE
   SYNTAX     PoolElementIdentifierType     RserpoolPoolElementIdentifierTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The pool element identifier of this pool element."
   ::={ enrpServerPoolElementEntry rserpoolENRPPoolElementEntry 2 }

   enrpServerASAPTransportPort

rserpoolENRPASAPTransportPort OBJECT-TYPE
   SYNTAX     Unsigned32 (1..65535)     InetPortNumber
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The SCTP port number of the ASAP endpoint of this pool
      element."
   ::= { enrpServerPoolElementEntry rserpoolENRPPoolElementEntry 3 }

   enrpServerUserTransportProtocol

rserpoolENRPUserTransportProto OBJECT-TYPE
   SYNTAX     Unsigned32 (0..255)
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The transport protocol number of the service endpoint
      of this pool element."
   ::= { enrpServerPoolElementEntry rserpoolENRPPoolElementEntry 4 }

   enrpServerUserTransportPort

rserpoolENRPUserTransportPort OBJECT-TYPE
   SYNTAX     Unsigned32 (1..65535)     InetPortNumber
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The transport protocol's port number of the service
      endpoint of this pool element."
   ::= { enrpServerPoolElementEntry rserpoolENRPPoolElementEntry 5 }
   enrpServerUserTransportUse

rserpoolENRPUserTransportUse OBJECT-TYPE
   SYNTAX     TransportUseType     RSerPoolTransportUseTypeTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The transport use of the service endpoint of this pool
      element."
   ::= { enrpServerPoolElementEntry rserpoolENRPPoolElementEntry 6 }

   enrpServerPolicyID

rserpoolENRPPolicyID OBJECT-TYPE
   SYNTAX     PolicyIDType     RSerPoolPolicyIdentifierTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The pool policy of this pool element."
   ::= { enrpServerPoolElementEntry rserpoolENRPPoolElementEntry 7 }

   enrpServerPolicyDescription

rserpoolENRPPolicyDescription OBJECT-TYPE
   SYNTAX     DescriptionType     RSerPoolDescriptionTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The textual description of the pool policy of this pool
      element."
   ::= { enrpServerPoolElementEntry rserpoolENRPPoolElementEntry 8 }

   enrpServerPolicyWeight

rserpoolENRPPolicyWeight OBJECT-TYPE
   SYNTAX     PolicyWeightType     RSerPoolPolicyWeightTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The pool policy's weight parameter for this pool element."
   ::= { enrpServerPoolElementEntry rserpoolENRPPoolElementEntry 9 }

   enrpServerPolicyLoad

rserpoolENRPPolicyLoad OBJECT-TYPE
   SYNTAX     PolicyLoadType     RSerPoolPolicyLoadTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The pool policy's load status for this pool element."
   ::= { enrpServerPoolElementEntry rserpoolENRPPoolElementEntry 10 }

   enrpServerPolicyLoadDegradation

rserpoolENRPPolicyLoadDeg OBJECT-TYPE
   SYNTAX     PolicyLoadType     RSerPoolPolicyLoadTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The pool policy's load degradation parameter for this pool
      element."
   ::= { enrpServerPoolElementEntry rserpoolENRPPoolElementEntry 11 }

   enrpServerRegistrationLife

rserpoolENRPRegistrationLife OBJECT-TYPE
   SYNTAX     TimeTicks
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The registration life of this pool element."
   ::= { enrpServerPoolElementEntry rserpoolENRPPoolElementEntry 12 }

   enrpServerHomeENRPServer

rserpoolENRPHomeENRPServer OBJECT-TYPE
   SYNTAX     ENRPServerIdentifierType     RSerPoolENRPServerIdentifierTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The ID of the home ENRP server of this pool element."
   ::= { enrpServerPoolElementEntry rserpoolENRPPoolElementEntry 13 }

-- ## Definition of the ASAP transport address list table #########
   enrpServerASAPAddrTable
rserpoolENRPASAPAddrTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF ENRPServerASAPAddrTableEntry RserpoolENRPASAPAddrTableEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A table listing of all IP addresses of the ASAP transport
   endpoint."
   ::= { enrpServers rserpoolENRPServers 5 }

   enrpServerASAPAddrTableEntry

rserpoolENRPASAPAddrTableEntry  OBJECT-TYPE
   SYNTAX     ENRPServerASAPAddrTableEntry     RserpoolENRPASAPAddrTableEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "An IP address of the ASAP transport endpoint."
   INDEX { enrpServerIndex,
   enrpServerPoolIndex,
   enrpServerPoolElementIndex,
   enrpServerASAPAddrTableIndex
      rserpoolENRPIndex,
      rserpoolENRPPoolIndex,
      rserpoolENRPPoolElementIndex,
      rserpoolENRPASAPAddrTableIndex }
   ::= { enrpServerASAPAddrTable rserpoolENRPASAPAddrTable 1 }

   ENRPServerASAPAddrTableEntry

RserpoolENRPASAPAddrTableEntry ::= SEQUENCE {
   enrpServerASAPAddrTableIndex
   rserpoolENRPASAPAddrTableIndex Unsigned32,
   enrpServerASAPL3Proto
   rserpoolENRPASAPL3Type         InetAddressType,
   enrpServerASAPL3Addr
   rserpoolENRPASAPL3Addr         InetAddress }

   enrpServerASAPAddrTableIndex

rserpoolENRPASAPAddrTableIndex OBJECT-TYPE
   SYNTAX     Unsigned32 (1..4294967295)
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A unique identifier for the IP address of an ASAP transport
      endpoint."
   ::= { enrpServerASAPAddrTableEntry rserpoolENRPASAPAddrTableEntry 1 }

   enrpServerASAPL3Proto

rserpoolENRPASAPL3Type OBJECT-TYPE
   SYNTAX     InetAddressType { ipv4(1), ipv6(2) }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The network-layer protocol (IPv4 or IPv6) of an IP address of
      an ASAP transport endpoint."
   ::= { enrpServerASAPAddrTableEntry rserpoolENRPASAPAddrTableEntry 2 }

   enrpServerASAPL3Addr

rserpoolENRPASAPL3Addr OBJECT-TYPE
   SYNTAX     InetAddress (SIZE(4|16))
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The IP address of an ASAP transport endpoint." endpoint. The type of
      this address is given in rserpoolENRPASAPL3Type."
   ::= { enrpServerASAPAddrTableEntry rserpoolENRPASAPAddrTableEntry 3 }

-- ## Definition of the user transport address list table #########
   enrpServerUserAddrTable
rserpoolENRPUserAddrTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF ENRPServerUserAddrTableEntry RserpoolENRPUserAddrTableEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A table listing of all IP addresses of the user
      transport endpoint."
   ::= { enrpServers rserpoolENRPServers 6 }

   enrpServerUserAddrTableEntry

rserpoolENRPUserAddrTableEntry  OBJECT-TYPE
   SYNTAX     ENRPServerUserAddrTableEntry     RserpoolENRPUserAddrTableEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
   "An IP address of the user transport endpoint."
   INDEX { enrpServerIndex,
   enrpServerPoolIndex,
   enrpServerPoolElementIndex,
   enrpServerUserAddrTableIndex
      rserpoolENRPIndex,
      rserpoolENRPPoolIndex,
      rserpoolENRPPoolElementIndex,
      rserpoolENRPUserAddrTableIndex }
   ::= { enrpServerUserAddrTable rserpoolENRPUserAddrTable 1 }
   ENRPServerUserAddrTableEntry

RserpoolENRPUserAddrTableEntry ::= SEQUENCE {
   enrpServerUserAddrTableIndex
   rserpoolENRPUserAddrTableIndex Unsigned32,
   enrpServerUserL3Proto
   rserpoolENRPUserL3Type         InetAddressType,
   enrpServerUserL3Addr
   rserpoolENRPUserL3Addr         InetAddress,
   enrpServerUserL3Opaque OpaqueAddressType
   rserpoolENRPUserL3Opaque       RSerPoolOpaqueAddressTC }

   enrpServerUserAddrTableIndex

rserpoolENRPUserAddrTableIndex OBJECT-TYPE
   SYNTAX     Unsigned32 (1..4294967295)
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A unique identifier for the IP address of an user transport
      endpoint."
   ::= { enrpServerUserAddrTableEntry rserpoolENRPUserAddrTableEntry 1 }

   enrpServerUserL3Proto

rserpoolENRPUserL3Type OBJECT-TYPE
   SYNTAX     InetAddressType { ipv4(1), ipv6(2) }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The network-layer protocol (IPv4 or IPv6) of an IP address
      of an user transport endpoint."
   ::= { enrpServerUserAddrTableEntry rserpoolENRPUserAddrTableEntry 2 }

   enrpServerUserL3Addr

rserpoolENRPUserL3Addr OBJECT-TYPE
   SYNTAX     InetAddress (SIZE(4|16))
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The IP address of an user transport endpoint." endpoint. The type of
      this address is given in rserpoolENRPUserL3Type."
   ::= { enrpServerUserAddrTableEntry rserpoolENRPUserAddrTableEntry 3 }

   enrpServerUserL3Opaque

rserpoolENRPUserL3Opaque OBJECT-TYPE
   SYNTAX     OpaqueAddressType     RSerPoolOpaqueAddressTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The opaque address of an user transport endpoint."
   ::= { enrpServerUserAddrTableEntry rserpoolENRPUserAddrTableEntry 4 }

-- ## Definition of ENRP address list table #######################
   enrpServerENRPAddrTable
rserpoolENRPENRPAddrTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF ENRPServerENRPAddrTableEntry RserpoolENRPENRPAddrTableEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A table listing of all IP addresses of the ENRP
      transport endpoint."
   ::= { enrpServers rserpoolENRPServers 7 }

   enrpServerENRPAddrTableEntry

rserpoolENRPENRPAddrTableEntry  OBJECT-TYPE
   SYNTAX     ENRPServerENRPAddrTableEntry     RserpoolENRPENRPAddrTableEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "An IP address of the ENRP transport endpoint."
   INDEX { enrpServerIndex,
   enrpServerENRPAddrTableIndex
      rserpoolENRPIndex,
      rserpoolENRPENRPAddrTableIndex }
   ::= { enrpServerENRPAddrTable rserpoolENRPENRPAddrTable 1 }

   ENRPServerENRPAddrTableEntry

RserpoolENRPENRPAddrTableEntry ::= SEQUENCE {
   enrpServerENRPAddrTableIndex
   rserpoolENRPENRPAddrTableIndex Unsigned32,
   enrpServerENRPL3Proto
   rserpoolENRPENRPL3Type         InetAddressType,
   enrpServerENRPL3Addr
   rserpoolENRPENRPL3Addr         InetAddress }

   enrpServerENRPAddrTableIndex

rserpoolENRPENRPAddrTableIndex OBJECT-TYPE
   SYNTAX     Unsigned32 (1..4294967295)
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A unique identifier for the IP address of an ENRP transport
      endpoint."
   ::= { enrpServerENRPAddrTableEntry rserpoolENRPENRPAddrTableEntry 1 }

   enrpServerENRPL3Proto

rserpoolENRPENRPL3Type OBJECT-TYPE
   SYNTAX     InetAddressType { ipv4(1), ipv6(2) }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The network-layer protocol (IPv4 or IPv6) of an IP address of
      an ENRP transport endpoint."
   ::= { enrpServerENRPAddrTableEntry rserpoolENRPENRPAddrTableEntry 2 }

   enrpServerENRPL3Addr

rserpoolENRPENRPL3Addr OBJECT-TYPE
   SYNTAX     InetAddress (SIZE(4|16))
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The IP address of an ENRP transport endpoint." endpoint. The type of
      this address is given in rserpoolENRPENRPL3Type."
   ::= { enrpServerENRPAddrTableEntry rserpoolENRPENRPAddrTableEntry 3 }

-- ## Definition of peer table ####################################
   enrpServerPeerTable
rserpoolENRPPeerTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF ENRPServerPeerEntry RserpoolENRPPeerEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "The table listing of a peer table."
   ::= { enrpServers rserpoolENRPServers 8 }

   enrpServerPeerEntry

rserpoolENRPPeerEntry OBJECT-TYPE
   SYNTAX     ENRPServerPeerEntry     RserpoolENRPPeerEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A peer entry in the table listing of a peer table."
   INDEX { enrpServerPeerIndex rserpoolENRPPeerIndex }
   ::= { enrpServerPeerTable rserpoolENRPPeerTable 1 }

   ENRPServerPeerEntry

RserpoolENRPPeerEntry ::= SEQUENCE {
   enrpServerPeerIndex
   rserpoolENRPPeerIndex      Unsigned32,
   enrpServerPeerIdentifier
   rserpoolENRPPeerIdentifier Unsigned32,
   enrpServerPeerPort       Unsigned32,
   enrpServerPeerLastHeard
   rserpoolENRPPeerPort       InetPortNumber,
   rserpoolENRPPeerLastHeard  TimeTicks }

   enrpServerPeerIndex

rserpoolENRPPeerIndex OBJECT-TYPE
   SYNTAX     Unsigned32 (1..4294967295)
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A unique identifier for a peer entry in the table
      listing of a peer table."
   ::= { enrpServerPeerEntry rserpoolENRPPeerEntry 1 }

   enrpServerPeerIdentifier

rserpoolENRPPeerIdentifier OBJECT-TYPE
   SYNTAX     Unsigned32
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The ENRP identifier of this peer."
   ::= { enrpServerPeerEntry rserpoolENRPPeerEntry 2 }

   enrpServerPeerPort

rserpoolENRPPeerPort OBJECT-TYPE
   SYNTAX     Unsigned32 (1..65535)     InetPortNumber
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The SCTP port number of the ENRP transport endpoint of
      this peer."
   ::= { enrpServerPeerEntry rserpoolENRPPeerEntry 3 }

   enrpServerPeerLastHeard

rserpoolENRPPeerLastHeard OBJECT-TYPE
   SYNTAX     TimeTicks
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The time since the reception of the last ENRP Peer Presence
      message of this peer."
   ::= { enrpServerPeerEntry rserpoolENRPPeerEntry 4 }

-- ## Definition of peer address list table #######################
   enrpServerPeerAddrTable
rserpoolENRPPeerAddrTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF ENRPServerPeerAddrTableEntry RserpoolENRPPeerAddrTableEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A table listing of the peer endpoint addresses."
   ::= { enrpServers rserpoolENRPServers 9 }

   enrpServerPeerAddrTableEntry

rserpoolENRPPeerAddrTableEntry  OBJECT-TYPE
   SYNTAX     ENRPServerPeerAddrTableEntry     RserpoolENRPPeerAddrTableEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A table listing of all IP addresses of the ENRP
      transport endpoint of a peer referenced by peerIndex."
   INDEX { enrpServerPeerIndex,
   enrpServerPeerAddrTableIndex
      rserpoolENRPPeerIndex,
      rserpoolENRPPeerAddrTableIndex }
   ::= { enrpServerPeerAddrTable rserpoolENRPPeerAddrTable 1 }

   ENRPServerPeerAddrTableEntry

RserpoolENRPPeerAddrTableEntry ::= SEQUENCE {
   enrpServerPeerAddrTableIndex
   rserpoolENRPPeerAddrTableIndex Unsigned32,
   enrpServerPeerL3Proto
   rserpoolENRPPeerL3Type         InetAddressType,
   enrpServerPeerL3Addr
   rserpoolENRPPeerL3Addr         InetAddress }

   enrpServerPeerAddrTableIndex

rserpoolENRPPeerAddrTableIndex OBJECT-TYPE
   SYNTAX     Unsigned32 (1..4294967295)
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A unique identifier for the IP address of a peer ENRP
      transport endpoint."
   ::= { enrpServerPeerAddrTableEntry rserpoolENRPPeerAddrTableEntry 1 }

   enrpServerPeerL3Proto

rserpoolENRPPeerL3Type OBJECT-TYPE
   SYNTAX     InetAddressType { ipv4(1), ipv6(2) }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The network-layer protocol (IPv4 or IPv6) of an IP address
      of a peer ENRP transport endpoint."
   ::= { enrpServerPeerAddrTableEntry rserpoolENRPPeerAddrTableEntry 2 }

   enrpServerPeerL3Addr

rserpoolENRPPeerL3Addr OBJECT-TYPE
   SYNTAX     InetAddress (SIZE(4|16))
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The IP address of a peer ENRP transport endpoint." endpoint. The type
      of this address is given in rserpoolENRPPeerL3Type."
   ::= { enrpServerPeerAddrTableEntry rserpoolENRPPeerAddrTableEntry 3 }

-- ################################################################
-- #### Pool Elements Section                                  ####
-- ################################################################

-- ## Definition of the pool element table ########################
   poolElementTable
rserpoolPETable OBJECT-TYPE
   SYNTAX     SEQUENCE OF PoolElementEntry RserpoolPEEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "The table listing of pool elements."
   ::= { poolElements rserpoolPoolElements 1 }

   poolElementEntry

rserpoolPEEntry OBJECT-TYPE
   SYNTAX     PoolElementEntry     RserpoolPEEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A pool element in the table listing of pool elements."
   INDEX { poolElementIndex rserpoolPEIndex }
   ::= { poolElementTable rserpoolPETable 1 }

   PoolElementEntry

RserpoolPEEntry ::= SEQUENCE {
   poolElementIndex
   rserpoolPEIndex              Unsigned32,
   poolElementOperationScope        OperationScopeType,
   poolElementPoolHandle            PoolHandleType,
   poolElementIdentifier            PoolElementIdentifierType,
   poolElementDescription           DescriptionType,
   poolElementUptime
   rserpoolPEOperationScope     RSerPoolOperationScopeTC,
   rserpoolPEPoolHandle         RSerPoolPoolHandleTC,
   rserpoolPEIdentifier         RserpoolPoolElementIdentifierTC,
   rserpoolPEDescription        RSerPoolDescriptionTC,
   rserpoolPEUptime             TimeTicks,
   poolElementASAPTransportPort     Unsigned32,
   poolElementUserTransportProtocol
   rserpoolPEASAPTransportPort  InetPortNumber,
   rserpoolPEUserTransportProto Unsigned32,
   poolElementUserTransportPort     Unsigned32,
   poolElementUserTransportUse      TransportUseType,
   poolElementPolicyID              PolicyIDType,
   poolElementPolicyDescription     DescriptionType,
   poolElementPolicyWeight          PolicyWeightType,
   poolElementPolicyLoad            PolicyLoadType,
   poolElementPolicyLoadDegradation PolicyLoadType,
   poolElementRegistrationLife
   rserpoolPEUserTransportPort  InetPortNumber,
   rserpoolPEUserTransportUse   RSerPoolTransportUseTypeTC,
   rserpoolPEPolicyID           RSerPoolPolicyIdentifierTC,
   rserpoolPEPolicyDescription  RSerPoolDescriptionTC,
   rserpoolPEPolicyWeight       RSerPoolPolicyWeightTC,
   rserpoolPEPolicyLoad         RSerPoolPolicyLoadTC,
   rserpoolPEPolicyLoadDeg      RSerPoolPolicyLoadTC,
   rserpoolPERegistrationLife   TimeTicks,
   poolElementHomeENRPServer        ENRPServerIdentifierType
   rserpoolPEHomeENRPServer     RSerPoolENRPServerIdentifierTC }

   poolElementIndex

rserpoolPEIndex OBJECT-TYPE
   SYNTAX     Unsigned32 (1..4294967295)
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "An integer to uniquely identify a pool element. Note,
      that uniqueness of a pool element identifier in the pool
      is not enforced, therefore this index is required here!"
   ::={ poolElementEntry rserpoolPEEntry 1 }

   poolElementOperationScope

rserpoolPEOperationScope OBJECT-TYPE
   SYNTAX     OperationScopeType     RSerPoolOperationScopeTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The operation scope of this pool element."
   ::= { poolElementEntry rserpoolPEEntry 2 }

   poolElementPoolHandle

rserpoolPEPoolHandle OBJECT-TYPE
   SYNTAX     PoolHandleType     RSerPoolPoolHandleTC
   MAX-ACCESS read-only read-write
   STATUS     current
   DESCRIPTION
      "The pool handle of this pool element." element. Changing this object
      will update the pool element's pool handle and result in a
      re-registration."
   ::={ poolElementEntry rserpoolPEEntry 3 }

   poolElementIdentifier

rserpoolPEIdentifier OBJECT-TYPE
   SYNTAX     PoolElementIdentifierType     RserpoolPoolElementIdentifierTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The pool element identifier of this pool element."
   ::={ poolElementEntry rserpoolPEEntry 4 }

   poolElementDescription

rserpoolPEDescription OBJECT-TYPE
   SYNTAX     DescriptionType     RSerPoolDescriptionTC
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
      "A textual description of this pool element, e.g. its location
      and a contact address of its administrator."
   ::= { poolElementEntry rserpoolPEEntry 5 }

   poolElementUptime

rserpoolPEUptime OBJECT-TYPE
   SYNTAX     TimeTicks
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The ENRP service uptime of this pool element."
   ::= { poolElementEntry rserpoolPEEntry 6 }

   poolElementASAPTransportPort

rserpoolPEASAPTransportPort OBJECT-TYPE
   SYNTAX     Unsigned32 (1..65535)     InetPortNumber
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The SCTP port number of the ASAP endpoint of this pool element."
   ::= { poolElementEntry rserpoolPEEntry 7 }

   poolElementUserTransportProtocol

rserpoolPEUserTransportProto OBJECT-TYPE
   SYNTAX     Unsigned32 (0..255)
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The transport protocol number of the service endpoint
      of this pool element."
   ::= { poolElementEntry rserpoolPEEntry 8 }

   poolElementUserTransportPort

rserpoolPEUserTransportPort OBJECT-TYPE
   SYNTAX     Unsigned32 (1..65535)     InetPortNumber
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The transport protocol's port number of the service
      endpoint of this pool element."
   ::= { poolElementEntry rserpoolPEEntry 9 }

   poolElementUserTransportUse

rserpoolPEUserTransportUse OBJECT-TYPE
   SYNTAX     TransportUseType     RSerPoolTransportUseTypeTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The transport use of the service endpoint of this pool element."
   ::= { poolElementEntry rserpoolPEEntry 10 }

   poolElementPolicyID

rserpoolPEPolicyID OBJECT-TYPE
   SYNTAX     PolicyIDType     RSerPoolPolicyIdentifierTC
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
      "The pool policy of this pool element." element. Changing this object
      will update the pool element's policy and result in a
      re-registration."
   ::= { poolElementEntry rserpoolPEEntry 11 }

   poolElementPolicyDescription

rserpoolPEPolicyDescription OBJECT-TYPE
   SYNTAX     DescriptionType     RSerPoolDescriptionTC
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
      "The textual description of the pool policy of this pool element."
   ::= { poolElementEntry rserpoolPEEntry 12 }

   poolElementPolicyWeight

rserpoolPEPolicyWeight OBJECT-TYPE
   SYNTAX     PolicyWeightType     RSerPoolPolicyWeightTC
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
      "The pool policy's weight parameter for this pool element.
   This field is read/write."
      Changing this object will update the pool element's policy
      weight setting and result in
      a re-registration."
   ::= { poolElementEntry rserpoolPEEntry 13 }

   poolElementPolicyLoad

rserpoolPEPolicyLoad OBJECT-TYPE
   SYNTAX     PolicyLoadType     RSerPoolPolicyLoadTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The pool policy's load status for this pool element."
   ::= { poolElementEntry rserpoolPEEntry 14 }

   poolElementPolicyLoadDegradation

rserpoolPEPolicyLoadDeg OBJECT-TYPE
   SYNTAX     PolicyLoadType     RSerPoolPolicyLoadTC
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
      "The pool policy's load degradation parameter for this pool
   element."
      element. Changing this object will update the pool element's
      load degradation setting and result in a re-registration."
   ::= { poolElementEntry rserpoolPEEntry 15 }

   poolElementRegistrationLife

rserpoolPERegistrationLife OBJECT-TYPE
   SYNTAX     TimeTicks
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
      "The registration life of this pool element." element. Changing this
      object will update the pool element's lifetime setting and
      result in a re-registration."
   ::= { poolElementEntry rserpoolPEEntry 16 }
   poolElementHomeENRPServer

rserpoolPEHomeENRPServer OBJECT-TYPE
   SYNTAX     ENRPServerIdentifierType     RSerPoolENRPServerIdentifierTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The ID of the home ENRP server of this pool element."
   ::= { poolElementEntry rserpoolPEEntry 17 }

-- ## Definition of the ASAP transport address list table #########
   poolElementASAPAddrTable
rserpoolPEASAPAddrTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF PoolElementASAPAddrTableEntry RserpoolPEASAPAddrTableEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A table listing of all IP addresses of the ASAP transport
      endpoint."
   ::= { poolElements rserpoolPoolElements 2 }

   poolElementASAPAddrTableEntry

rserpoolPEASAPAddrTableEntry  OBJECT-TYPE
   SYNTAX     PoolElementASAPAddrTableEntry     RserpoolPEASAPAddrTableEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "An IP address of the ASAP transport endpoint."
   INDEX { poolElementIndex,
   poolElementASAPAddrTableIndex
      rserpoolPEIndex,
      rserpoolPEASAPAddrTableIndex }
   ::= { poolElementASAPAddrTable rserpoolPEASAPAddrTable 1 }

   PoolElementASAPAddrTableEntry

RserpoolPEASAPAddrTableEntry ::= SEQUENCE {
   poolElementASAPAddrTableIndex
   rserpoolPEASAPAddrTableIndex Unsigned32,
   poolElementASAPL3Proto
   rserpoolPEASAPL3Type         InetAddressType,
   poolElementASAPL3Addr
   rserpoolPEASAPL3Addr         InetAddress }

   poolElementASAPAddrTableIndex

rserpoolPEASAPAddrTableIndex OBJECT-TYPE
   SYNTAX     Unsigned32 (1..4294967295)
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A unique identifier for the IP address of an ASAP transport
      endpoint."
   ::= { poolElementASAPAddrTableEntry rserpoolPEASAPAddrTableEntry 1 }

   poolElementASAPL3Proto

rserpoolPEASAPL3Type OBJECT-TYPE
   SYNTAX     InetAddressType { ipv4(1), ipv6(2) }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The network-layer protocol (IPv4 or IPv6) of an IP address of
      an ASAP transport endpoint."
   ::= { poolElementASAPAddrTableEntry rserpoolPEASAPAddrTableEntry 2 }

   poolElementASAPL3Addr

rserpoolPEASAPL3Addr OBJECT-TYPE
   SYNTAX     InetAddress (SIZE(4|16))
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The IP address of an ASAP transport endpoint." endpoint. The type of
      this address is given in rserpoolPEASAPL3Type."
   ::= { poolElementASAPAddrTableEntry rserpoolPEASAPAddrTableEntry 3 }

-- ## Definition of the user transport address list table #########
   poolElementUserAddrTable
rserpoolPEUserAddrTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF PoolElementUserAddrTableEntry RserpoolPEUserAddrTableEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A table listing of all IP addresses of the user
      transport endpoint."
   ::= { poolElements rserpoolPoolElements 6 }

   poolElementUserAddrTableEntry

rserpoolPEUserAddrTableEntry  OBJECT-TYPE
   SYNTAX     PoolElementUserAddrTableEntry     RserpoolPEUserAddrTableEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
   "An IP address of the user transport endpoint."
   INDEX { poolElementIndex,
   poolElementUserAddrTableIndex
      rserpoolPEIndex,
      rserpoolPEUserAddrTableIndex }
   ::= { poolElementUserAddrTable rserpoolPEUserAddrTable 1 }

   PoolElementUserAddrTableEntry

RserpoolPEUserAddrTableEntry ::= SEQUENCE {
   poolElementUserAddrTableIndex
   rserpoolPEUserAddrTableIndex Unsigned32,
   poolElementUserL3Proto
   rserpoolPEUserL3Type         InetAddressType,
   poolElementUserL3Addr
   rserpoolPEUserL3Addr         InetAddress,
   poolElementUserL3Opaque       OpaqueAddressType
   rserpoolPEUserL3Opaque       RSerPoolOpaqueAddressTC }

   poolElementUserAddrTableIndex

rserpoolPEUserAddrTableIndex OBJECT-TYPE
   SYNTAX     Unsigned32 (1..4294967295)
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A unique identifier for the IP address of an user transport
      endpoint."
   ::= { poolElementUserAddrTableEntry rserpoolPEUserAddrTableEntry 1 }
   poolElementUserL3Proto

rserpoolPEUserL3Type OBJECT-TYPE
   SYNTAX     InetAddressType { ipv4(1), ipv6(2) }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The network-layer protocol of an IP address of
      an user transport endpoint. Set to unknown for opaque address."
   ::= { poolElementUserAddrTableEntry rserpoolPEUserAddrTableEntry 2 }

   poolElementUserL3Addr

rserpoolPEUserL3Addr OBJECT-TYPE
   SYNTAX     InetAddress (SIZE(4|16))
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The IP address of an user transport endpoint." endpoint. The type of
      this address is given in rserpoolPEUserL3Addr."
   ::= { poolElementUserAddrTableEntry rserpoolPEUserAddrTableEntry 3 }

   poolElementUserL3Opaque

rserpoolPEUserL3Opaque OBJECT-TYPE
   SYNTAX     OpaqueAddressType     RSerPoolOpaqueAddressTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The opaque address of an user transport endpoint."
   ::= { poolElementUserAddrTableEntry rserpoolPEUserAddrTableEntry 4 }

-- ################################################################

-- #### Pool Users Section                                     ####
-- ################################################################

-- ## Definition of the pool user table ###########################
   poolUserTable
rserpoolPUTable OBJECT-TYPE
   SYNTAX     SEQUENCE OF PoolUserEntry RserpoolPUEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "The table listing of pool users."
   ::= { poolUsers rserpoolPoolUsers 1 }

   poolUserEntry

rserpoolPUEntry OBJECT-TYPE
   SYNTAX     PoolUserEntry     RserpoolPUEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "A pool user in the table listing of pool users."
   INDEX { poolUserIndex rserpoolPUIndex }
   ::= { poolUserTable rserpoolPUTable 1 }
   PoolUserEntry

RserpoolPUEntry ::= SEQUENCE {
   poolUserIndex
   rserpoolPUIndex          Unsigned32,
   poolUserOperationScope OperationScopeType,
   poolUserPoolHandle     PoolHandleType,
   poolUserDescription    DescriptionType,
   poolUserUptime
   rserpoolPUOperationScope RSerPoolOperationScopeTC,
   rserpoolPUPoolHandle     RSerPoolPoolHandleTC,
   rserpoolPUDescription    RSerPoolDescriptionTC,
   rserpoolPUUptime         TimeTicks }

   poolUserIndex

rserpoolPUIndex OBJECT-TYPE
   SYNTAX     Unsigned32 (1..4294967295)
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
      "An integer to uniquely identify a pool user."
   ::={ poolUserEntry
   ::= { rserpoolPUEntry 1 }

   poolUserOperationScope

rserpoolPUOperationScope OBJECT-TYPE
   SYNTAX     OperationScopeType     RSerPoolOperationScopeTC
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The operation scope of this pool user."
   ::= { poolUserEntry rserpoolPUEntry 2 }

   poolUserPoolHandle

rserpoolPUPoolHandle OBJECT-TYPE
   SYNTAX     PoolHandleType     RSerPoolPoolHandleTC
   MAX-ACCESS read-only read-write
   STATUS     current
   DESCRIPTION
      "The pool handle of this pool user." user. Changing this object
      will update the pool user's pool handle for all future
      sessions."
   ::={ poolUserEntry rserpoolPUEntry 3 }

   poolUserDescription

rserpoolPUDescription OBJECT-TYPE
   SYNTAX     DescriptionType     RSerPoolDescriptionTC
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
      "A textual description of this pool user, e.g. its location
      and a contact address of its administrator."
   ::= { poolUserEntry rserpoolPUEntry 4 }

   poolUserUptime

rserpoolPUUptime OBJECT-TYPE
   SYNTAX     TimeTicks
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
      "The ENRP service uptime of this pool user."
   ::= { poolUserEntry rserpoolPUEntry 5 }

-- ## MIB conformance and compliance ##############################
   rserpoolMIBConformance OBJECT IDENTIFIER ::= { rserpoolMIB 4 }
rserpoolMIBCompliances OBJECT IDENTIFIER ::= {
   rserpoolMIBConformance 1
}

rserpoolMIBGroups OBJECT IDENTIFIER ::= {
   rserpoolMIBConformance 2
}

rserpoolMIBCompliance MODULE-COMPLIANCE
   STATUS  current
   DESCRIPTION
      "The compliance statement for SNMP entities which implement
      RSerPool."
   MODULE  -- this module
   MANDATORY-GROUPS { enrpServerGroup,
   poolElementGroup,
   poolUserGroup
      rserpoolENRPGroup,
      rserpoolPEGroup,
      rserpoolPUGroup }
   ::= { rserpoolMIBCompliances 1 }

   enrpServerGroup

rserpoolENRPGroup OBJECT-GROUP
   OBJECTS { enrpServerOperationScope,
   enrpServerIdentifier,
   enrpServerDescription,
   enrpServerUptime,
   enrpServerPort,
   enrpServerASAPAnnouncePort,
   enrpServerASAPAnnounceAddr,
   enrpServerASAPAnnounceAddrType,
   enrpServerENRPAnnounceAddrType,
   enrpServerENRPAnnouncePort,
   enrpServerENRPAnnounceAddr,

   enrpServerPoolHandle,
   enrpServerPoolElementIdentifier,

   enrpServerASAPTransportPort,
   enrpServerUserTransportProtocol,
   enrpServerUserTransportUse,
   enrpServerUserTransportPort,
   enrpServerPolicyID,
   enrpServerPolicyDescription,
   enrpServerPolicyWeight,
   enrpServerPolicyLoad,
   enrpServerPolicyLoadDegradation,
   enrpServerRegistrationLife,
   enrpServerHomeENRPServer,

   enrpServerASAPL3Proto,
   enrpServerASAPL3Addr,

   enrpServerUserL3Proto,
   enrpServerUserL3Addr,
   enrpServerUserL3Opaque,

   enrpServerENRPL3Proto,
   enrpServerENRPL3Addr,

   enrpServerPeerIdentifier,
   enrpServerPeerPort,
   enrpServerPeerLastHeard,
   enrpServerPeerL3Proto,
   enrpServerPeerL3Addr
      rserpoolENRPOperationScope,
      rserpoolENRPIdentifier,
      rserpoolENRPDescription,
      rserpoolENRPUptime,
      rserpoolENRPPort,
      rserpoolENRPASAPAnnouncePort,
      rserpoolENRPASAPAnnounceAddr,
      rserpoolENRPASAPAnnounceAddrType,
      rserpoolENRPENRPAnnounceAddrType,
      rserpoolENRPENRPAnnouncePort,
      rserpoolENRPENRPAnnounceAddr,

      rserpoolENRPPoolHandle,
      rserpoolENRPPoolElementID,

      rserpoolENRPASAPTransportPort,
      rserpoolENRPUserTransportProto,
      rserpoolENRPUserTransportUse,
      rserpoolENRPUserTransportPort,
      rserpoolENRPPolicyID,
      rserpoolENRPPolicyDescription,
      rserpoolENRPPolicyWeight,
      rserpoolENRPPolicyLoad,
      rserpoolENRPPolicyLoadDeg,
      rserpoolENRPRegistrationLife,
      rserpoolENRPHomeENRPServer,

      rserpoolENRPASAPL3Type,
      rserpoolENRPASAPL3Addr,

      rserpoolENRPUserL3Type,
      rserpoolENRPUserL3Addr,
      rserpoolENRPUserL3Opaque,

      rserpoolENRPENRPL3Type,
      rserpoolENRPENRPL3Addr,

      rserpoolENRPPeerIdentifier,
      rserpoolENRPPeerPort,
      rserpoolENRPPeerLastHeard,
      rserpoolENRPPeerL3Type,
      rserpoolENRPPeerL3Addr }
   STATUS current
   DESCRIPTION
      "The group of contains all ENRP servers" server instances
      running on the system"
   ::= { rserpoolMIBGroups 1 }

   poolElementGroup

rserpoolPEGroup OBJECT-GROUP
   OBJECTS { poolElementOperationScope,
   poolElementPoolHandle,
   poolElementIdentifier,
   poolElementDescription,
   poolElementUptime,
   poolElementASAPTransportPort,
   poolElementUserTransportProtocol,
   poolElementUserTransportPort,
   poolElementUserTransportUse,
   poolElementPolicyID,
   poolElementPolicyDescription,
   poolElementPolicyWeight,
   poolElementPolicyLoad,
   poolElementPolicyLoadDegradation,
   poolElementRegistrationLife,
   poolElementHomeENRPServer,

   poolElementASAPL3Proto,
   poolElementASAPL3Addr,

   poolElementUserL3Proto,
   poolElementUserL3Addr,
   poolElementUserL3Opaque
      rserpoolPEOperationScope,
      rserpoolPEPoolHandle,
      rserpoolPEIdentifier,
      rserpoolPEDescription,
      rserpoolPEUptime,
      rserpoolPEASAPTransportPort,
      rserpoolPEUserTransportProto,
      rserpoolPEUserTransportPort,
      rserpoolPEUserTransportUse,
      rserpoolPEPolicyID,
      rserpoolPEPolicyDescription,
      rserpoolPEPolicyWeight,
      rserpoolPEPolicyLoad,
      rserpoolPEPolicyLoadDeg,
      rserpoolPERegistrationLife,
      rserpoolPEHomeENRPServer,

      rserpoolPEASAPL3Type,
      rserpoolPEASAPL3Addr,

      rserpoolPEUserL3Type,
      rserpoolPEUserL3Addr,
      rserpoolPEUserL3Opaque }
   STATUS current
   DESCRIPTION
      "The group of contains all pool elements" element instances
      running on the system"
   ::= { rserpoolMIBGroups 2 }
   poolUserGroup

rserpoolPUGroup OBJECT-GROUP
   OBJECTS { poolUserOperationScope,
   poolUserPoolHandle,
   poolUserDescription,
   poolUserUptime rserpoolPUOperationScope,
      rserpoolPUPoolHandle,
      rserpoolPUDescription,
      rserpoolPUUptime }
   STATUS current
   DESCRIPTION
      "The group of contains all pool users" user instances
      running on the system"
   ::= { rserpoolMIBGroups 3 }

END

6.  Security Considerations

   SNMPv1 by itself is not a secure environment.  Even if the network
   itself is secure (for example by using IPSec), IPsec), there is no control as
   to who on the secure network is allowed to access and GET/SET (read/
   change/create/delete) the objects in this MIB.

   It  Therefore, it is
   recommended that the implementers consider the security features as
   provided by the SNMPv3 framework.  Specifically, the use of the User-based User-
   based Security Model RFC 3414 [RFC3414] and the View-
   based View-based Access
   Control Model RFC 3415 [RFC3415] is recommended.

   It is then a customer/user responsibility to ensure that the SNMP
   entity giving access to an instance of this MIB, is properly
   configured to give access to the objects only to those principals
   (users) that have legitimate rights to indeed GET or SET (change/
   create/delete) them.

7.  IANA Considerations

   IANA will need to  The implications of modifying RSerPool
   component properties are similar to changes by ASAP/ENRP.  Therefore,
   the security threads documented by RFC 5355 [RFC5355] also apply
   here.

7.  IANA Considerations

   IANA will need to assign an OID prefix for the RSerPool MIB. MIB module.

8.  Acknowledgments

   The authors would like to express a special note of thanks to Phillip
   Conrad and Kevin Pinzhoffer for their efforts in the early formation
   of this draft.  Also,  Furthermore, the authors would like to thank Bert
   Wijnen for his valuable comments on this document.  Finally, the
   authors would like to thank Nihad Cosic, Dirk Hoffstadt, Michael
   Kohnen, Jobin Pulinthanath, Randall Stewart, Michael Tuexen and Xing
   Zhou for their support.

9.  References

9.1.  Normative References

   [RFC2578]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "Structure of Management Information
              Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.

   [RFC2579]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "Textual Conventions for SMIv2",
              STD 58, RFC 2579, April 1999.

   [RFC2580]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
              "Conformance Statements for SMIv2", STD 58, RFC 2580,
              April 1999.

   [RFC3414]  Blumenthal, U. and B. Wijnen, "User-based Security Model
              (USM) for version 3 of the Simple Network Management
              Protocol (SNMPv3)", STD 62, RFC 3414, December 2002.

   [RFC3415]  Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
              Access Control Model (VACM) for the Simple Network
              Management Protocol (SNMP)", STD 62, RFC 3415,
              December 2002.

   [RFC4001]  Daniele, M., Haberman, B., Routhier, S., and J.
              Schoenwaelder, "Textual Conventions for Internet Network
              Addresses", RFC 4001, February 2005.

   [RFC5352]  Stewart, R., Xie, Q., Stillman, M., and M. Tuexen,
              "Aggregate Server Access Protocol (ASAP)", RFC 5352,
              September 2008.

   [RFC5353]  Xie, Q., Stewart, R., Stillman, M., Tuexen, M., and A.
              Silverton, "Endpoint Handlespace Redundancy Protocol
              (ENRP)", RFC 5353, September 2008.

   [RFC5354]  Stewart, R., Xie, Q., Stillman, M., and M. Tuexen,
              "Aggregate Server Access Protocol (ASAP) and Endpoint
              Handlespace Redundancy Protocol (ENRP) Parameters",
              RFC 5354, September 2008.

   [RFC5356]  Dreibholz, T. and M. Tuexen, "Reliable Server Pooling
              Policies", RFC 5356, September 2008.

   [RFC3414]  Blumenthal, U. and B. Wijnen, "User-based Security Model
              (USM) for version 3 of the Simple Network Management
              Protocol (SNMPv3)", STD 62, RFC 3414, December 2002.

   [RFC3415]  Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based
              Access Control Model (VACM) for the Simple Network
              Management Protocol (SNMP)", STD 62, RFC 3415,
              December 2002.

   [RFC2578]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "Structure of Management Information
              Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.

   [RFC2579]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "Textual Conventions for SMIv2",
              STD 58, RFC 2579, April 1999.

   [RFC2580]  McCloghrie, K., Perkins, D., and J. Schoenwaelder,
              "Conformance Statements for SMIv2", STD 58, RFC 2580,
              April 1999.

9.2.  Informative References

   [RFC3237]  Tuexen, M., Xie, Q., Stewart, R., Shore, M., Ong, L.,
              Loughney, J., and M. Stillman, "Requirements for Reliable
              Server Pooling", RFC 3237, January 2002.

   [RFC3410]  Case, J., Mundy, R., Partain, D., and B. Stewart,
              "Introduction and Applicability Statements for Internet-
              Standard Management Framework", RFC 3410, December 2002.

   [RFC5351]  Lei, P., Ong, L., Tuexen, M., and T. Dreibholz, "An
              Overview of Reliable Server Pooling Protocols", RFC 5351,
              September 2008.

   [RFC5355]  Stillman, M., Gopal, R., Guttman, E., Sengodan, S., and M.

              Holdrege, "Threats Introduced by Reliable Server Pooling
              (RSerPool) and Requirements for Security in Response to
              Threats", RFC 5355, September 2008.

   [RFC3410]  Case, J., Mundy, R., Partain, D., and B. Stewart,
              "Introduction and Applicability Statements for Internet-
              Standard Management Framework", RFC 3410, December 2002.

   [RSerPoolPage]
              Dreibholz, T., "Thomas Dreibholz's RSerPool Page",
              URL: http://tdrwww.iem.uni-due.de.de/dreibholz/rserpool/.

   [Dre2006]  Dreibholz, T., "Reliable Server Pooling -- Evaluation,
              Optimization and Extension of a Novel IETF Architecture",
              Ph.D. Thesis University of Duisburg-Essen, Faculty of
              Economics, Institute for Computer Science and Business
              Information Systems, URL: http://
              duepublico.uni-duisburg-essen.de/servlets/DerivateServlet/
              Derivate-16326/Dre2006-final.pdf, March 2007.

   [LCN2005]  Dreibholz, T. and E. Rathgeb, "On the Performance of
              Reliable Server Pooling Systems", Proceedings of the 30th
              IEEE Local Computer Networks Conference, November 2005.

   [IJHIT2008]
              Dreibholz, T. and E. Rathgeb, "An Evalulation of the Pool
              Maintenance Overhead in Reliable Server Pooling Systems",
              International Journal of Hybrid Information Technology
              (IJHIT) Volume 1, Number 2, April 2008.

   [RSerPoolPage]
              Dreibholz, T., "Thomas Dreibholz's RSerPool Page",
              URL: http://tdrwww.iem.uni-due.de.de/dreibholz/rserpool/.

   [SNMPMIBS]
              Perkins, D. and E. McGinnis, "Understanding SNMP MIBs",
              1997.

Authors' Addresses

   Thomas Dreibholz
   University of Duisburg-Essen, Institute for Experimental Mathematics
   Ellernstrasse 29
   45326 Essen, Nordrhein-Westfalen
   Germany

   Phone: +49-201-1837637
   Fax:   +49-201-1837673
   Email: dreibh@iem.uni-due.de
   URI:   http://www.iem.uni-due.de/~dreibh/
   Jaiwant Mulik
   Delaware State University
   CIS Department
   Room 306A, Science Center North
   1200 N. DuPont Hwy
   Dover, DE  19904
   USA

   Phone: +1-302-857-7910
   Fax:   +1-302-857-6552
   Email: jaiwant@mulik.com
   URI:   http://netlab.cis.desu.edu