L2TP Disconnect Cause Information
Network Working Group R. Verma
Request for Comments: 3145 Deloitte Consulting
Category: Standards Track M. Verma
L2TP Disconnect Cause Information
Status of this Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright (C) The Internet Society (2001). All Rights Reserved.
This document provides an extension to the Layer 2 Tunneling Protocol
("L2TP"), a mechanism for tunneling Point-to-Point Protocol (PPP)
sessions. L2TP lacks a mechanism for a host to provide PPP-related
disconnect cause information to another host. This information,
provided by the extension described in this document, can be useful
for accounting and debugging purposes.
L2TP  defines a general-purpose mechanism for tunneling PPP over
various media. By design, it insulates L2TP operation from the
details of the PPP session that is being encapsulated by L2TP. There
are, however, cases where it may be desirable for PPP-specific
disconnect information to be provided to an L2TP host (L2TP Access
Concentrator [LAC] or L2TP Network Server [LNS]) in a descriptive
format. The lack of this information is especially a problem when
the LAC and LNS are not owned or managed by the same entities.
The Result and Error Codes defined for L2TP specify only L2TP-
specific disconnect information. This document provides an
additional Attribute Value Pair (AVP), called PPP Disconnect Cause
Code, that MAY be used by an L2TP host to provide PPP-specific
Verma, et al. Standards Track [Page 1]
RFC 3145 L2TP Disconnect Cause Information July 2001
disconnect information to its peer. This AVP should be used in
conjunction with, and not as a replacement for, the L2TP Result and
Error Code AVPs.
The PPP Disconnect Cause Code AVP can also be used to provide a
human-readable disconnect reason to the user. This AVP should not
have any effect on either the functioning of the tunnel or the
functioning of the PPP session; it is for informational and logging
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 BCP 14 .
2. PPP Disconnect Cause Code AVP
The AVP is valid in the L2TP Call-Disconnect-Notify (CDN) message
only, and it MUST NOT be marked Mandatory.
The PPP Disconnect Cause Code AVP is encoded with Vendor ID 0 and an
Attribute Type of PPP Disconnect Cause Code (46). The length of the
Value field MUST be at least 11 octets. If the length is more than
11 octets, the additional octets MUST contain a descriptive text in
UTF-8  format that can be displayed to the user or in a log file.
The format of the AVP is shown below.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
|M|H| rsvd | Length | Vendor ID |
| Attribute Type | Disconnect Code |
| Control Protocol Number | Direction | Message...
Figure 1: PPP Disconnect Cause Code AVP
Mandatory (M) bit: MUST be 0.
Hidden (H) bit: MAY be 1 if the attribute is hidden.
Length: The length of the entire attribute in octets, expressed as a
single octet. The length MUST be at least 11.
Vendor ID: A two octet value in network byte order; set to 0 to
indicate that this is an IETF-assigned attribute.
Verma, et al. Standards Track [Page 2]
Show full document text