5.3 Data Forwarding between the CP and UP Functions

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

5.3.1 General

Forwarding of user plane data between the CP and UP functions may take place as part of the following scenarios (see 3GPP TS 23.214 [2] for EPC and 3GPP TS 23.501 [28] for 5GC).

Table 5.3.1-1: Data forwarding scenarios between the CP and UP functions

Scenario description

Data forwarding direction

For EPC applicable to

For 5GC applicable to

1

Forwarding of user-plane packets between the UE and the CP function.

UP to CP function

CP to UP function

PGW

UPF to SMF

SMF to UPF

2

Forwarding of packets between the CP function and the external PDN (over SGi) / DN (over N6).

UP to CP function

CP to UP function

PGW

UPF to SMF

SMF to UPF

3

Forwarding of packets subject to buffering in the CP function.

UP to CP function

CP to UP function

SGW

UPF to SMF

SMF to UPF

4

Forwarding of End Marker Packets constructed by the CP function to a downstream node.

CP to UP function

SGW, PGW

SMF to UPF

5

Forwarding of user data using Control Plane CIoT 5GS Optimisation

UP to CP function

CP to UP function

UPF to SMF

SMF to UPF

User plane packets shall be forwarded between the CP and UP functions by encapsulating the user plane packets using GTP-U encapsulation (see 3GPP TS 29.281 [3]).

For forwarding data from the UP function to the CP function, the CP function shall provision PDR(s) per PFCP session context, with the PDI identifying the user plane traffic to forward to the CP function and with a FAR set with the Destination Interface "CP function side" and set to perform GTP-U encapsulation and to forward the packets to a GTP-u F-TEID uniquely assigned in the CP function per PFCP session and PDR. The CP function shall then identify the PDN connection and the bearer to which the forwarded data belongs by the F-TEID in the header of the encapsulating GTP-U packet.

For forwarding data from the CP function to the UP function, the CP function shall provision one or more PDR(s) per PFCP session context, with the PDI set with the Source Interface "CP function side" and identifying the GTP-u F-TEID uniquely assigned in the UP function per PDR, and with a FAR set to perform GTP-U decapsulation and to forward the packets to the intended destination. URRs and QERs may also be configured.

For EPC PFCP session contexts may correspond to individual PDN connections, TDF sessions, or standalone sessions not tied to any PDN connection or TDF session used e.g. for forwarding RADIUS, Diameter or DHCP signalling between the PGW-C and the PDN or for forwarding End Marker packets from the PGW-C or SGW-C to a downstream SGW-U or eNodeB.

For 5GC PFCP session contexts may correspond to individual PDU sessions or standalone sessions not tied to any PDU sessions used e.g. for forwarding RADIUS, Diameter or DHCP signalling between the SMF and the DN or for forwarding End Marker packets from the SMF to a downstream UPF or NG-RAN.

For EPC the CP function may establish one Sx-u tunnel per:

– bearer of PDN connection e.g. for the data forwarding scenarios 1 and 3;

– UP function or PDN e.g. for the data forwarding scenario 1, 2 and 4.

For 5GC the CP function may establish one N4-u tunnel per:

– PDU session e.g. for the data forwarding scenarios 1, 3 and 5;

– UP function or DN e.g. for the data forwarding scenario 1, 2 and 4.

Requirements for forwarding packets subject to buffering in the CP function between the UP and CP functions (scenario 3) are further specified in clause 5.3.3.

Requirements for sending End Marker packets (scenario 4) are further specified in clause 5.3.2.

Requirements for forwarding user data using Control Plane CIoT 5GS Optimisation between the UP and CP functions (scenario 5) are further specified in clause 5.3.5.

5.3.2 Sending of End Marker Packets

The construction of End Marker packets may either be done in the CP function or UP function, based on network configuration, as specified in clause 5.8 of 3GPP TS 23.214 [2] for EPC and in clause 5.8.2.9 of 3GPP TS 23.501 [28] for 5GC. The support of End Marker packets by the UP function is optional.

