Network Working Group J. Lau Internet-Draft cisco Systems, Inc. Category: Standards Track W. Klausberger Siemens AG June 2002 Layer Two Tunneling Protocol (Version 3) "L2TPv3" Management Information Base Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC 2026. 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/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html The distribution of this memo is unlimited. It is filed as and expires December 2002. Please send comments to the L2TP mailing list (l2tp@l2tp.net). Copyright Notice Copyright (C) The Internet Society (1999). All Rights Reserved. Abstract This document describes a portion of the Management Information Base (MIB) to manage the Layer Two Tunneling Protocol, Version 3 (L2TPv3). Lau and Klausberger Standards Track [Page 1] INTERNET DRAFT L2TPv3 MIB June 2002 Acknowledgments The original L2TP MIB, [L2TP-MIB], was authored by Evan Caves, Pat Calhoun, and Ross Wheeler. Lau and Klausberger Standards Track [Page 2] INTERNET DRAFT L2TPv3 MIB June 2002 Contents Status of this Memo.......................................... 1 1. Introduction............................................. 2 1.1 Changes from the L2TPv2 MIB.......................... 2 1.2 Specification of Requirements........................ 3 1.3 Terminology.......................................... 3 2. The SNMP Management Framework............................ 3 3. Overview................................................. 4 3.1 Organization of the L2TP MIB......................... 5 4. L2TP MIB Object Definitions.............................. 5 5. References............................................... 54 6. Editors' Addresses....................................... 56 1. Introduction The Managed Information Base (MIB) for the Layer Two Tunneling Protocol, Version 3 (L2TPv3) describes a model for managing the common attributes of L2TP control connections and sessions. L2TP provides a dynamic tunneling mechanism for multiple Layer 2 (L2) circuits across a packet-oriented data network. This MIB supports the base L2TP mechanism as specified in [L2TP-BASE]. 1.1 Changes from the L2TPv2 MIB Most of the MIB objects defined in this document are carried over from [L2TP-MIB]. Changes include the following: o Separation of all payload-specific (namely PPP) and transport-specific (e.g. IP/UDP) objects. Payload- and transport- specific constructs are defined in companion documents. o Transition from a 16-bit Session ID and Tunnel ID to a 32-bit Session ID and Control Connection ID, respectively. The MIB defined in [L2TP-MIB] will be referred to as the "L2TPv2 MIB", while the MIB defined in this document will be referred to as the "L2TPv3 MIB" or, more simply, as the "L2TP MIB" when the distinction is clear. Note that the L2TPv3 MIB supports both L2TPv2 and L2TPv3 connections. Lau and Klausberger Standards Track [Page 3] INTERNET DRAFT L2TPv3 MIB June 2002 1.2 Specification of Requirements The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 1.3 Terminology See also the "Terminology" section in [L2TP-BASE]. 2. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: o An overall architecture, described in RFC 2571. o Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and is described in STD 16 / RFC 1155, STD 16 / RFC 1212, and RFC 1215. The second version, called SMIv2, is described in STD 58 / RFC 2578, STD 58 / RFC 2579, and STD 58 / RFC 2580. o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and is described in STD 15 / RFC 1157. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and is described in RFC 1901 and RFC 1906. The third version of the message protocol is called SNMPv3 and is described in RFC 1906, RFC 2572, and RFC 2574. o Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15 / RFC 1157. A second set of protocol operations and associated PDU formats is described in RFC 1905. o A set of fundamental applications described in RFC 2573 and the view-based access control mechanism described in RFC 2575. A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570. Managed objects are accessed via a virtual information store, termed the "Management Information Base" (MIB). Objects in the MIB are defined using the mechanisms defined in the SMI. This memo specifies a MIB module that is compliant to the SMIv2. A Lau and Klausberger Standards Track [Page 4] INTERNET DRAFT L2TPv3 MIB June 2002 MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except cases in which objects or events are omitted because no translation is possible (e.g. use of Counter64). Some machine-readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine-readable information is not considered to change the semantics of the MIB. 3. Overview The L2TP MIB defines the attributes that are common across all L2TP control connections and sessions, supporting at least L2TPv2 and L2TPv3. Other companion MIBs convey more specific characteristics about the tunneled link, such as the transport (e.g. IP, MPLS, ATM, etc.) or the payload (e.g. PPP, Ethernet, Frame Relay, etc.). The following reference model is suggested, but not required, as a framework in which the L2TP MIB may reside: Figure 3.0: Sample MIB Layering with the L2TP MIB Pseudowire Layer | --------------------------------|-------------------------------------- +--------+ Tunnel Layer _ |L2TP MIB| _ ________/ +--------+ \________ / | \ +------------------+ | +-----------------------+ |transport-specific| | |payload-specific | |session MIBs | | |control connection MIBs| +------------------+ | +-----------------------+ --------------------------------|-------------------------------------- | Tunnel Transport Layer In the diagram above, the Tunnel Layer comprises the MIBs that are specific to the tunneling protocol. For L2TP, this layer includes the L2TP MIB plus any payload-specific control connection MIBs or transport-specific session MIBs. The Pseudowire Layer contains MIBs that characterize the L2 payloads being forwarded by the tunneling protocol (e.g. the PWE3 Pseudowire MIB, see [PWE3-PW-MIB]). The Tunnel Transport Layer consists of MIBs that describe the transport- level characteristics of a connection between two tunnel endpoints (e.g. the IP Tunnel MIB, see RFC 2667). The interaction of the L2TP MIB with other MIBs in different layers MAY require intermediate MIBs to map one MIB instance to another. Lau and Klausberger Standards Track [Page 5] INTERNET DRAFT L2TPv3 MIB June 2002 These intermediate MIBs are defined in companion documents. 3.1 Organization of the L2TP MIB This MIB consists of the following seven groups: l2tpConfigGroup l2tpStatsGroup These two groups provide information on the configuration, states, and statistics of the L2TP stack, its control connections, and its sessions. These groups are mandatory for implementors of this MIB. l2tpCtrlDomainGroup This optional group of objects provides configuration, states, and statistical information for L2TP control domains. An L2TP control domain is defined as a collection of L2TP LCCEs typically belonging to a common administrative domain or geographic location. l2tpMappingGroup This optional group contains mapping tables to assist management applications to map between protocol identifiers and table indices. l2tpSecurityGroup This optional group is for SNMP agents that support both authentication and privacy of SNMP messages for the management of L2TP keys. l2tpTrapGroup This group contains the notifications that could be generated by an L2TP stack. l2tpHCPacketGroup This group is optional for L2TP implementations that could potentially overflow the L2TP control domain tables 32-bit statistics counters in less than an hour. 4. L2TP MIB Object Definitions L2TP-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, Counter32, Lau and Klausberger Standards Track [Page 6] INTERNET DRAFT L2TPv3 MIB June 2002 Counter64, Gauge32, Integer32, Unsigned32 FROM SNMPv2-SMI TEXTUAL-CONVENTION, DisplayString, RowStatus, StorageType, TruthValue FROM SNMPv2-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB MODULE-COMPLIANCE, NOTIFICATION-GROUP, OBJECT-GROUP FROM SNMPv2-CONF InterfaceIndex FROM IF-MIB; l2tp MODULE-IDENTITY LAST-UPDATED "200206240000Z" -- 24 June 2002 ORGANIZATION "IETF L2TP Working Group" CONTACT-INFO "Layer Two Tunneling Protocol Extensions WG Working Group Area: Internet Working Group Name: l2tpext General Discussion: l2tp@l2tp.net" DESCRIPTION "The MIB module that describes managed objects of general use by the Layer Two Tunneling Protocol (L2TP)." -- -- Revision log -- REVISION "200206240000Z" -- 24 June 2002 DESCRIPTION "First revision." ::= { transmission XXX } -- To be assigned by IANA -- -- Textual Conventions -- Lau and Klausberger Standards Track [Page 7] INTERNET DRAFT L2TPv3 MIB June 2002 L2tpMilliSeconds ::= TEXTUAL-CONVENTION DISPLAY-HINT "d-3" STATUS current DESCRIPTION "A period of time, measured in units of .001 seconds. When used in conjunction with the DISPLAY-HINT, shows seconds and fractions of a second with a resolution of .001 of a second." SYNTAX Integer32 (0..2147483646) L2tpTransportType ::= TEXTUAL-CONVENTION DISPLAY-HINT "" STATUS current DESCRIPTION "Supported L2TP transport types. Different transports may define MIB extensions to the L2TP control connection table to fully describe the transport layer. Objects of this type may be used to determine which MIB extensions to reference." SYNTAX OCTET STRING (SIZE(1)) { other(1), none(2), ipv4(3), udpIpv4(4), ipv6(5), udpIpv6(6), mpls(7), frameRelay(8), atm(9) } L2tpPWType ::= TEXTUAL-CONVENTION DISPLAY-HINT "" STATUS current DESCRIPTION "Supported L2TP pseudowire types." SYNTAX OCTET STRING (SIZE(1)) { frameRelay(1), atmAAL5(2), atmTransCell(3), ethernetVLAN(4), ethernet(5), hdlc(6), ppp(7), cem(8), atmVCCCell(9), atmVPCCell(10) } Lau and Klausberger Standards Track [Page 8] INTERNET DRAFT L2TPv3 MIB June 2002 -- -- Definitions of significant branches -- l2tpNotifications OBJECT IDENTIFIER ::= { l2tp 0 } l2tpObjects OBJECT IDENTIFIER ::= { l2tp 1 } l2tpConformance OBJECT IDENTIFIER ::= { l2tp 2 } -- -- Definitions of significant branches under l2tpObjects -- l2tpScalar OBJECT IDENTIFIER ::= { l2tpObjects 1 } l2tpConfig OBJECT IDENTIFIER ::= { l2tpScalar 1 } l2tpStats OBJECT IDENTIFIER ::= { l2tpScalar 2 } -- -- The L2TP Scalar Configuration Group -- -- This group of objects is used to manage configuration -- of the L2TP environment. -- l2tpAdminState OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object defines the administrative state of the L2TP stack. Setting this object to 'disabled' causes all control connections to be immediately disconnected. After this point, no further control connections or session may be initiated or accepted. The value of this object must be maintained in non-volatile memory." ::= { l2tpConfig 1 } l2tpDrain OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Setting this object to 'true' prevents any new control connections and/or sessions from being initiated or accepted but does NOT disconnect any active control connections and/or sessions. The 'xxxIsDraining' status objects of the domains and their control connections are set to 'true'. The 'xxxCtrlDrain' configuration objects are unaffected, however. To cancel a drain, this object Lau and Klausberger Standards Track [Page 9] INTERNET DRAFT L2TPv3 MIB June 2002 is set to 'false'. The 'l2tpIsDraining' object reflects the current L2TP draining state. The value of this object must be maintained in non-volatile memory." ::= { l2tpConfig 2 } -- -- The L2TP Scalar Status and Statistics Group -- -- This group of objects describe the current state and -- statistics of the L2TP stack. -- l2tpStatsVersionTable OBJECT-TYPE SYNTAX SEQUENCE OF L2tpStatsVersionEntry STATUS current DESCRIPTION "This table contains objects that describe the capabilities of a given version of the L2TP stack. Each version has a row in this table." ::= { l2tpStats 1 } l2tpStatsVersionEntry OBJECT-TYPE SYNTAX L2tpStatsVersionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An L2TP version statistics entry. An entry in this table corresponds to a supported version of L2TP." INDEX { l2tpVersionNumber } ::= { l2tpStatsVersionTable 1 } L2tpStatsVersionEntry ::= SEQUENCE { l2tpVersionNumber Integer32, l2tpRevisionNumber Integer32, l2tpSupportedTransports OCTET STRING } l2tpVersionNumber OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object returns an L2TP version number supported by this L2TP stack." ::= { l2tpStatsVersionEntry 1 } l2tpRevisionNumber OBJECT-TYPE SYNTAX Integer32 (1..65535) Lau and Klausberger Standards Track [Page 10] INTERNET DRAFT L2TPv3 MIB June 2002 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the revision number of the L2TP version supported by this L2TP stack." ::= { l2tpStatsVersionEntry 2 } l2tpSupportedTransports OBJECT-TYPE SYNTAX OCTET STRING (SIZE(1..256)) STATUS current DESCRIPTION "Vector of supported transport types, as defined by the L2tpTransportType textual convention." ::= { l2tpStatsVersionEntry 3 } l2tpVendorName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object identifies the vendor name of the L2TP stack." ::= { l2tpStats 2 } l2tpFirmwareRev OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object identifies the firmware revision of the L2TP stack." ::= { l2tpStats 3 } l2tpIsDraining OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether the local L2TP peer is draining sessions from all control connections." ::= { l2tpStats 4 } -- -- The L2TP Control Domain Configuration Table -- l2tpCtrlDomainConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF L2tpCtrlDomainConfigEntry MAX-ACCESS not-accessible Lau and Klausberger Standards Track [Page 11] INTERNET DRAFT L2TPv3 MIB June 2002 STATUS current DESCRIPTION "This table contains objects that can be used to configure the operational characteristics of a control domain. There is a 1:1 correspondence between conceptual rows of this table and conceptual rows of the l2tpCtrlDomainStatsTable." ::= { l2tpObjects 2 } l2tpCtrlDomainConfigEntry OBJECT-TYPE SYNTAX L2tpCtrlDomainConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An L2TP control domain configuration entry. An entry in this table may correspond to a single endpoint or a group of LCCEs." INDEX { l2tpCtrlDomainConfigID } ::= { l2tpCtrlDomainConfigTable 1 } L2tpCtrlDomainConfigEntry ::= SEQUENCE { l2tpCtrlDomainConfigID SnmpAdminString, l2tpCtrlDomainConfigAdminState INTEGER, l2tpCtrlDomainConfigTransport L2tpTransportType, l2tpCtrlDomainConfigPWCapabilities OCTET STRING, l2tpCtrlDomainConfigFallback TruthValue, l2tpCtrlDomainConfigDrain TruthValue, l2tpCtrlDomainConfigAuth INTEGER, l2tpCtrlDomainConfigSecret SnmpAdminString, l2tpCtrlDomainConfigSecurity INTEGER, l2tpCtrlDomainConfigHelloInterval Integer32, l2tpCtrlDomainConfigRWS Integer32, l2tpCtrlDomainConfigSequencing TruthValue, l2tpCtrlDomainConfigMaxRetrans Integer32, l2tpCtrlDomainConfigMaxRetransTO Integer32, l2tpCtrlDomainConfigReassemblyTO L2tpMilliSeconds, l2tpCtrlDomainConfigIdleTO Integer32, l2tpCtrlDomainConfigStorageType StorageType, l2tpCtrlDomainConfigStatus RowStatus } l2tpCtrlDomainConfigID OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (1..80)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The identifier, usually in the form of a domain name Lau and Klausberger Standards Track [Page 12] INTERNET DRAFT L2TPv3 MIB June 2002 (full or partial), describing a single LCCE or a control domain. This identifier is typically used as a 'handle' to identify the control connection configuration requirements for both incoming and outgoing control connection attempts. Both the LAC and LNS could use information provided in the Host Name AVP. However, the control connection initiator could use other means not specified to identify the domain's control connection configuration requirements. For example, assume that three rows in this table have l2tpCtrlDomainConfigID values of 'lac1.isp.com', 'isp.com' and 'com'. An LCCE identifying itself as 'lac1.isp.com' would match the 'lac1.isp.com' entry. A second LCCE identifying itself as 'lac2.isp.com' would match the 'isp.com' entry." ::= { l2tpCtrlDomainConfigEntry 1 } l2tpCtrlDomainConfigAdminState OBJECT-TYPE SYNTAX INTEGER { enabled(1), disabled(2) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object defines the administrative state of this control domain. Setting this object to 'disabled' causes all control connections to be immediately disconnected, and no further control connections may be either initiated or accepted. Note that all columnar objects corresponding to this conceptual row cannot be modified when the administrative state is 'enabled' EXCEPT those objects which specifically state otherwise." DEFVAL { enabled } ::= { l2tpCtrlDomainConfigEntry 2 } l2tpCtrlDomainConfigTransport OBJECT-TYPE SYNTAX L2tpTransportType MAX-ACCESS read-write STATUS current DESCRIPTION "This object sets the transport type of this control domain entry. Note that all columnar objects corresponding to this conceptual row cannot be modified when the administrative state is 'enabled' EXCEPT those objects which specifically state otherwise." ::= { l2tpCtrlDomainConfigEntry 3 } Lau and Klausberger Standards Track [Page 13] INTERNET DRAFT L2TPv3 MIB June 2002 l2tpCtrlDomainConfigPWCapabilities OBJECT-TYPE SYNTAX OCTET STRING (SIZE(1..256)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object sets the pseudowire capabilities of this control connection entry. Each octet must be a value within the range specified by the L2tpPWType textual convention. Note that all columnar objects corresponding to this conceptual row cannot be modified when the administrative state is 'enabled' EXCEPT those objects which specifically state otherwise." ::= { l2tpCtrlDomainConfigEntry 4 } l2tpCtrlDomainConfigFallback OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates whether fallback to older versions of L2TP is enabled during control connection establishment. If set to 'true', fallback is enabled for the versions specified in the l2tpStatsVersionTable." ::= { l2tpCtrlDomainConfigEntry 5 } l2tpCtrlDomainConfigDrain OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Setting this object to 'true' prevents any new control connections and/or sessions from being initiated or accepted for this control domain, but does NOT disconnect any active control connections and/or sessions. The 'xxxStatsCtrlIsDraining' objects are set to 'true'. The 'xxxCtrlDrain' configuration objects of this domain's control connections are unaffected, however. To cancel a drain, this object is set to 'false'. Setting this object to 'false' has no effect when the l2tpDrain object is set to 'true'." DEFVAL { false } ::= { l2tpCtrlDomainConfigEntry 6 } l2tpCtrlDomainConfigAuth OBJECT-TYPE SYNTAX INTEGER { none(1), simple(2), Lau and Klausberger Standards Track [Page 14] INTERNET DRAFT L2TPv3 MIB June 2002 challenge(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object describes how a pair of LCCEs belonging to this control domain are to be authenticated. The value 'simple' indicates that peers are authenticated by their host name as described in the Host Name AVP. The value 'challenge' indicates that all peers are challenged to prove their identification." REFERENCE "L2TPv3 draft" DEFVAL { none } ::= { l2tpCtrlDomainConfigEntry 7 } l2tpCtrlDomainConfigSecret OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..255)) MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used to configure the shared secret used during the authentication phase of control connection establishment. This object MUST be accessible only via requests using both authentication and privacy. The agent MUST report an empty string in response to get, get-next, and get-bulk requests." ::= { l2tpCtrlDomainConfigEntry 8 } l2tpCtrlDomainConfigSecurity OBJECT-TYPE SYNTAX INTEGER { none(1), other(2), ipsec(3) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object specifies whether all control connections under this control domain are to be secured. The value of ipsec(3) indicates that all control packets have IPsec headers. The types of IPsec headers (e.g. AH, ESP, etc.) and their usage are outside the scope of this document." DEFVAL { none } ::= { l2tpCtrlDomainConfigEntry 9 } l2tpCtrlDomainConfigHelloInterval OBJECT-TYPE SYNTAX Integer32 (0..3600) Lau and Klausberger Standards Track [Page 15] INTERNET DRAFT L2TPv3 MIB June 2002 UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object defines the interval in which Hello (keepalive) packets are sent by control connections in this control domain. The value zero effectively disables the sending of Hello packets. This object may be modified when the administrative state is enabled for this conceptual row." DEFVAL { 60 } ::= { l2tpCtrlDomainConfigEntry 10 } l2tpCtrlDomainConfigRWS OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-create STATUS current DESCRIPTION "This object defines the control packet receive window size for a control connection belonging to this control domain. It specifies the maximum number of control packets an LCCE can send for a given control connection without waiting for an acknowledgement from the peer." DEFVAL { 4 } ::= { l2tpCtrlDomainConfigEntry 11 } l2tpCtrlDomainConfigSequencing OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object determines whether or not incoming data packets will be required to be sequenced when received from peers for L2TP sessions belonging to this control domain. If set to 'true', sequence numbers are expected in incoming data packets." DEFVAL { false } ::= { l2tpCtrlDomainConfigEntry 12 } l2tpCtrlDomainConfigMaxRetrans OBJECT-TYPE SYNTAX Integer32 (0..32) MAX-ACCESS read-create STATUS current DESCRIPTION "This object defines the maximum number of control packet retransmissions that the L2TP stack attempts for a control connection belonging to this control domain before assuming that the peer is no longer responding. Lau and Klausberger Standards Track [Page 16] INTERNET DRAFT L2TPv3 MIB June 2002 A value of zero indicates that this peer does not attempt to retransmit an unacknowledged control packet." DEFVAL { 5 } ::= { l2tpCtrlDomainConfigEntry 13 } l2tpCtrlDomainConfigMaxRetransTO OBJECT-TYPE SYNTAX Integer32 (1..32) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object defines the maximum retransmission timeout interval that a control connection belonging to this control domain waits before retransmitting an unacknowledged control packet." DEFVAL { 16 } ::= { l2tpCtrlDomainConfigEntry 14 } l2tpCtrlDomainConfigReassemblyTO OBJECT-TYPE SYNTAX L2tpMilliSeconds MAX-ACCESS read-create STATUS current DESCRIPTION "This object defines the number of milliseconds that a control connection in this control domain waits before processing payload packets that were received out of sequence (and that are being held for processing in sequence). A low value increases the chance of delayed packets being discarded, while a high value may cause more queueing and possibly degrade throughput if packets are truly lost. The default value for this object is zero, which means that delayed packets are considered lost, and received packets are processed in increasing order, despite any sequence number gaps." DEFVAL { 0 } ::= { l2tpCtrlDomainConfigEntry 15 } l2tpCtrlDomainConfigIdleTO OBJECT-TYPE SYNTAX Integer32 (-1..86400) UNITS "seconds" MAX-ACCESS read-create STATUS current DESCRIPTION "This object defines the period of time that an established control connection belonging to this control domain with no active sessions waits before disconnecting the control connection. A value of zero indicates that the control connection disconnects Lau and Klausberger Standards Track [Page 17] INTERNET DRAFT L2TPv3 MIB June 2002 immediately after the last session disconnects. A value of -1 leaves the control connection up indefinitely. This object may be modified when the administrative state is enabled for this conceptual row." DEFVAL { 0 } ::= { l2tpCtrlDomainConfigEntry 16 } l2tpCtrlDomainConfigStorageType OBJECT-TYPE SYNTAX StorageType MAX-ACCESS read-create STATUS current DESCRIPTION "The storage type for this conceptual row. Conceptual rows having the value 'permanent' must allow write- access at a minimum to (1) l2tpCtrlDomainConfigAdminState and l2tpCtrlDomainConfigDrain at all times, and (2) l2tpCtrlDomainConfigSecret if l2tpCtrlDomainConfigAuth has been configured as 'challenge'. It is an implementation issue to decide if a SET for a readOnly or permanent row is accepted at all. In some contexts, this allowance may make sense. If a SET for a readOnly or permanent row is refused, then a 'wrongValue' error must be returned." ::= { l2tpCtrlDomainConfigEntry 17 } l2tpCtrlDomainConfigStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this control domain entry. Columnar objects corresponding to this conceptual row may be modified according to their description clauses when this RowStatus object is 'active'." ::= { l2tpCtrlDomainConfigEntry 18 } -- -- The L2TP Domain Status and Statistics Table -- l2tpCtrlDomainStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF L2tpCtrlDomainStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains objects that can be used to describe the current status and statistics of a control domain. There is a 1:1 correspondence between conceptual rows of Lau and Klausberger Standards Track [Page 18] INTERNET DRAFT L2TPv3 MIB June 2002 this table and conceptual rows of the l2tpCtrlDomainConfigTable." ::= { l2tpObjects 3 } l2tpCtrlDomainStatsEntry OBJECT-TYPE SYNTAX L2tpCtrlDomainStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An L2TP domain statistics entry. An entry in this table may correspond to a single endpoint or a group of LCCEs." AUGMENTS { l2tpCtrlDomainConfigEntry } ::= { l2tpCtrlDomainStatsTable 1 } L2tpCtrlDomainStatsEntry ::= SEQUENCE { l2tpCtrlDomainStatsNumEstablished Counter32, l2tpCtrlDomainStatsNumFailed Counter32, l2tpCtrlDomainStatsNumFailedAuths Counter32, l2tpCtrlDomainStatsNumActive Gauge32, l2tpCtrlDomainStatsNumSessions Counter32, l2tpCtrlDomainStatsNumFailedSessions Counter32, l2tpCtrlDomainStatsNumActiveSessions Gauge32, l2tpCtrlDomainStatsIsDraining TruthValue, l2tpCtrlDomainStatsCtrlRxOctets Counter32, l2tpCtrlDomainStatsCtrlRxPkts Counter32, l2tpCtrlDomainStatsCtrlTxOctets Counter32, l2tpCtrlDomainStatsCtrlTxPkts Counter32, l2tpCtrlDomainStatsPayloadRxOctets Counter32, l2tpCtrlDomainStatsPayloadRxPkts Counter32, l2tpCtrlDomainStatsPayloadRxDrops Counter32, l2tpCtrlDomainStatsPayloadTxOctets Counter32, l2tpCtrlDomainStatsPayloadTxPkts Counter32, l2tpCtrlDomainStatsCtrlHCRxOctets Counter64, l2tpCtrlDomainStatsCtrlHCRxPkts Counter64, l2tpCtrlDomainStatsCtrlHCTxOctets Counter64, l2tpCtrlDomainStatsCtrlHCTxPkts Counter64, l2tpCtrlDomainStatsPayloadHCRxOctets Counter64, l2tpCtrlDomainStatsPayloadHCRxPkts Counter64, l2tpCtrlDomainStatsPayloadHCRxDrops Counter64, l2tpCtrlDomainStatsPayloadHCTxOctets Counter64, l2tpCtrlDomainStatsPayloadHCTxPkts Counter64 } l2tpCtrlDomainStatsNumEstabished OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only Lau and Klausberger Standards Track [Page 19] INTERNET DRAFT L2TPv3 MIB June 2002 STATUS current DESCRIPTION "This object returns the total number of control connections that have successfully reached the established state for this control connection domain." ::= { l2tpCtrlDomainStatsEntry 1 } l2tpCtrlDomainStatsNumFailed OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of control connection attempts that failed to reach the established state for this control domain (e.g. due to connection timeout, unsupported or malformed AVPs, etc.)." ::= { l2tpCtrlDomainStatsEntry 2 } l2tpCtrlDomainStatsNumFailedAuths OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of failed control connection attempts for this domain because the peer failed authentication." ::= { l2tpCtrlDomainStatsEntry 3 } l2tpCtrlDomainStatsNumActive OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of control connections that are currently active for this domain." ::= { l2tpCtrlDomainStatsEntry 4 } l2tpCtrlDomainStatsNumSessions OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the total number of sessions that have successfully reached the established state for this control domain." ::= { l2tpCtrlDomainStatsEntry 5 } l2tpCtrlDomainStatsNumFailedSessions OBJECT-TYPE Lau and Klausberger Standards Track [Page 20] INTERNET DRAFT L2TPv3 MIB June 2002 SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of sessions that have failed to reach the established state for this control domain (e.g. due to control connection timeout, unsupported or malformed AVPs, etc.)." ::= { l2tpCtrlDomainStatsEntry 6 } l2tpCtrlDomainStatsNumActiveSessions OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of sessions that are currently active for this domain." ::= { l2tpCtrlDomainStatsEntry 7 } l2tpCtrlDomainStatsIsDraining OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether this domain is draining sessions from its control connections." ::= { l2tpCtrlDomainStatsEntry 8 } l2tpCtrlDomainStatsCtrlRxOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of control octets that have been received for this control domain." ::= { l2tpCtrlDomainStatsEntry 9 } l2tpCtrlDomainStatsCtrlRxPkts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of control packets that have been received for this control domain." ::= { l2tpCtrlDomainStatsEntry 10 } l2tpCtrlDomainStatsCtrlTxOctets OBJECT-TYPE SYNTAX Counter32 Lau and Klausberger Standards Track [Page 21] INTERNET DRAFT L2TPv3 MIB June 2002 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of control octets that have been transmitted to peers for this control domain." ::= { l2tpCtrlDomainStatsEntry 11 } l2tpCtrlDomainStatsCtrlTxPkts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of control packets that have been transmitted to peers for this control domain." ::= { l2tpCtrlDomainStatsEntry 12 } l2tpCtrlDomainStatsPayloadRxOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of data octets that have been received by sessions under this control domain." ::= { l2tpCtrlDomainStatsEntry 13 } l2tpCtrlDomainStatsPayloadRxPkts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of data packets that have been received by sessions under this control domain." ::= { l2tpCtrlDomainStatsEntry 14 } l2tpCtrlDomainStatsPayloadRxDrops OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of received data packets that have been dropped by sessions under this control domain." ::= { l2tpCtrlDomainStatsEntry 15 } l2tpCtrlDomainStatsPayloadTxOctets OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current Lau and Klausberger Standards Track [Page 22] INTERNET DRAFT L2TPv3 MIB June 2002 DESCRIPTION "This object returns the number of data octets that have been transmitted by sessions under this control domain." ::= { l2tpCtrlDomainStatsEntry 16 } l2tpCtrlDomainStatsPayloadTxPkts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of data packets that have been transmitted by sessions under this control domain." ::= { l2tpCtrlDomainStatsEntry 17 } -- -- High-capacity counter objects. These objects are all 64-bit versions -- of the above 32-bit counters. They have the same basic semantics as -- their 32-bit counterparts. -- l2tpCtrlDomainStatsCtrlHCRxOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is a 64-bit version of l2tpCtrlDomainStatsCtrlRxOctets." ::= { l2tpCtrlDomainStatsEntry 18 } l2tpCtrlDomainStatsCtrlHCRxPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is a 64-bit version of l2tpCtrlDomainStatsCtrlRxPkts." ::= { l2tpCtrlDomainStatsEntry 19 } l2tpCtrlDomainStatsCtrlHCTxOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is a 64-bit version of l2tpCtrlDomainStatsCtrlTxOctets." ::= { l2tpCtrlDomainStatsEntry 20 } l2tpCtrlDomainStatsCtrlHCTxPkts OBJECT-TYPE SYNTAX Counter64 Lau and Klausberger Standards Track [Page 23] INTERNET DRAFT L2TPv3 MIB June 2002 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is a 64-bit version of l2tpCtrlDomainStatsCtrlTxPkts." ::= { l2tpCtrlDomainStatsEntry 21 } l2tpCtrlDomainStatsPayloadHCRxOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is a 64-bit version of l2tpCtrlDomainStatsPayloadRxOctets." ::= { l2tpCtrlDomainStatsEntry 22 } l2tpCtrlDomainStatsPayloadHCRxPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is a 64-bit version of l2tpCtrlDomainStatsPayloadRxPkts." ::= { l2tpCtrlDomainStatsEntry 23 } l2tpCtrlDomainStatsPayloadHCRxDrops OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is a 64-bit version of l2tpCtrlDomainStatsPayloadRxDrops." ::= { l2tpCtrlDomainStatsEntry 24 } l2tpCtrlDomainStatsPayloadHCTxOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "This object is a 64-bit version of l2tpCtrlDomainStatsPayloadTxOctets." ::= { l2tpCtrlDomainStatsEntry 25 } l2tpCtrlDomainStatsPayloadHCTxPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION Lau and Klausberger Standards Track [Page 24] INTERNET DRAFT L2TPv3 MIB June 2002 "This object is a 64-bit version of l2tpCtrlDomainStatsPayloadTxPkts." ::= { l2tpCtrlDomainStatsEntry 26 } -- -- The L2TP Control Connection Configuration Table -- l2tpCtrlConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF l2tpCtrlConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains objects that can be used to (re)configure the operational characteristics of a single L2TP control connection. There is a 1:1 correspondence between conceptual rows of this table and conceptual rows of the l2tpCtrlStatsTable. Entries in this table have the same persistency characteristics as that of the l2tpCtrlStatsTable." ::= { l2tpObjects 4 } l2tpCtrlConfigEntry OBJECT-TYPE SYNTAX l2tpCtrlConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An L2TP control connection configuration entry. Entries in this table are added and deleted as a result of protocol interactions or management operations. The latter occurs when a row is instantiated in the l2tpCtrlConfigTable row and the encapsulation method is 'l2tp'." INDEX { l2tpCtrlConfigIfIndex } ::= { l2tpCtrlConfigTable 1 } l2tpCtrlConfigEntry ::= SEQUENCE { l2tpCtrlConfigIfIndex InterfaceIndex, l2tpCtrlConfigDomainID SnmpAdminString, l2tpCtrlConfigTransport L2tpTransportType, l2tpCtrlConfigPWCapabilities OCTET STRING, l2tpCtrlConfigFallback TruthValue, l2tpCtrlConfigDrain TruthValue, l2tpCtrlConfigAuth INTEGER, l2tpCtrlConfigSecret SnmpAdminString, l2tpCtrlConfigSecurity INTEGER, l2tpCtrlConfigHelloInterval Integer32, l2tpCtrlConfigRWS Integer32, Lau and Klausberger Standards Track [Page 25] INTERNET DRAFT L2TPv3 MIB June 2002 l2tpCtrlConfigSequencing TruthValue, l2tpCtrlConfigMaxRetrans Integer32, l2tpCtrlConfigMaxRetransTO Integer32, l2tpCtrlConfigReassemblyTO L2tpMilliSeconds, l2tpCtrlConfigIdleTO Integer32 } l2tpCtrlConfigIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This value for this object is equal to the ifIndex value of the Interfaces Group MIB for an interface of type L2TP." ::= { l2tpCtrlConfigEntry 1 } l2tpCtrlConfigDomainID OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (1..80)) MAX-ACCESS read-write STATUS current DESCRIPTION "The control domain to which this control connection belongs. An LNS typically inherits this value from the endpoint domain table. An LAC may be provided with this information during control connection setup. When a zero-length string is returned, this control connection does not belong belong to any particular domain." ::= { l2tpCtrlConfigEntry 2 } l2tpCtrlConfigTransport OBJECT-TYPE SYNTAX L2tpTransportType MAX-ACCESS read-write STATUS current DESCRIPTION "This object identifies the transport type of this control connection entry. This object cannot be modified when the control connection is in a connecting or connected state." ::= { l2tpCtrlConfigEntry 3 } l2tpCtrlConfigPWCapabilities OBJECT-TYPE SYNTAX OCTET STRING (SIZE(1..256)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object identifies the pseudowire capabilities of this control connection entry. Each octet must be a Lau and Klausberger Standards Track [Page 26] INTERNET DRAFT L2TPv3 MIB June 2002 value within the range specified by the L2tpPWType textual convention." ::= { l2tpCtrlConfigEntry 4 } l2tpCtrlConfigFallback OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates whether fallback to older versions of L2TP is enabled during control connection establishment. If set to 'true', fallback is enabled for the versions specified in the l2tpStatsVersionTable." ::= { l2tpCtrlConfigEntry 5 } l2tpCtrlConfigDrain OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Setting this object to 'true' prevents any new sessions from being either initiated or accepted by this control connection, but does NOT disconnect any active sessions for this control connection. When the object is set, the l2tpCtrlStatsIsDraining status object of this control connection is set to 'true'. To cancel a drain, this object is set to 'false'. Setting this object to 'false' has no effect when the l2tpDrain object is 'true' or the l2tpCtrlDomainConfigDrain object for this control domain is 'true'." DEFVAL { false } ::= { l2tpCtrlConfigEntry 6 } l2tpCtrlConfigAuth OBJECT-TYPE SYNTAX INTEGER { none(1), simple(2), challenge(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object describes how a pair of LCCEs are to be authenticated. The value 'simple' indicates that peers are authenticated by their host name as described in the Host Name AVP. The value 'challenge' indicates that all peers are challenged to prove their identification. Lau and Klausberger Standards Track [Page 27] INTERNET DRAFT L2TPv3 MIB June 2002 This object cannot be modified when the control connection is in a connecting or connected state." DEFVAL { none } ::= { l2tpCtrlConfigEntry 7 } l2tpCtrlConfigSecret OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..255)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object is used to configure the shared secret used during the authentication phase of control connection establishment. This object cannot be modified when the control connection is in a connecting or connected state. This object MUST be accessible only via requests using both authentication and privacy. The agent MUST report an empty string in response to get, get-next, and get-bulk requests." ::= { l2tpCtrlConfigEntry 8 } l2tpCtrlConfigSecurity OBJECT-TYPE SYNTAX INTEGER { none(1), other(2), ipsec(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object defines whether this control connection is to be secured. The value of 'ipsec' indicates that all control packets have IPsec headers. The types of IPsec headers (e.g. AH, ESP, etc.) and their usage are outside the scope of this document. This object cannot be modified when the control connection is in a connecting or connected state." DEFVAL { none } ::= { l2tpCtrlConfigEntry 9 } l2tpCtrlConfigHelloInterval OBJECT-TYPE SYNTAX Integer32 (0..3600) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object defines the interval in which Hello (keepalive) packets are sent by a local peer. The value zero effectively disables the sending of Hello packets. Lau and Klausberger Standards Track [Page 28] INTERNET DRAFT L2TPv3 MIB June 2002 Modifications to this object have immediate effect." DEFVAL { 60 } ::= { l2tpCtrlConfigEntry 10 } l2tpCtrlConfigRWS OBJECT-TYPE SYNTAX Integer32 (1..65535) MAX-ACCESS read-write STATUS current DESCRIPTION "This object defines the control packet receive window size. It specifies the maximum number of control packets an LCCE can send for the control connection without waiting for an acknowledgement from the peer. This object cannot be modified when the control connection is in a connecting or connected state." DEFVAL { 4 } ::= { l2tpCtrlConfigEntry 11 } l2tpCtrlConfigSequencing OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "This object determines whether or not incoming data packets will be required to be sequenced when received from L2TP sessions negotiated by this control connection. If set to 'true', sequence numbers are expected in incoming data packets." DEFVAL { false } ::= { l2tpCtrlConfigEntry 12 } l2tpCtrlConfigMaxRetrans OBJECT-TYPE SYNTAX Integer32 (0..32) MAX-ACCESS read-write STATUS current DESCRIPTION "This object defines the number of control packet retransmissions that the L2TP stack attempts for this control connection before assuming that the peer is no longer responding. A value of zero indicates that this peer does not attempt to retransmit an unacknowledged control packet. Modifications to this object have immediate effect." DEFVAL { 5 } ::= { l2tpCtrlConfigEntry 13 } l2tpCtrlConfigMaxRetransTO OBJECT-TYPE SYNTAX Integer32 (1..32) Lau and Klausberger Standards Track [Page 29] INTERNET DRAFT L2TPv3 MIB June 2002 UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object defines the maximum retransmission timeout interval that the control connection waits before retransmitting an unacknowledged control packet. Modifications to this object have immediate effect." DEFVAL { 16 } ::= { l2tpCtrlConfigEntry 14 } l2tpCtrlConfigReassemblyTO OBJECT-TYPE SYNTAX L2tpMilliSeconds MAX-ACCESS read-write STATUS current DESCRIPTION "This object defines the number of milliseconds that this control connection waits before processing payload packets that were received out of sequence (and that are being held for processing in sequence). A low value increases the chance of delayed packets being discarded, while a high value may cause more queueing and possibly degrade throughput if packets are truly lost. The default value for this object is zero, which means that delayed packets are considered lost, and received packets are processed in increasing order, despite any sequence number gaps." DEFVAL { 0 } ::= { l2tpCtrlConfigEntry 15 } l2tpCtrlConfigIdleTO OBJECT-TYPE SYNTAX Integer32 (-1..86400) UNITS "seconds" MAX-ACCESS read-write STATUS current DESCRIPTION "This object defines the period of time that an established control connection with no sessions waits before disconnecting the control connection. A value of zero indicates that the control connection disconnects immediately after the last session disconnects. A value of -1 leaves the control connection up indefinitely. Modifications to this object have immediate effect." DEFVAL { 0 } ::= { l2tpCtrlConfigEntry 16 } -- Lau and Klausberger Standards Track [Page 30] INTERNET DRAFT L2TPv3 MIB June 2002 -- The L2TP Control Connection Status and Statistics Table -- l2tpCtrlStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF l2tpCtrlStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains objects that can be used to describe the current status and statistics of a single L2TP control connection. There is a 1:1 correspondence between conceptual rows of this table and conceptual rows of the l2tpCtrlConfigTable." ::= { l2tpObjects 5 } l2tpCtrlStatsEntry OBJECT-TYPE SYNTAX l2tpCtrlStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An L2TP control connection interface statistics entry." AUGMENTS { l2tpCtrlConfigEntry } ::= { l2tpCtrlStatsTable 1 } l2tpCtrlStatsEntry ::= SEQUENCE { l2tpCtrlStatsLocalID Unsigned32, l2tpCtrlStatsRemoteID Unsigned32, l2tpCtrlStatsState INTEGER, l2tpCtrlStatsInitiated INTEGER, l2tpCtrlStatsRemoteHostName SnmpAdminString, l2tpCtrlStatsRemoteVendorName SnmpAdminString, l2tpCtrlStatsRemoteFirmwareRev Integer32, l2tpCtrlStatsRemoteProtocolVer OCTET STRING, l2tpCtrlStatsInitialRemoteRWS Integer32, l2tpCtrlStatsCtrlRxPkts Counter32, l2tpCtrlStatsCtrlRxZLB Counter32, l2tpCtrlStatsCtrlOutOfSeq Counter32, l2tpCtrlStatsCtrlOutOfWin Counter32, l2tpCtrlStatsCtrlTxPkts Counter32, l2tpCtrlStatsCtrlTxZLB Counter32, l2tpCtrlStatsCtrlAckTO Counter32, l2tpCtrlStatsCurrentRemoteRWS Gauge32, l2tpCtrlStatsTxSeq Integer32, l2tpCtrlStatsRxSeq Integer32, l2tpCtrlStatsNumTotalSessions Counter32, l2tpCtrlStatsNumFailedSessions Counter32, l2tpCtrlStatsNumActiveSessions Gauge32, l2tpCtrlStatsLastResultCode Integer32, Lau and Klausberger Standards Track [Page 31] INTERNET DRAFT L2TPv3 MIB June 2002 l2tpCtrlStatsLastErrorCode Integer32, l2tpCtrlStatsLastErrorMessage SnmpAdminString, l2tpCtrlStatsIsDraining TruthValue } l2tpCtrlStatsLocalID OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the local control connection ID." REFERENCE "L2TPv3 draft" ::= { l2tpCtrlStatsEntry 1 } l2tpCtrlStatsRemoteID OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the remote control connection ID." REFERENCE "L2TPv3 draft" ::= { l2tpCtrlStatsEntry 2 } l2tpCtrlStatsState OBJECT-TYPE SYNTAX INTEGER { ctrlIdle(1), ctrlConnecting(2), ctrlEstablished(3), ctrlDisconnecting(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "This field contains the current state of the control connection." ::= { l2tpCtrlStatsEntry 3 } l2tpCtrlStatsInitiated OBJECT-TYPE SYNTAX INTEGER { locally(1), remotely(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether the control connection was initiated locally or remotely." ::= { l2tpCtrlStatsEntry 4 } Lau and Klausberger Standards Track [Page 32] INTERNET DRAFT L2TPv3 MIB June 2002 l2tpCtrlStatsRemoteHostName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the peer's host name as discovered during the control connection establishment (via the Host Name AVP). If the control connection is idle, this object should maintain its value from the last time it was connected." ::= { l2tpCtrlStatsEntry 5 } l2tpCtrlStatsRemoteVendorName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object identifies the vendor name of the peer. If the control connection is idle, this object should maintain its value from the last time it was connected." ::= { l2tpCtrlStatsEntry 6 } l2tpCtrlStatsRemoteFirmwareRev OBJECT-TYPE SYNTAX Integer32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the peer implementation's firmware revision number. If the control connection is idle, this object should maintain its value from the last time it was connected." ::= { l2tpCtrlStatsEntry 7 } l2tpCtrlStatsRemoteProtocolVer OBJECT-TYPE SYNTAX OCTET STRING (SIZE(2)) MAX-ACCESS read-only STATUS current DESCRIPTION "This object describes the peer implementation's protocol version number and revision number. The first octet contains the protocol version number. The second octet contains the protocol revision number." ::= { l2tpCtrlStatsEntry 8 } l2tpCtrlStatsInitialRemoteRWS OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current Lau and Klausberger Standards Track [Page 33] INTERNET DRAFT L2TPv3 MIB June 2002 DESCRIPTION "This object contains the peer's receive window size as conveyed during control connection establishment (via the Remote Window Size AVP). If the control connection is idle, this object should maintain its value from the last time it was connected." ::= { l2tpCtrlStatsEntry 9 } l2tpCtrlStatsCtrlRxPkts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of control packets that have been received on the control connection." ::= { l2tpCtrlStatsEntry 10 } l2tpCtrlStatsCtrlRxZLB OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of Zero-Length-Body (acknowledgement) control packets that have been received on the control connection." ::= { l2tpCtrlStatsEntry 11 } l2tpCtrlStatsCtrlOutOfSeq OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of control packets that have been received out of order (per the sequence numbers) on this control connection, including out of window packets." ::= { l2tpCtrlStatsEntry 12 } l2tpCtrlStatsCtrlOutOfWin OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the number of control packets that have been received outside of the offered receive window for the control connection. Whether these packets are queued or discarded is implementation-specific." ::= { l2tpCtrlStatsEntry 13 } Lau and Klausberger Standards Track [Page 34] INTERNET DRAFT L2TPv3 MIB June 2002 l2tpCtrlStatsCtrlTxPkts OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the number of control packets that have been transmitted to the peer for this control connection." ::= { l2tpCtrlStatsEntry 14 } l2tpCtrlStatsCtrlTxZLB OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the number of Zero-Length-Body (acknowledgement) control packets that have been transmitted to the peer for this control connection." ::= { l2tpCtrlStatsEntry 15 } l2tpCtrlStatsCtrlAckTO OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of control packet timeouts due to late acknowledgements from the peer for this control connection." ::= { l2tpCtrlStatsEntry 16 } l2tpCtrlStatsCurrentRemoteRWS OBJECT-TYPE SYNTAX Gauge32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the current remote receive window size as determined by the local flow control mechanism employed." ::= { l2tpCtrlStatsEntry 17 } l2tpCtrlStatsTxSeq OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next send (Ns) sequence number for the control connection." ::= { l2tpCtrlStatsEntry 18 } Lau and Klausberger Standards Track [Page 35] INTERNET DRAFT L2TPv3 MIB June 2002 l2tpCtrlStatsRxSeq OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next receive (Nr) sequence number for the control connection." ::= { l2tpCtrlStatsEntry 19 } l2tpCtrlStatsNumTotalSessions OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the total number of sessions that this control connection has successfully established since this control connection was established." ::= { l2tpCtrlStatsEntry 20 } l2tpCtrlStatsNumFailedSessions OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the total number of sessions that were initiated but failed to be established." ::= { l2tpCtrlStatsEntry 21 } l2tpCtrlStatsNumActiveSessions OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the total number of sessions in the established state for this control connection." ::= { l2tpCtrlStatsEntry 22 } l2tpCtrlStatsLastResultCode OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the last result code as conveyed by the Result Code AVP that caused the control connection to disconnect." ::= { l2tpCtrlStatsEntry 23 } l2tpCtrlStatsLastErrorCode OBJECT-TYPE Lau and Klausberger Standards Track [Page 36] INTERNET DRAFT L2TPv3 MIB June 2002 SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the last error code as conveyed by the Result Code AVP that caused the control connection to disconnect." ::= { l2tpCtrlStatsEntry 24 } l2tpCtrlStatsLastErrorMessage OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the last optional message as conveyed by the Result Code AVP that caused the control connection to disconnect." ::= { l2tpCtrlStatsEntry 25 } l2tpCtrlStatsIsDraining OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether this control connection is draining sessions. This object returns 'false' when the control connection is not draining sessions or after the last session has disconnected when the control connection is in the draining state." ::= { l2tpCtrlStatsEntry 26 } -- -- The L2TP Session Configuration Table -- l2tpSessionConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF L2tpSessionConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains objects that can be used to (re)configure the operational characteristics of a single L2TP session. There is a 1:1 correspondence between conceptual rows of this table and conceptual rows of the l2tpSessionStatsTable. Entries in this table have the same persistency characteristics as that of the l2tpSessionStatsTable." ::= { l2tpObjects 6 } Lau and Klausberger Standards Track [Page 37] INTERNET DRAFT L2TPv3 MIB June 2002 l2tpSessionConfigEntry OBJECT-TYPE SYNTAX L2tpSessionConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An L2TP session configuration entry. Entries in this table are added and deleted as a result of protocol interactions or management operations." INDEX { l2tpSessionConfigCtrlIfIndex, l2tpSessionConfigLocalID } ::= { l2tpSessionConfigTable 1 } L2tpSessionConfigEntry ::= SEQUENCE { l2tpSessionConfigCtrlIfIndex InterfaceIndex, l2tpSessionConfigIfIndex InterfaceIndex, l2tpSessionConfigManual TruthValue, l2tpSessionConfigLocalID Unsigned32, l2tpSessionConfigRemoteID Unsigned32, l2tpSessionConfigEndIdentifier DisplayString, l2tpSessionConfigLocalCookie DisplayString, l2tpSessionConfigRemoteCookie DisplayString, l2tpSessionConfigCallType INTEGER, l2tpSessionConfigSequencing INTEGER } l2tpSessionConfigCtrlIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object identifies the ifIndex value of the session's associated L2TP control connection. Note that this object is set even for a manual session (i.e. no control connection exists). It may reference a 'dummy' control connection interface to which all manual sessions point. If the manual session uses a control connection for keepalive support only, this object may reference a valid control connection interface." ::= { l2tpSessionConfigEntry 1 } l2tpSessionConfigIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-write STATUS current DESCRIPTION "This object identifies the ifIndex value of the interface from which L2 frames are being forwarded. For Lau and Klausberger Standards Track [Page 38] INTERNET DRAFT L2TPv3 MIB June 2002 example, the ifIndex could be a DS0 on an LAC or a virtual PPP interface on an LNS." ::= { l2tpSessionConfigEntry 2 } l2tpSessionConfigManual OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "Setting this object to 'true' indicates that the session is manually configured (i.e. uses no control connection for session establishment). Setting this object to 'false' indicates that the session should be negotiated by the specified control connection." ::= { l2tpSessionConfigEntry 3 } l2tpSessionConfigLocalID OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object sets the local session ID (i.e. for a manual session)." REFERENCE "L2TPv3 draft" ::= { l2tpSessionConfigEntry 4 } l2tpSessionConfigRemoteID OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "This object sets the remote session ID (i.e. for a manual session)." REFERENCE "L2TPv3 draft" ::= { l2tpSessionConfigEntry 5 } l2tpSessionConfigEndIdentifier OBJECT-TYPE SYNTAX DisplayString (SIZE(0..255)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object sets the end identifier that is sent to the peer via the End Identifier AVP. The end identifier contains interface, circuit, and other information, depending on the circuit that is being tunneled. For example, the field may be a simple 4-octet binary value, or an ASCII string." REFERENCE "L2TPv3 draft" Lau and Klausberger Standards Track [Page 39] INTERNET DRAFT L2TPv3 MIB June 2002 ::= { l2tpSessionConfigEntry 6 } l2tpSessionConfigLocalCookie OBJECT-TYPE SYNTAX DisplayString (SIZE(0..8)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object sets the local cookie that is included in outgoing data packets. For a negotiated session, this value is passed to the peer via the Assigned Cookie AVP." REFERENCE "L2TPv3 draft" ::= { l2tpSessionConfigEntry 7 } l2tpSessionConfigRemoteCookie OBJECT-TYPE SYNTAX DisplayString (SIZE(0..8)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object sets the remote cookie that is expected in incoming data packets. For manual sessions only." REFERENCE "L2TPv3 draft" ::= { l2tpSessionConfigEntry 8 } l2tpSessionConfigCallType OBJECT-TYPE SYNTAX INTEGER { lacInitiator(1), lacResponder(2), lnsInitiator(3), lnsResponder(4) } MAX-ACCESS read-write STATUS current DESCRIPTION "This object indicates the the role this LCCE is playing for this session. For example, "lacInitiator" indicates that this control connection peer is acting as an LAC and generated an call request (ICRQ or OCRQ) to its peer." ::= { l2tpSessionConfigEntry 9 } l2tpSessionConfigSequencing OBJECT-TYPE SYNTAX INTEGER { transmit(1), receive(2), both(3) } MAX-ACCESS read-write Lau and Klausberger Standards Track [Page 40] INTERNET DRAFT L2TPv3 MIB June 2002 STATUS current DESCRIPTION "This object indicates the required level of sequencing for this L2TP session. A value of 'transmit' indicates that outgoing data packets must be sequenced. (For a negotiated session, a Data Sequencing Required AVP is expected from the peer.) A value of 'receive' indicates that incoming data pcakets must be sequenced. (For a negotiated, a Data Sequencing Required AVP is sent to the peer.)" ::= { l2tpSessionConfigEntry 10 } -- -- The L2TP Session Status and Statistics Table -- l2tpSessionStatsTable OBJECT-TYPE SYNTAX SEQUENCE OF L2tpSessionStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains the objects that can be used to describe the current status and statistics of a single L2TP session." ::= { l2tpObjects 7 } l2tpSessionStatsEntry OBJECT-TYPE SYNTAX L2tpSessionStatsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An L2TP session interface statistics entry." AUGMENTS { l2tpSessionConfigEntry } ::= { l2tpSessionStatsTable 1 } L2tpSessionStatsEntry ::= SEQUENCE { l2tpSessionStatsState INTEGER, l2tpSessionStatsCallSerialNumber Unsigned32, l2tpSessionStatsTxConnectSpeed Unsigned32, l2tpSessionStatsRxConnectSpeed Unsigned32, l2tpSessionStatsPhysicalChannelID Unsigned32, l2tpSessionStatsPrivateGroupID SnmpAdminString, l2tpSessionStatsOutSequence Counter32, l2tpSessionStatsReassemblyTO Counter32, l2tpSessionStatsTxSeq Integer32, l2tpSessionStatsRxSeq Integer32 } Lau and Klausberger Standards Track [Page 41] INTERNET DRAFT L2TPv3 MIB June 2002 l2tpSessionStatsState OBJECT-TYPE SYNTAX INTEGER { sessionIdle(1), sessionConnecting(2), sessionEstablished(3), sessionDisconnecting(4) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the current state of the session." ::= { l2tpSessionStatsEntry 1 } l2tpSessionStatsCallSerialNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the serial number that has been assigned to this session." ::= { l2tpSessionStatsEntry 2 } l2tpSessionStatsTxConnectSpeed OBJECT-TYPE SYNTAX Unsigned32 UNITS "bits per second" MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the last known transmit baud rate for this session." ::= { l2tpSessionStatsEntry 3 } l2tpSessionStatsRxConnectSpeed OBJECT-TYPE SYNTAX Unsigned32 UNITS "bits per second" MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the last known receive baud rate for this session." ::= { l2tpSessionStatsEntry 4 } l2tpSessionStatsPhysicalChannelID OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the physical channel identifier for Lau and Klausberger Standards Track [Page 42] INTERNET DRAFT L2TPv3 MIB June 2002 the session." ::= { l2tpSessionStatsEntry 5 } l2tpSessionStatsPrivateGroupID OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This object identifies the private group ID used for this L2TP session. If no private group ID was provided, then a null string will be returned." ::= { l2tpSessionStatsEntry 6 } l2tpSessionStatsOutSequence OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the total number of packets received out of sequence for this session." ::= { l2tpSessionStatsEntry 7 } l2tpSessionStatsReassemblyTO OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object returns the number of reassembly timeouts that have occurred for this session." ::= { l2tpSessionStatsEntry 8 } l2tpSessionStatsTxSeq OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next send (Ns) sequence number for this session." ::= { l2tpSessionStatsEntry 9 } l2tpSessionStatsRxSeq OBJECT-TYPE SYNTAX Integer32 (0..65535) MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the next receive (Nr) sequence number for this session." ::= { l2tpSessionStatsEntry 10 } Lau and Klausberger Standards Track [Page 43] INTERNET DRAFT L2TPv3 MIB June 2002 -- -- The L2TP Control Connection Mapping Table -- l2tpCtrlMapTable OBJECT-TYPE SYNTAX SEQUENCE OF l2tpCtrlMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is intended to assist management applications to quickly determine the ifIndex value for a given local control connection ID." ::= { l2tpObjects 8 } l2tpCtrlMapEntry OBJECT-TYPE SYNTAX l2tpCtrlMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An L2TP control connection index map entry." INDEX { l2tpCtrlMapLocalID } ::= { l2tpCtrlMapTable 1 } l2tpCtrlMapEntry ::= SEQUENCE { l2tpCtrlMapLocalID Unsigned32, l2tpCtrlMapIfIndex InterfaceIndex } l2tpCtrlMapLocalID OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object contains the local control connection ID." REFERENCE "L2TPv3 draft" ::= { l2tpCtrlMapEntry 1 } l2tpCtrlMapIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the ifIndex value of a control connection interface, represented in the Interfaces Group MIB as an entry with an interface type of L2TP." ::= { l2tpCtrlMapEntry 2 } -- Lau and Klausberger Standards Track [Page 44] INTERNET DRAFT L2TPv3 MIB June 2002 -- The L2TP Session Mapping Table -- l2tpSessionMapTable OBJECT-TYPE SYNTAX SEQUENCE OF L2tpSessionMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table is intended to assist management applications to map interfaces to control connection and session IDs." ::= { l2tpObjects 9 } l2tpSessionMapEntry OBJECT-TYPE SYNTAX L2tpSessionMapEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An L2TP session index map entry." INDEX { l2tpSessionMapIfIndex } ::= { l2tpSessionMapTable 1 } L2tpSessionMapEntry ::= SEQUENCE { l2tpSessionMapIfIndex InterfaceIndex, l2tpSessionMapCtrlIfIndex InterfaceIndex, l2tpSessionMapLocalID Unsigned32, l2tpSessionMapStatus RowStatus } l2tpSessionMapIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object identifies the ifIndex value of the interface being forwarded via an L2TP session. For example, the interface could be an Ethernet interface on an LAC or a virtual PPP interface on the LNS." ::= { l2tpSessionMapEntry 1 } l2tpSessionMapCtrlIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS read-create STATUS current DESCRIPTION "This object identifies the session's control connection by providing the control connection interface's ifIndex value. The object establishes a binding between a Lau and Klausberger Standards Track [Page 45] INTERNET DRAFT L2TPv3 MIB June 2002 particular interface identified by l2tpSessionMapIfIndex to a particular control connection." ::= { l2tpSessionMapEntry 2 } l2tpSessionMapLocalID OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object contains the local session ID for this session." REFERENCE "L2TPv3 draft" ::= { l2tpSessionMapEntry 3 } l2tpSessionMapStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this session map entry." ::= { l2tpSessionMapEntry 4 } -- -- Definition of generic L2TP notifications -- l2tpCtrlAuthFailure NOTIFICATION-TYPE OBJECTS { l2tpCtrlStatsInitiated, l2tpCtrlStatsRemoteHostName } STATUS current DESCRIPTION "This trap signifies that an attempt to establish a control connection to a remote peer has failed authentication." ::= { l2tpNotifications 1 } -- -- Conformance information -- l2tpGroups OBJECT IDENTIFIER ::= { l2tpConformance 1 } l2tpCompliances OBJECT IDENTIFIER ::= { l2tpConformance 2 } -- -- Compliance statements -- l2tpMIBFullCompliance MODULE-COMPLIANCE STATUS current Lau and Klausberger Standards Track [Page 46] INTERNET DRAFT L2TPv3 MIB June 2002 DESCRIPTION "An implementation claims full compliance when this MIB is implemented with support for read-create and read- write operations, thereby allowing configuration and monitoring, respectively." MODULE -- this module -- unconditionally mandatory groups MANDATORY-GROUPS { l2tpConfigGroup, l2tpStatsGroup, l2tpTrapGroup } -- optional groups GROUP l2tpCtrlDomainGroup DESCRIPTION "This group is optional for L2TP devices that group control connection endpoints into control domains." -- optional Mapping Group GROUP l2tpMappingGroup DESCRIPTION "This group is optional for L2TP devices that provide index mapping." -- optional Security Group GROUP l2tpSecurityGroup DESCRIPTION "This group is optional for SNMP agents that support both authentication and privacy of SNMP messages for the management of L2TP keys." -- optional High Capacity Group GROUP l2tpHCPacketGroup DESCRIPTION "This group is mandatory for implementations that support the l2tpCtrlDomainGroup AND could potentially overflow the control domain's 32-bit counters in less than one hour." ::= { l2tpCompliances 1 } l2tpMIBReadOnlyCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "An implementation claims read-only compliance when this Lau and Klausberger Standards Track [Page 47] INTERNET DRAFT L2TPv3 MIB June 2002 MIB is implemented without support for read-create and read-write operations (i.e. operates in read-only mode), thereby allowing monitoring but not configuration." MODULE -- this module -- unconditionally mandatory groups MANDATORY-GROUPS { l2tpConfigGroup, l2tpStatsGroup, l2tpTrapGroup } OBJECT l2tpAdminState MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpDrain MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlConfigDomainID MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlConfigHelloInterval MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlConfigIdleTimeout MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlConfigRWS MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlConfigMaxRetrans MIN-ACCESS read-only DESCRIPTION "Write access is not required." Lau and Klausberger Standards Track [Page 48] INTERNET DRAFT L2TPv3 MIB June 2002 OBJECT l2tpCtrlConfigMaxRetransTO MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlConfigPayloadSeq MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlConfigReassemblyTO MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlConfigTransport MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlConfigDrain MIN-ACCESS read-only DESCRIPTION "Write access is not required." -- optional groups GROUP l2tpCtrlDomainGroup DESCRIPTION "This group is optional for L2TP devices that group control connection endpoints into control domains." OBJECT l2tpCtrlDomainConfigAdminState MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlDomainConfigDrain MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlDomainConfigHelloInterval MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlDomainConfigIdleTO MIN-ACCESS read-only Lau and Klausberger Standards Track [Page 49] INTERNET DRAFT L2TPv3 MIB June 2002 DESCRIPTION "Write access is not required." OBJECT l2tpCtrlDomainConfigRWS MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlDomainConfigMaxRetrans MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlDomainConfigMaxRetransTO MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlDomainConfigPayloadSeq MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlDomainConfigReassemblyTO MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlDomainConfigStorageType MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlDomainConfigStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." -- optional Mapping Group GROUP l2tpMappingGroup DESCRIPTION "This group is optional for L2TP devices that provide index mapping." OBJECT l2tpSessionMapCtrlIfIndex MIN-ACCESS read-only DESCRIPTION Lau and Klausberger Standards Track [Page 50] INTERNET DRAFT L2TPv3 MIB June 2002 "Write access is not required." OBJECT l2tpSessionMapStatus MIN-ACCESS read-only DESCRIPTION "Write access is not required." -- optional Security Group GROUP l2tpSecurityGroup DESCRIPTION "This group is optional for SNMP agents that support both authentication and privacy of SNMP messages for the management of L2TP keys." OBJECT l2tpCtrlDomainConfigAuth MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlDomainConfigSecret MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlDomainConfigSecurity MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlConfigAuth MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlConfigSecret MIN-ACCESS read-only DESCRIPTION "Write access is not required." OBJECT l2tpCtrlConfigSecurity MIN-ACCESS read-only DESCRIPTION "Write access is not required." -- optional High Capacity Group GROUP l2tpHCPacketGroup DESCRIPTION "This group is mandatory for implementations that support Lau and Klausberger Standards Track [Page 51] INTERNET DRAFT L2TPv3 MIB June 2002 the l2tpCtrlDomainGroup AND could potentially overflow the control domain's 32-bit counters in less than one hour." ::= { l2tpCompliances 2 } -- -- Units of conformance -- l2tpConfigGroup OBJECT-GROUP OBJECTS { l2tpAdminState, l2tpDrain, l2tpCtrlConfigDomainID, l2tpCtrlConfigTransport, l2tpCtrlConfigPWCapabilities, l2tpCtrlConfigFallback, l2tpCtrlConfigDrain, l2tpCtrlConfigHelloInterval, l2tpCtrlConfigRWS, l2tpCtrlConfigSequencing, l2tpCtrlConfigMaxRetrans, l2tpCtrlConfigMaxRetransTO, l2tpCtrlConfigReassemblyTO, l2tpCtrlConfigIdleTO } STATUS current DESCRIPTION "A collection of objects providing configuration information of the L2TP stack, its control connections, and its sessions." ::= { l2tpGroups 1 } l2tpStatsGroup OBJECT-GROUP OBJECTS { l2tpProtocolVersions, l2tpVendorName, l2tpFirmwareRev, l2tpIsDraining, l2tpCtrlStatsLocalID, l2tpCtrlStatsRemoteID, l2tpCtrlStatsState, l2tpCtrlStatsInitiated, l2tpCtrlStatsRemoteHostName, l2tpCtrlStatsRemoteVendorName, l2tpCtrlStatsRemoteFirmwareRev, l2tpCtrlStatsRemoteProtocolVer, l2tpCtrlStatsInitialRemoteRWS, l2tpCtrlStatsCtrlRxPkts, Lau and Klausberger Standards Track [Page 52] INTERNET DRAFT L2TPv3 MIB June 2002 l2tpCtrlStatsCtrlRxZLB, l2tpCtrlStatsCtrlOutOfSeq, l2tpCtrlStatsCtrlOutOfWin, l2tpCtrlStatsCtrlTxPkts, l2tpCtrlStatsCtrlTxZLB, l2tpCtrlStatsCtrlAckTO, l2tpCtrlStatsCurrentRemoteRWS, l2tpCtrlStatsTxSeq, l2tpCtrlStatsRxSeq, l2tpCtrlStatsNumTotalSessions, l2tpCtrlStatsNumFailedSessions, l2tpCtrlStatsNumActiveSessions, l2tpCtrlStatsLastResultCode, l2tpCtrlStatsLastErrorCode, l2tpCtrlStatsLastErrorMessage, l2tpCtrlStatsIsDraining, l2tpSessionConfigIfIndex, l2tpSessionConfigManual, l2tpSessionConfigLocalID, l2tpSessionConfigRemoteID, l2tpSessionConfigEndIdentifier, l2tpSessionConfigLocalCookie, l2tpSessionConfigRemoteCookie, l2tpSessionConfigCallType, l2tpSessionConfigSequencing, l2tpSessionStatsState, l2tpSessionStatsCallSerialNumber, l2tpSessionStatsTxConnectSpeed, l2tpSessionStatsRxConnectSpeed, l2tpSessionStatsPhysicalChannelID, l2tpSessionStatsPrivateGroupID, l2tpSessionStatsOutSequence, l2tpSessionStatsReassemblyTO, l2tpSessionStatsTxSeq, l2tpSessionStatsRxSeq } STATUS current DESCRIPTION "A collection of objects providing status and statistics of the L2TP stack, its control connections, and its sessions." ::= { l2tpGroups 2 } l2tpCtrlDomainGroup OBJECT-GROUP OBJECTS { l2tpCtrlDomainConfigAdminState, l2tpCtrlDomainConfigTransport, l2tpCtrlDomainConfigPWCapabilities, Lau and Klausberger Standards Track [Page 53] INTERNET DRAFT L2TPv3 MIB June 2002 l2tpCtrlDomainConfigFallback, l2tpCtrlDomainConfigDrain, l2tpCtrlDomainConfigHelloInterval, l2tpCtrlDomainConfigRWS, l2tpCtrlDomainConfigSequencing, l2tpCtrlDomainConfigMaxRetrans, l2tpCtrlDomainConfigMaxRetransTO, l2tpCtrlDomainConfigReassemblyTO, l2tpCtrlDomainConfigIdleTO, l2tpCtrlDomainConfigStorageType, l2tpCtrlDomainConfigStatus, l2tpCtrlDomainStatsNumEstablished, l2tpCtrlDomainStatsNumFailed, l2tpCtrlDomainStatsNumFailedAuths, l2tpCtrlDomainStatsNumActive, l2tpCtrlDomainStatsNumSessions, l2tpCtrlDomainStatsNumFailedSessions, l2tpCtrlDomainStatsNumActiveSessions, l2tpCtrlDomainStatsIsDraining, l2tpCtrlDomainStatsCtrlRxOctets, l2tpCtrlDomainStatsCtrlRxPkts, l2tpCtrlDomainStatsCtrlTxOctets, l2tpCtrlDomainStatsCtrlTxPkts, l2tpCtrlDomainStatsPayloadRxOctets, l2tpCtrlDomainStatsPayloadRxPkts, l2tpCtrlDomainStatsPayloadRxDrops, l2tpCtrlDomainStatsPayloadTxOctets, l2tpCtrlDomainStatsPayloadTxPkts } STATUS current DESCRIPTION "A collection of objects providing configuration, status, and statistics of L2TP control domains." ::= { l2tpGroups 3 } l2tpMappingGroup OBJECT-GROUP OBJECTS { l2tpCtrlMapIfIndex, l2tpSessionMapCtrlIfIndex, l2tpSessionMapLocalID, l2tpSessionMapStatus } STATUS current DESCRIPTION "A collection of objects providing index mapping." ::= { l2tpGroups 4 } l2tpSecurityGroup OBJECT-GROUP Lau and Klausberger Standards Track [Page 54] INTERNET DRAFT L2TPv3 MIB June 2002 OBJECTS { l2tpCtrlDomainConfigAuth, l2tpCtrlDomainConfigSecret, l2tpCtrlDomainConfigSecurity, l2tpCtrlConfigAuth, l2tpCtrlConfigSecret, l2tpCtrlConfigSecurity } STATUS current DESCRIPTION "A collection of objects providing L2TP security configuration." ::= { l2tpGroups 5 } l2tpTrapGroup NOTIFICATION-GROUP NOTIFICATIONS { l2tpCtrlAuthFailure } STATUS current DESCRIPTION "A collection of L2TP trap events as specified in NOTIFICATION-TYPE constructs." ::= { l2tpGroups 6 } l2tpHCPacketGroup OBJECT-GROUP OBJECTS { l2tpCtrlDomainStatsCtrlHCRxOctets, l2tpCtrlDomainStatsCtrlHCRxPkts, l2tpCtrlDomainStatsCtrlHCTxOctets, l2tpCtrlDomainStatsCtrlHCTxPkts, l2tpCtrlDomainStatsPayloadHCRxOctets, l2tpCtrlDomainStatsPayloadHCRxPkts, l2tpCtrlDomainStatsPayloadHCRxDrops, l2tpCtrlDomainStatsPayloadHCTxOctets, l2tpCtrlDomainStatsPayloadHCTxPkts } STATUS current DESCRIPTION "A collection of objects providing high-capacity 64-bit counter objects." ::= { l2tpGroups 7 } END 5. References Lau and Klausberger Standards Track [Page 55] INTERNET DRAFT L2TPv3 MIB June 2002 [L2TP-BASE] Townsley, et. al. "Layer Two Tunneling Protocol (Version 3) 'L2TPv3'", , October 2001. [L2TP-MIB] Caves, E., Calhoun, P., and Wheeler, R., "Layer Two Tunneling Protocol 'L2TP' Management Information Base", , March 2002. [PWE3-PW-MIB] Zelig, D., Nadeau, T., Danenberg, D., and Mantin, S., "Pseudo Wire (PW) Management Information Base", , June 2002. [RFC1155] Rose, M., and McCloghrie, K., "Structure and Identification of Management Information for TCP/IP- Based Internets", STD 16, RFC 1155, May 1990. [RFC1157] Case, J., Fedor, M., Schoffstall, M., and Davin, J., "Simple Network Management Protocol", STD 15, RFC 1157, May 1990. [RFC1212] Rose, M., and McCloghrie, K., "Concise MIB Definitions", STD 16, RFC 1212, March 1991. [RFC1215] Rose, M., "A Convention for Defining Traps for use with the SNMP", RFC 1215, March 1991. [RFC1901] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Introduction to Community-based SNMPv2", RFC 1901, January 1996. [RFC1905] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Protocol Operations for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1905, January 1996. [RFC1906] Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Transport Mappings for Version 2 of the Simple Network Management Protocol (SNMPv2)", RFC 1906, January 1996. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2570] Case, J., Mundy, R., Partain, D., and Stewart, B., "Introduction to Version 3 of the Internet-standard Network Management Framework", RFC 2570, April 1999. Lau and Klausberger Standards Track [Page 56] INTERNET DRAFT L2TPv3 MIB June 2002 [RFC2571] Harrington, D., Presuhn, R., and Wijnen, B., "An Architecture for Describing SNMP Management Frameworks", RFC 2571, April 1999. [RFC2572] Case, J., Harrington D., Presuhn R., and Wijnen, B., "Message Processing and Dispatching for the Simple Network Management Protocol (SNMP)", RFC 2572, April 1999. [RFC2573] Levi, D., Meyer, P., and Stewart, B., "SNMPv3 Applications", RFC 2573, April 1999. [RFC2574] Blumenthal, U., and Wijnen, B., "User-based Security Model (USM) for version 3 of the Simple Network Management Protocol (SNMPv3)", RFC 2574, April 1999. [RFC2575] Wijnen, B., Presuhn, R., and McCloghrie, K., "View-based Access Control Model (VACM) for the Simple Network Management Protocol (SNMP)", RFC 2575, April 1999. [RFC2578] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and Waldbusser, S., "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. [RFC2579] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and Waldbusser, S., "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999. [RFC2580] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose, M., and Waldbusser, S., "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999. [RFC2667] Thaler, D., "IP Tunnel MIB", RFC 2667, Microsoft, August 1999. 6. Editors' Addresses Jed Lau cisco Systems, Inc. 170 W. Tasman Drive San Jose, CA 95134 jedlau@cisco.com Walter Klausberger Siemens AG Vienna, Austria walter.klausberger@siemens.com Lau and Klausberger Standards Track [Page 57] INTERNET DRAFT L2TPv3 MIB June 2002 Lau and Klausberger Standards Track [Page 58]