5.31 Support of L2TP

29.2443GPPInterface between the Control Plane and the User Plane nodesRelease 17TS

5.31.1 General

Stage 2 requirements for the support of Layer 2 Tunneling Protocol (L2TP) are specified in clause 5.8.2.16 of 3GPP TS 23.501 [28], clause 4.3.2.4 of 3GPP TS 23.502 [29] and clause 5.5 of 3GPP TS 23.214 [2].

It is optional for both the CP function and the UP function to support the L2TP feature.

L2TP is specified in IETF RFC 2661 [67]. An L2TP Tunnel is setup between a L2TP Access Concentrator (LAC) and a L2TP Network Server (LNS) pair controlling the connection, that may contain one or more L2TP Sessions. More than one L2TP tunnel can be established between a LAC-LNS pair.

The UP function shall act as the LAC.

The CP function may request the UPF to setup an L2TP Session for a PDN connection or PDU session between the LAC and the LNS in the Data Network.

One L2TP tunnel between the UP Function and the L2TP server may be shared by multiple PDN connection / PDU session using the same N6/SGi network instance and L2TP parameters (e.g. LNS address). A single L2TP tunnel may be shared by multiple PDN connections / PDU sessions created by the same CP Function or by different CP Functions.

5.31.2 L2TP Tunnel and L2TP Session Setup

When both the CP function and the UP function support the L2TP feature (see clause 8.2.25), if an L2TP session is required to support the PDN connection/PDU session, the CP function shall send a PFCP Session Establishment Request message including the following L2TP related IEs, to request the UP Function to setup an L2TP session towards the LNS:

– one L2TP Session Information IE to control the L2TP session setup. The L2TP Session Information may include:

– the Called Number, Calling Number and the MRU (Maximum Receive Unit in LCP/PPP, to be set as the value of the MTU received from the UE or that may be configured in the CP function);

– the L2TP Session Indications IE to indicate that the UP function shall request the LNS to allocate an IP address for the PDN session/PDN connection, to provide DNS server address(es) and/or NBNS server address(es) for the session;

– the L2TP User Authentication IE including parameters such as authentication type, Username and Password, Challenge and Challenge Response which may either be sent by the UE through PCO or be configured in the CP0.

– One or more L2TP Tunnel Information IEs to provide parameters to control the establishment of a L2TP tunnel if such information is available in the CP function, e.g. if it is received from an AAA/Radius server or locally configured in the CP function. This IE shall include LNS IPv4/IPv6 address, and it may include Tunnel Password for L2TP tunnel authentication, Tunnel Preference if multiple L2TP Tunnel Information IEs are sent, as specified in 3GPP TS 29.061 [39] and 3GPP TS 29.561 [49].

NOTE 1: Multiple L2TP Tunnel Information IEs can be sent to provide the UP Function with a list of possible L2TP tunnels that can be used to establish the L2TP session. This can be used to ensure that the session is established even if a specific LNS is temporarily unavailable, or to load balance the setup of L2TP sessions over different LNS’s. A given L2TP Tunnel Information IE includes Tunnel attributes, e.g. Tunnel-Server-Endpoint and Tunnel-Password, received over N6/SGi with the same Tag value (see IETF RFC 2868 [68]). See also 3GPP TS 29.061 [39] and 3GPP TS 29.561 [49].

NOTE 2: If the UE IP address is to be allocated by the UP function (or the LNS), the CP function indicates this in the UE IP Address IE in the Create PDR or Create Traffic Endpoint IE, regardless of whether the UE IP address is to be assigned by the LNS or the UPF.

NOTE 3: If the L2TP tunnel parameters are configured in the UP Function, the UP Function determines how to establish the L2TP tunnel based on its local configuration.

NOTE 4: An L2TP session cannot be modified once established as specified in IETF RFC 2661 [67].

Upon receiving the PFCP Session Establishment Request from the CP function, the UP function shall determine whether to use an already established L2TP tunnel (if any appropriate one has already been established) or establish a new L2TP tunnel. The UP function may have already established L2TP tunnel(s), e.g. based on locally configured L2TP Tunnel Information. If an existing L2TP Tunnel is used, the UP function shall only setup a new L2TP session within the existing L2TP tunnel. Otherwise, the UP function shall perform both L2TP tunnel and L2TP session setup.

The UP function shall send a PFCP Session Establishment Response to the CP function, carrying the Created L2TP Session IE containing information about the established L2TP session, e.g. the used LNS Address, that may be used for statistics or diagnostics. The Cause IE in the response message may carry additional L2TP specific failure information to the CP function if the L2TP tunnel or L2TP session establishment failed.

The PFCP Session Establishment Response message may also include the DNS Server Address IE(s) and/or NBNS Server Address IE(s) containing the DNS server and/or NBNS Server information, if this information was requested.

If the UE IP address was allocated by the UP Function (or the LNS), the UP function shall provide the allocated IP address to the CP function in the UE IP Address IEs in the Created PDR IE and/or Created Traffic Endpoint IE (as specified in this specification).

Upon receiving uplink user plane traffic pertaining to the PFCP session with a L2TP session established, the UP function shall forward the traffic via the L2TP tunnel towards the LNS server.

5.31.3 L2TP Session and L2TP Tunnel Release

Upon receiving a PFCP Session Deletion Request message from the CP function, the UP function shall release the corresponding L2TP session. The UP function may release the L2TP tunnel if there is no other L2TP session using the L2TP tunnel.

NOTE 1: The UPF can alternatively retain the L2TP tunnel when all L2TP sessions are terminated.

When the LNS terminates a L2TP session or an L2TP tunnel, the following applies:

– If the LNS terminates an L2TP session, the UP function shall terminate the PFCP session and report to the CP Function that the PFCP session is deleted by sending a PFCP Session Report Request message to the CP function as described in clause 5.18.2, with the Cause indicating the reason for the termination.

– If the LNS terminates an L2TP tunnel, the UP function shall terminate all the PFCP sessions using the L2TP tunnel and report to all the CP functions controlling at least one such PFCP session that the respective PFCP sessions have been deleted by sending a PFCP Session Report Request message to the CP function for each affected PFCP session, as described in clause 5.18.2, with the Cause indicating the reason for the termination.

– If the UP function detects that the connectivity with an LNS is lost, the UP function shall terminate the PFCP sessions using the L2TP tunnel(s) towards that LNS and report to the CP that all the PFCP sessions affected have been deleted by sending a PFCP Session Report Request message to the CP function for each affected PFCP session, as described in clause 5.18.2, with the Cause indicating the reason for the termination.