A UP function complying with this release of the specification shall support constructing End Marker packets in the UP function and shall indicate so to the CP function by setting the EMPU flag in the UP Function Features (see clause 8.2.25).

A CP function complying with this release of the specification should request the UP function to construct End Marker packets. If so, the CP function shall request the UP function to construct and send End Marker packets by sending a Session Modification Request including FAR(s) with the new downstream F-TEID and with the SNDEM (Send End Marker Packets) flag set.

For End Marker packets constructed in the CP function, the CP function shall:

– establish (once) one standalone PFCP session not tied to any PDN connection, per the UP function, for forwarding End Marker packets, and provision the UP function to perform one GTP-U decapsulation and to forward the resulting packets without any further change towards the destination IP address of these packets;

– construct the GTP-U End Marker packets, with the destination IP address and TEID set according to the old F-TEID value, and with a source IP address set according to the UP function’s F-TEID value (e.g. S1 or Iu SGW F-TEID or NG-u UPF F-TEID);

– encapsulate the constructed GTP-U End Marker packets in GTP-U packets according to the principles specified in clause 5.3.1 for data forwarding between the CP function and the UP function, and send them towards the F-TEID assigned in the UP function for the above PFCP session, after receipt of the PFCP Session Modification Response indicating that the UP function has switched to a new F-TEID.

Upon receipt of a PFCP Session Modification Request modifying the F-TEID in the Outer Header Creation of a FAR, the UP function shall send the Response message only after having switched to the new F-TEID.

5.3.3 Forwarding of Packets Subject to Buffering in the CP Function

5.3.3.1 General

The following requirements shall apply to the data forwarding scenario 3 of Table 5.3.1-1 in addition to the requirements specified in clause 5.3.1.

The CP function shall establish one Sx-u tunnel per bearer of a PDN connection / one N4-u tunnel per PDU session when applying the data forwarding scenario 3.

5.3.3.2 Forwarding of Packets from the UP Function to the CP Function

For EPC, regardless of whether the downlink traffic received by the UP function consists of T-PDUs (i.e. user data packet, see 3GPP TS 29.281 [3]) for a combined SGW/PGW-U, or G-PDUs (i.e. T-PDU plus a GTP-U header) for a SGW-U, the downlink traffic shall be forwarded from the UP function to the CP function as G-PDUs with the GTP-U header set to the IP address and TEID uniquely assigned in the CP function for the Sx-u tunnel corresponding to the bearer of the PDN connection.

NOTE 1: An SGW-U receiving G-PDUs from an S5/S8 bearer forwards the same G-PDUs towards the SGW-C but with the IP address and TEID in the GTP-U header changed to the SGW-C IP address and TEID of the corresponding Sx-u tunnel.

For 5GC, regardless of whether the downlink traffic received by the UP function consists of T-PDUs (i.e. user data packet, see 3GPP TS 29.281 [3]) for an PSA-UPF, or G-PDUs (i.e. T-PDU plus a GTP-U header) for an I-UPF, the downlink traffic shall be forwarded from the UP function to the CP function as G-PDUs with the GTP-U header set to the IP address and TEID uniquely assigned in the CP function for the N4-u tunnel corresponding to the PDU session of the PDN connection.

NOTE 2: An I-UPF receiving G-PDUs from an N9 GTPU tunnel forwards the same G-PDUs towards the SMF but with the IP address and TEID in the GTP-U header changed to the SMF IP address and TEID of the corresponding N4-u tunnel.

To forward the user plane data to be buffered in the CP function from the UP function, the CP function shall provision:

– for EPC, a PDR per bearer of the PDN connection, matching the received downlink user plane packets and for a (non-combined) SGW-U, with the field Outer Header Removal Description in the Outer Header Removal IE set to "0" or "1" for IPv4 or IPv6 respectively;

