Layer-Two Tunneling Protocol Extensions for PPP Link Control Protocol Negotiation
Extracted elements (18)
By default the M-bit on the new AVPs is set to 0 (not mandatory), since forcing peers that do not support these extensions to disconnect is NOT recommended unless operating without them is completely unacceptable.
L2TP previously provided only coarse interface information (synchronous/asynchronous, digital/analog) to the LNS, which was insufficient for robust PPP LCP negotiation. This document introduces richer AVPs so the LNS can negotiate LCP options appropriately without direct access to the physical media.
New AVP Attribute types (51, 52) are defined for LNS-to-LAC LCP reporting rather than reusing the existing LAC-to-LNS Proxy LCP Attribute types (27, 28), because some existing L2TP implementations might flag those known AVP types as misplaced and generate false error conditions.
Proxy LCP allows options to be negotiated where the native PPP link resides, but introduces problems because some LCP options (e.g., PPP Authentication Type, MRU) should be set by the LNS, and the LAC may not detect client-initiated LCP renegotiation unless it sniffs every forwarded PPP data packet.
The new AVPs defined in this document SHOULD override any LCP option guidance implied by the Bearer Type or Framing Type AVPs when supported by the LNS.
The new LCP Want and Allow Options AVPs may coexist with Proxy LCP and Proxy Authentication AVPs from RFC 2661. If Proxy AVPs are received, the LNS may accept them or renegotiate LCP using the suggestions in the new AVPs. To force LNS-side LCP negotiation, the LAC should omit all Proxy AVPs.
For FCS-ALT in the LCP Allow Options AVP, the LNS SHOULD only accept FCS-ALT types listed in the AVP, even though FCS is stripped at the LAC and the option has no consequence to the LNS itself.
If the LAC sends the AVPs defined in sections 2.1 and 2.2 to the LNS, the LAC MUST be prepared to accept the AVPs defined in section 2.3 (LNS Last Sent/Received LCP Confreq).
The LNS SHOULD use the LCP Want Options suggestions when building its initial Configure-Request. For MRU, the LNS SHOULD begin negotiation with the provided value but MAY reduce MRU if necessary.
The M bit for the LCP Want Options AVP MUST be set to 0 by default. If the sender does not wish to connect to a peer that does not understand this extension, it SHOULD set the M bit to 1.
When LCP negotiation is completed by the LNS, a Set-Link-Info (SLI) control message MUST be sent containing the LNS Last Sent LCP Confreq and LNS Last Received LCP Confreq AVPs, carrying the last sent and received LCP packets with respect to the LNS.
The LCP Allow Options AVP (Attribute Type 50) carries a PPP LCP Configure-Ack information field from the LAC to the LNS, listing the LCP options the LAC will permit the LNS to negotiate. Absence of an option implies the LAC cannot perform it at the link layer and would Configure-Reject it.
The LCP Want Options AVP (Attribute Type 49) carries a PPP LCP Configure-Request information field from the LAC to the LNS, indicating LCP options the LAC wants the LNS to negotiate. It is sent in ICCN or OCCN messages and has Vendor ID 0 (IETF).
Two new AVPs are defined for LNS-to-LAC communication: LNS Last Sent LCP Confreq (Attribute 51) and LNS Last Received LCP Confreq (Attribute 52). Their format is identical to the existing LAC-to-LNS Proxy LCP AVPs (Attributes 27 and 28 in RFC 2661).
This document registers four new L2TP AVP Attribute numbers with IANA: 49 (LCP Want Options), 50 (LCP Allow Options), 51 (LNS Last Sent LCP Confreq), and 52 (LNS Last Received LCP Confreq).
No significant additional threats are introduced. The new AVPs expose link characteristics and interface information that could be snooped by a rogue party, but this information is the same as what is already negotiated in PPP LCP packets over the tunneled link—it is merely presented in a different form.
LCP Allow Options AVP (Attribute Type 50): same standard L2TP AVP header format as the Want Options AVP, followed by an LCP Configure-Ack payload; total length is 6 plus the length of the LCP Configure-Ack.
LCP Want Options AVP (Attribute Type 49): standard L2TP AVP header (M bit, H bit, 4-bit reserved, 10-bit Length, 16-bit Vendor ID, 16-bit Attribute Type) followed by the LCP Configure-Req payload; total length is 6 plus the length of the LCP Configure-Request.