– for 5GC, a PDR per PDU session, matching the received downlink user plane packets and for an I-UPF, with the field Outer Header Removal Description in the Outer Header Removal IE set to "0" or "1" for IPv4 or IPv6 respectively;

– a FAR instructing the UP function to forward the received downlink data to the CP function, with the field Outer Header Creation Description in the Outer Header Creation set to "0" or "1".

NOTE 3: The PDR can be provisioned in the UP function before applying data forwarding to the CP function.

For EPC, G-PDUs sent from the UP function to the CP function over the Sx-u tunnel shall include any GTP-U extension header(s):

– possibly received by the UP function over the S5/S8 bearers and stored during the Outer Header Removal;

– possibly created by the UP function as part of a QER rule.

For 5GC, G-PDUs sent from the UP function to the CP function over the N4-u tunnel shall include any GTP-U extension header(s):

– possibly received by the UP function over the N9 PDU sessions and stored during the Outer Header Removal;

– possibly created by the UP function as part of a QER rule.

5.3.3.3 Forwarding of Packets from the CP Function to the UP Function

Likewise, when subsequently sending the downlink traffic buffered in the CP function back to the UP function, the downlink traffic shall be forwarded:

– for EPC, over Sx-u as G-PDUs with the GTP-U header set to the IP address and TEID uniquely assigned in the UP function for the Sx-u tunnel set up for the corresponding bearer of the PDN connection;

– for 5GC, over N4-u as G-PDUs with the GTP-U header set to the IP address and TEID uniquely assigned in the UP function for the N4-u tunnel set up for the corresponding PDU session.

G-PDUs sent over Sx-u / N4-u shall include GTP-U extension header(s) possibly received earlier from the UP function.

To forward the user plane data from the CP function to the UP function, the CP function shall provision:

a PDR per bearer of the PDN connection (for EPC) or per PDU session (for 5GC), with an IP address and TEID uniquely assigned in the UP function for the Sx-u / N4-u tunnel, and with the field Outer Header Removal Description in the Outer Header Removal IE set to "0" or "1";

– a FAR enabling the UP function to forward the received downlink data from the CP function towards the RAN, with the field Outer Header Creation Description in the Outer Header Creation set to "0" or "1".

G-PDUs sent from the UP function towards the RAN shall include GTP-U extension header(s) possibly received from the CP function.

5.3.4 Data Forwarding between the CP and UP Functions with one PFCP-u Tunnel per UP Function or PDN

5.3.4.1 General

The following requirements shall apply to the data forwarding scenario 1 and 2 of Table 5.3.1-1, when establishing one PFCP-u tunnel per UP function or PDN, in addition to the requirements specified in clause 5.3.1.

5.3.4.2 Forwarding of Packets from the UP Function to the CP Function

Regardless of whether the traffic received by the UP function consists of T-PDUs (i.e. user data packet, see 3GPP TS 29.281 [3]) from SGi / N6 or G-PDUs (i.e. T-PDU plus a GTP-U header) from the UE, the traffic shall be forwarded from the UP function to the CP function as G-PDUs with the GTP-U header set to the IP address and TEID uniquely assigned in the CP function for the PFCP-u tunnel corresponding to the UP function or PDN.

To forward the user plane data to from the UP function, the CP function shall provision:

– for supporting data forwarding scenario "1" as specified in clause 5.3.1, an additional PDR for a PFCP session established for a PDN connection or a PDU session which requires such data forwarding, matching the received user plane packets from uplink direction. The Outer Header Removal IE shall not be present if the complete G-PDU is required to be forwarded, otherwise the Outer Header Removal IE shall be present and set to "0" or "1" for IPv4 or IPv6 respectively;

– for supporting data forwarding scenario "2" as specified in clause 5.3.1, a PDR matching the received user plane packets from downlink direction;

– a FAR instructing the UP function to forward the received data to the CP function, with the field Outer Header Creation Description in the Outer Header Creation set to "0" or "1" for IPv4 or IPv6 respectively, and the Outer GTP-U header set to the IP address and TEID uniquely assigned in the CP function for the Sx-u tunnel.

5.3.4.3 Forwarding of Packets from the CP Function to the UP Function

When sending user plane data from the CP function, the traffic shall be forwarded over PFCP-u as:

– T-PDUs encapsulated in GTP-U with the GTP-U header set to the IP address and TEID uniquely assigned in the UP function for the PFCP-u tunnel set up for the UP function or PDN or DN for traffic to be sent towards SGi or N6; or

– G-PDUs encapsulated in GTP-U with the outer GTP-U header set to the IP address and TEID uniquely assigned in the UP function for the PFCP-u tunnel set up for the UP function and with the inner GTP-U header set to the F-TEID assigned by the downstreams GTP-U peer (e.g. SGW, I-UPF) to the bearer over which the data shall be sent.

To forward the user plane data from the CP function to the UP function, the CP function shall provision:

a PDR per UP function, with an IP address and TEID uniquely assigned in the UP function for the PFCP-u tunnel, and with the field Outer Header Removal Description in the Outer Header Removal IE set to "0" or "1";

– an FAR enabling the UP function to forward the received data from the CP function.

5.3.5 Forwarding of user data using Control Plane CIoT 5GS Optimisation (for 5GC)

5.3.5.1 General

The following requirements shall apply to the data forwarding scenario 5 of Table 5.3.1-1 in addition to the requirements specified in clause 5.3.1.

The CP function shall establish one one N4-u tunnel per PDU session when applying the data forwarding scenario 5.

5.3.5.2 Forwarding of Packets from the UP Function to the CP Function

Regardless of whether the downlink traffic received by the UP function consists of T-PDUs (i.e. user data packet, see 3GPP TS 29.281 [3]) from N6 or G-PDUs (i.e. T-PDU plus a GTP-U header) received from N9, the downlink traffic shall be forwarded from the UP function to the CP function as G-PDUs with the GTP-U header set to the IP address and TEID uniquely assigned in the CP function for the N4-u tunnel corresponding to the PDU session.

NOTE: A UPF receiving G-PDUs from N9 forwards the G-PDUs towards the SMF but with the IP address and TEID in the GTP-U header changed to the SMF IP address and TEID of the corresponding N4-u tunnel.

To forward the user plane data from the UP function to the CP function, the CP function shall provision:

– a PDR per PDU session, matching the received downlink user plane packets, and for traffic received from N9, with the field Outer Header Removal Description in the Outer Header Removal IE set to "0" or "1" for IPv4 or IPv6 respectively;

– a FAR instructing the UP function to forward the received downlink data to the CP function, with the field Outer Header Creation Description in the Outer Header Creation set to perform GTP-U/UDP/IPv4 or GTP-U/UDP/IPv6 encapsulation.

NOTE: The PDR can be provisioned in the UP function before applying data forwarding to the CP function.

G-PDUs sent from the UP function to the CP function over the N4-u tunnel shall include any GTP-U extension header(s):

– possibly received by the UP function over the N9 interface and stored during the Outer Header Removal;

– possibly created by the UP function as part of a QER rule.

5.3.5.3 Forwarding of Packets from the CP Function to the UP Function

Likewise, when sending the uplink traffic received in the CP function to the UP function, the uplink traffic shall be forwarded over N4-u as G-PDUs with the GTP-U header set to the IP address and TEID uniquely assigned in the UP function for the N4-u tunnel set up for the corresponding PDU session.

To forward the user plane data from the CP function to the UP function, the CP function shall provision:

a PDR per PDU session, with an IP address and TEID uniquely assigned in the UP function for the N4-u tunnel, and with the field Outer Header Removal Description in the Outer Header Removal IE set to "0" or "1";

– an FAR enabling the UP function to forward the received uplink data from the CP function.