7.1.3 PDCP

38.523-13GPP5GSPart 1: ProtocolRelease 17TSUser Equipment (UE) conformance specification

7.1.3.0 Default Pre-Test Conditions for all PDCP test cases

The following pre-test conditions shall be applied in all PDCP test cases until the test case explicitly over writes these conditions

System Simulator:

– The SS configures the test environment in accordance to the execution conditions in Table 7.1.3.0-1.

UE:

– None

Preamble:

– The SS performs the generic procedure in [4] to get UE in state RRC_CONNECTED in accordance to the execution conditions in Table 7.1.3.0-2 and using the message condition UE TEST LOOP MODE A to return one UL PDCP SDU per DL PDCP SDU.

Table 7.1.3.0-1: Test environment

Execution Condition

Cell configuration

System Information Combination

IF pc_NG_RAN_NR and Connectivity(NR-DC)

NR Cell 1 is PCell

NR Cell 10 is PSCell

NR System information Combination NR-1

IF pc_NG_RAN_NR

NR Cell 1

NR System information Combination NR-1

ELSE IF pc_EN_DC

E-UTRA Cell 1 is PCell,

NR Cell 1 is PSCell

EUTRA: System information Combination 1

NR: N/A

ELSE IF pc_NGEN_DC

NG-RAN E-UTRA Cell 1 is PCell,

NR Cell 1 is PSCell

EUTRA: System information Combination 1

NR: N/A

ELSE IF pc_NE_DC

NR Cell 1 is PCell,

E-UTRA Cell 1 is PSCell

NR: System information Combination NR-1

EUTRA: N/A

Table 7.1.3.0-2: Preamble parameters

Execution Condition

Multi-PDN / Multi-PDU Sessions Condition

Generic Procedure Parameters

Primary DRB used for Data testing

IF pc_NG_RAN_NR

FALSE

Connectivity(NR),

Test loop function(On)

One DRB

Default DRB of the first PDU session on NR Cell

Connectivity(NR-DC),

DC bearer(One MN Terminated MCG bearer and One SN Terminated SCG bearer),

Test loop function(On)

SN terminated SCG DRB

TRUE

Connectivity(NR),

Test loop function(On)

N DRBs (N ≥ 2)

Default DRB of the first PDU session on NR Cell

Connectivity(NR-DC),

DC bearer(N MN Terminated MCG bearers and One SN Terminated SCG bearer),

N DRBs (N ≥ 2)

Test loop function(On)

SN terminated SCG DRB

ELSE IF pc_EN_DC

FALSE

Connectivity(EN-DC),

DC bearer(One MN Terminated MCG bearer and One SN terminated SCG bearer),

Test loop function(On)

SN Terminated SCG bearer unless explicitly specified in test case

TRUE

Connectivity(EN-DC),

DC bearer(Two MN Terminated MCG bearer and One SN terminated SCG bearer),

Test loop function(On)

ELSE IF pc_NGEN_DC

FALSE

Connectivity(NGEN-DC),

DC bearer(One MN Terminated MCG bearer and One SN terminated SCG bearer),

Test loop function(On)

SN Terminated SCG bearer unless explicitly specified in test case

TRUE

Connectivity(NGEN-DC),

DC bearer(Two MN Terminated MCG bearer and One SN terminated SCG bearer),

Test loop function(On)

ELSE IF pc_NE_DC

FALSE

Connectivity(NE-DC),

DC bearer(One MN Terminated MCG bearer and One SN terminated SCG bearer),

Test loop function(On)

SN Terminated SCG bearer unless explicitly specified in test case

TRUE

Connectivity(NE-DC),

DC bearer(N ≥ 2 MN Terminated MCG bearer and One SN terminated SCG bearer),

Test loop function(On)

Table 7.1.3.0-3: Message conditions

Execution Condition

Message condition exceptions

IF pc_NG_RAN_NR

Message with condition AM is used for step 7 in 4.5.4.2 according to [4]

ELSE IF pc_EN_DC

Message condition MCG_and_SCG with condition AM is used for step 7 in 4.5.4.2 according to [4]

ELSE IF pc_NGEN_DC

Message condition MCG_and_SCG with condition AM is used for step 7 in 4.5.4.2 according to [4]

ELSE IF pc_NE_DC

Message condition MCG_and_SCG with condition AM is used for step 7 in 4.5.4.6 according to [4]

7.1.3.1 Maintenance of PDCP sequence numbers for radio bearers

7.1.3.1.1 Maintenance of PDCP sequence numbers / User plane / 12 bit SN

7.1.3.1.1.1 Test Purpose (TP)

(1)

with { UE in RRC_CONNECTED state with PDCP configured for 12 bit SN}

ensure that {

when { UE transmits a PDCP Data SDU on a DRB }

then { UE increments SN with 1 for each transmitted PDU for SN=0 to Maximum_PDCP_SN (2[pdcp-SN-SizeUL] -1) }

}

(2)

with { UE in RRC_CONNECTED state with PDCP configured for 12 bit SN }

ensure that {

when { UE transmits a PDCP Data SDU on a DRB and, after incrementation, TX_NEXT is larger than the Maximum_PDCP_SN(2[pdcp-SN-SizeUL] -1) }

then { UE sets SN to 0 in the next transmitted PDCP SDU}

}

7.1.3.1.1.2 Conformance requirements

References: The conformance requirements covered in the present TC are specified in: TS 38.323, clauses 5.2.1, 5.2.2.1 and 6.2.2.2. Unless otherwise stated these are Rel-15 requirements.

[TS 38.323, clause 5.2.1]

At reception of a PDCP SDU from upper layers, the transmitting PDCP entity shall:

– start the discardTimer associated with this PDCP SDU (if configured).

For a PDCP SDU received from upper layers, the transmitting PDCP entity shall:

– associate the COUNT value corresponding to TX_NEXT to this PDCP SDU;

NOTE 1: Associating more than half of the PDCP SN space of contiguous PDCP SDUs with PDCP SNs, when e.g., the PDCP SDUs are discarded or transmitted without acknowledgement, may cause HFN desynchronization problem. How to prevent HFN desynchronization problem is left up to UE implementation.

– perform header compression of the PDCP SDU as specified in the subclause 5.7.4;

– perform integrity protection, and ciphering using the TX_NEXT as specified in the subclause 5.9 and 5.8, respectively;

– set the PDCP SN of the PDCP Data PDU to TX_NEXT modulo 2[pdcp-SN-Size];

– increment TX_NEXT by one;

– submit the resulting PDCP Data PDU to lower layer as specified below.

When submitting a PDCP Data PDU to lower layer, the transmitting PDCP entity shall:

– if the transmitting PDCP entity is associated with one RLC entity:

– submit the PDCP Data PDU to the associated RLC entity.

– else, if the transmitting PDCP entity is associated with two RLC entities:

– if pdcpDuplication is configured and activated:

– duplicate the PDCP Data PDU and submit the PDCP Data PDU to both associated RLC entities.

– else, if pdcpDuplication is configured but not activated:

– submit the PDCP Data PDU to the primary RLC entity.

– else:

– if the total amount of PDCP data volume and RLC data volume pending for initial transmission (as specified in TS 36.322 [5]) in the two associated RLC entities is less than ul-DataSplitThreshold:

– submit the PDCP Data PDU to the primary RLC entity.

– else:

– submit the PDCP Data PDU to either the primary RLC entity or the secondary RLC entity.

NOTE 2: If the transmitting PDCP entity is associated with two RLC entities, the UE should minimize the amount of PDCP PDUs submitted to lower layers before receiving request from lower layers and minimize the PDCP SN gap between PDCP PDUs submitted to two associated RLC entities to minimize PDCP reordering delay in the receiving PDCP entity.

[TS 38.323, clause 5.2.2.1]

In this section, following definitions are used:

– HFN(State Variable): the HFN part (i.e. the number of most significant bits equal to HFN length) of the State Variable;

– SN(State Variable): the SN part (i.e. the number of least significant bits equal to PDCP SN length) of the State Variable;

– RCVD_SN: the PDCP SN of the received PDCP Data PDU, included in the PDU header;

– RCVD_HFN: the HFN of the received PDCP Data PDU, calculated by the receiving PDCP entity;

– RCVD_COUNT: the COUNT of the received PDCP Data PDU = [RCVD_HFN, RCVD_SN]

At reception of a PDCP Data PDU from lower layers, the receiving PDCP entity shall determine the COUNT value of the received PDCP Data PDU, i.e. RCVD_COUNT, as follows:

– if RCVD_SN < SN(RX_DELIV) – Window_Size:

– RCVD_HFN = HFN(RX_DELIV) + 1.

– else if RCVD_SN >= SN(RX_DELIV) + Window_Size:

– RCVD_HFN = HFN(RX_DELIV) – 1.

– else:

– RCVD_HFN = HFN(RX_DELIV);

– RCVD_COUNT = [RCVD_HFN, RCVD_SN].

After determining the COUNT value of the received PDCP Data PDU = RCVD_COUNT, the receiving PDCP entity shall:

– if RCVD_COUNT < RX_DELIV; or

– if the PDCP Data PDU with COUNT = RCVD_COUNT has been received before:

– perform deciphering and integrity verification of the PDCP Data PDU using COUNT = RCVD_COUNT;

– if integrity verification fails:

– indicate the integrity verification failure to upper layer;

– discard the PDCP Data PDU.

– else:

– perform deciphering and integrity verification of the PDCP Data PDU using COUNT = RCVD_COUNT;

– if integrity verification fails:

– indicate the integrity verification failure to upper layer;

– discard the PDCP Data PDU.

If the received PDCP Data PDU with COUNT value = RCVD_COUNT is not discarded above, the receiving PDCP entity shall:

– store the resulting PDCP SDU in the reception buffer;

– if RCVD_COUNT >= RX_NEXT:

– update RX_NEXT to RCVD_COUNT + 1.

– if outOfOrderDelivery is configured:

– deliver the resulting PDCP SDU to upper layers.

– if RCVD_COUNT = RX_DELIV:

– deliver to upper layers in ascending order of the associated COUNT value after performing header decompression, if not decompressed before;

– all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from COUNT = RX_DELIV;

– update RX_DELIV to the COUNT value of the first PDCP SDU which has not been delivered to upper layers, with COUNT value > RX_DELIV;

– if t-Reordering is running, and if RX_DELIV >= RX_REORD:

– stop and reset t-Reordering.

– if t-Reordering is not running (includes the case when t-Reordering is stopped due to actions above), and RX_DELIV < RX_NEXT:

– update RX_REORD to RX_NEXT;

– start t-Reordering.

[TS 38.322, clause 6.2.2.2]

Figure 6.2.2.2-1 shows the format of the PDCP Data PDU with 12 bits PDCP SN. This format is applicable for UM DRBs and AM DRBs.

Figure 6.2.2.2-1: PDCP Data PDU format with 12 bits PDCP SN

7.1.3.1.1.3 Test description

7.1.3.1.1.3.1 Pre-test conditions

Same Pre-test conditions as in clause 7.1.3.0 exception of PDCP parameters according to Table 7.1.3.1.1.3.1-1.

Table 7.1.3.1.1.3.1-1: PDCP parameters

PDCP-Config pdcp-SN-SizeUL

len12bits

PDCP-Config pdcp-SN-SizeDL

len12bits

7.1.3.1.1.3.2 Test procedure sequence

Table 7.1.3.1.1.3.2-1: Main behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

EXCEPTION: Steps 1 – 2 shall be repeated from j = 0 to j = FLOOR(Maximum_PDCP_SN/iteration_size). (Note 1, 4)

1

SS transmits in one slot, several PDCP PDUs in a PDCP PDU list without header compression, the number of PDCP PDUs sent in each PDCP PDU list is defined by the iteration_size. (Note 4, 5).

<–

PDCP PDUs

EXCEPTION: In Step 2, SS may receive a PDCP PDU or several PDCP PDUs, then step 2 may be repeated multiple times until all PDCP PDUs with SN=j*iteration_size to SN=(((j+1)* iteration_size)-1) for each iteration are received.

2

CHECK: Does UE transmit PDCP PDUs with SN=0 for the first iteration and all PDCP PDUs for each iteration?

(Note 2) (Note 6)

–>

PDCP PDUs

1

P

3

SS transmits a PDCP PDU containing one PDCP SDU without header compression.

<–

PDCP PDU

4

CHECK: Does UE transmit a PDCP PDU with SN=0?

–>

PDCP PDU

2

P

5

SS transmits a PDCP PDU containing one PDCP SDU without header compression.

<–

PDCP PDU

6

CHECK: Does UE transmit a PDCP PDU with SN=1?

–>

PDCP PDU

1

P

Note 1: Maximum_PDCP_SN = 2[pdcp-SN-SizeUL] -1.

Note 2: The verdict shall be provided each time [(SN+1) mod 256 = 0] for 12 bit SN and [(SN+1) mod 4096 = 0] for 18 bit SN respectively.

Note 3: Void

Note 4: Iteration will be incremented by iteration_size of 1 for 12 bit SN and iteration_size of 25.for 18 bits SN. Small PDCP SDU size will be used.

Note 5: SS shall transmit a PDCP PDU list with size equal to iteration_size and incrementing SN by 1 till SN = ((j+1)*iteration_size)-1.

Note 6 All PDCP PDUs may be received by the SS in the same slot or in multiple slots (max one MAC PDU in a slot)

7.1.3.1.1.3.3 Specific message contents

None.

7.1.3.1.2 Maintenance of PDCP sequence numbers / User plane / 18 bit SN

7.1.3.1.2.1 Test Purpose (TP)

(1)

with { UE in RRC_CONNECTED state with PDCP configured for 18 bit SN}

ensure that {

when { UE transmits a PDCP Data SDU on a DRB }

then { UE increments SN with 1 for each transmitted PDU for SN=0 to Maximum_PDCP_SN (2[pdcp-SN-SizeUL] -1) }

}

(2)

with { UE in RRC_CONNECTED state with PDCP configured for 18 bit SN }

ensure that {

when { UE transmits a PDCP Data SDU on a DRB and, after incrementation, TX_Next is larger than the Maximum_PDCP_SN (2[pdcp-SN-SizeUL] -1) }

then { UE sets SN to 0 in the next transmitted PDCP SDU}

}

7.1.3.1.2.2 Conformance requirements

Same as conformance requirements in clause 7.1.3.1.1.2

7.1.3.1.2.3 Test description

7.1.3.1.2.3.1 Pre-test conditions

Same Pre-test conditions as in clause 7.1.3.0 exception of PDCP parameters according to Table 7.1.3.1.2.3.1-1.

Table 7.1.3.1.2.3.1-1: PDCP parameters

PDCP-Config pdcp-SN-SizeUL

len18bits

PDCP-Config pdcp-SN-SizeDL

len18bits

7.1.3.1.2.3.2 Test procedure sequence

Same as test procedure in clause 7.1.3.1.1.3.2

7.1.3.1.2.3.3 Specific message contents

None.

7.1.3.2 PDCP integrity protection

7.1.3.2.1 Integrity protection / Correct functionality of integrity algorithm SNOW3G / SRB / DRB

(1)

with { UE in RRC_CONNECTED state and SRB is configured with NR-PDCP}

ensure that {

when { Functionality of integrity algorithms with SNOW3G is taken into use on SRB }

then { UE performs correct integrity protection function in NR-PDCP entities associated with SRB }

}

(2)

with { UE in RRC_CONNECTED state and NOT EN-DC }

ensure that {

when { Functionality of integrity algorithms with SNOW3G is taken into use on DRB }

then { UE performs correct integrity protection function in PDCP entities associated with DRB }

}

(3)

with { UE in RRC_CONNECTED state and SRB3 is configured }

ensure that {

when { message on SRB 3 is received and fails the integrity protection check }

then { UE transmits SCGFailureInformationNR message with failure type ‘srb3-IntegrityFailure’ }

}

NOTE: TP2 (integrity on DRB) is not applicable to EN-DC as per 38.331 clause 6.3.2, the IE PDCP-Config.drb.integrityProtection is‘ Cond ConnectedTo5GC‘.

7.1.3.2.1.2 Conformance requirements

References: The conformance requirements covered in the present TC are specified in: TS 38.323, clauses 5.9, 5.2.2.1, TS 33.501 clauses 5.6.2, D.3.1 and TS 38.331 clauses5.7.3.1, 5.7.3.2, 5.7.3.3. Unless otherwise stated these are Rel-15 requirements.

[TS 38.323, clause 5.9]

The integrity protection function includes both integrity protection and integrity verification and is performed in PDCP, if configured. The data unit that is integrity protected is the PDU header and the data part of the PDU before ciphering. The integrity protection is always applied to PDCP Data PDUs of SRBs. The integrity protection is applied to PDCP Data PDUs of DRBs for which integrity protection is configured. The integrity protection is not applicable to PDCP Control PDUs.

The integrity protection algorithm and key to be used by the PDCP entity are configured by upper layers TS 38.331 [3] and the integrity protection method shall be applied as specified in TS 33.501 [6].

The integrity protection function is activated by upper layers TS 38.331 [3]. When security is activated, the integrity protection function shall be applied to all PDUs including and subsequent to the PDU indicated by upper layers TS 38.331 [3] for the downlink and the uplink, respectively.

NOTE: As the RRC message which activates the integrity protection function is itself integrity protected with the configuration included in this RRC message, this message needs first be decoded by RRC before the integrity protection verification could be performed for the PDU in which the message was received.

For downlink and uplink integrity protection and verification, the parameters that are required by PDCP for integrity protection are defined in TS 33.501 [6] and are input to the integrity protection algorithm. The required inputs to the integrity protection function include the COUNT value, and DIRECTION (direction of the transmission: set as specified in TS 33.501 [6]). The parameters required by PDCP which are provided by upper layers TS 38.331 [3] are listed below:

– BEARER (defined as the radio bearer identifier in TS 33.501 [6]. It will use the value RB identity –1 as in TS 38.331 [3]);

– KEY (the integrity protection keys for the control plane and for the user plane are KRRCint and KUPint, respectively).

At transmission, the UE computes the value of the MAC-I field and at reception it verifies the integrity of the PDCP Data PDU by calculating the X-MAC based on the input parameters as specified above. If the calculated X-MAC corresponds to the received MAC-I, integrity protection is verified successfully.

[TS 38.323, clause 5.2.2.1]

At reception of a PDCP Data PDU from lower layers, the receiving PDCP entity shall determine the COUNT value of the received PDCP Data PDU, i.e. RCVD_COUNT, as follows:

– if RCVD_SN < SN(RX_DELIV) – Window_Size:

– RCVD_HFN = HFN(RX_DELIV) + 1.

– else if RCVD_SN >= SN(RX_DELIV) + Window_Size:

– RCVD_HFN = HFN(RX_DELIV) – 1.

– else:

– RCVD_HFN = HFN(RX_DELIV);

– RCVD_COUNT = [RCVD_HFN, RCVD_SN].

After determining the COUNT value of the received PDCP Data PDU = RCVD_COUNT, the receiving PDCP entity shall:

– perform deciphering and integrity verification of the PDCP Data PDU using COUNT = RCVD_COUNT;

– if integrity verification fails:

– indicate the integrity verification failure to upper layer;

– discard the PDCP Data PDU;

– if RCVD_COUNT < RX_DELIV; or

– if the PDCP Data PDU with COUNT = RCVD_COUNT has been received before:

– discard the PDCP Data PDU;

[TS 33.501, clause 5.6.2]

All Identifiers and names specified in the present subclause are for 5G.

Each Integrity Algorithm used for 5G will be assigned a 4-bit identifier. The following values for integrity algorithms are defined:

"00002" NIA0 Null Integrity Protection algorithm;

"00012" 128-NIA1 128-bit SNOW 3G based algorithm;

"00102" 128-NIA2 128-bit AES based algorithm; and

"00112" 128-NIA3 128-bit ZUC based algorithm.

128-NIA1 is based on SNOW 3G (see TS35.215 [14]).

128-NIA2 is based on 128-bit AES [15] in CMAC mode [17].

128-NIA3 is based on 128-bit ZUC (see TS35.221 [18]).

Full details of the algorithms are specified in Annex D.

[TS 33.501, clause D.3.1.1]

The input parameters to the integrity algorithm are a 128-bit integrity key named KEY, a 32-bit COUNT, a 5-bit bearer identity called BEARER, the 1-bit direction of the transmission i.e. DIRECTION, and the message itself i.e. MESSAGE. The DIRECTION bit shall be 0 for uplink and 1 for downlink. The bit length of the MESSAGE is LENGTH.

Figure D.3.1.1-1 illustrates the use of the integrity algorithm NIA to authenticate the integrity of messages.

Figure D.3.1.1-1: Derivation of MAC-I/NAS-MAC (or XMAC-I/XNAS-MAC)

Based on these input parameters the sender computes a 32-bit message authentication code (MAC-I/NAS-MAC) using the integrity algorithm NIA. The message authentication code is then appended to the message when sent. For integrity protection algorithms, the receiver computes the expected message authentication code (XMAC-I/XNAS-MAC) on the message received in the same way as the sender computed its message authentication code on the message sent and verifies the data integrity of the message by comparing it to the received message authentication code, i.e. MAC-I/NAS-MAC.

[TS 38.331, clause 5.7.3.1]

Figure 5.7.3.1-1: SCG failure information

The purpose of this procedure is to inform EUTRAN or NR MN about an SCG failure the UE has experienced i.e. SCG radio link failure, e failure of SCG reconfiguration with sync, SCG configuration failure for RRC message on SRB3, SCG integrity check failure and exceeding the maximum uplink transmission timing difference.

[TS 38.331, clause 5.7.3.2]

A UE initiates the procedure to report SCG failures when SCG transmission is not suspended and when one of the following conditions is met:

1> upon detecting radio link failure for the SCG, in accordance with subclause 5.3.10.3;

1> upon reconfiguration with sync failure of the SCG, in accordance with subclause 5.3.5.9.3;

1> upon SCG configuration failure, in accordance with subclause 5.3.5.9.2;

1> upon integrity check failure indication from SCG lower layers, in accordance with subclause 5.3.5.9.1.

Upon initiating the procedure, the UE shall:

1> suspend SCG transmission for all SRBs and DRBs;

1> reset SCG-MAC;

1> stop T304, if running;

1> if the UE is operating in EN-DC:

2> initiate transmission of the SCGFailureInformationNR message as specified in TS 36.331 [10, 5.6.13a].

[TS 38.331, clause 5.7.3.3]

The UE shall set the SCG failure type as follows:

1> else, if the UE initiates transmission of the SCGFailureInformationNR message due to SRB3 IP check failure:

2> set the failureType as srb3-IntegrityFailure;

7.1.3.2.1.3 Test description

7.1.3.2.1.3.1 Pre-test conditions

– Same Pre-test conditions as in clause 7.1.3.0 with the exception that integrity protection algorithm ‘nia1 (SNOW3G)’ is configured.

– For EN_DC, same Pre-test conditions as in clause 7.1.3.0 with the exception that integrity protection algorithms ‘nia1 (SNOW3G)’ and ‘eia1 (SNOW3G)’ are configured and without message condition UE TEST LOOP MODE A.

– For EN_DC or NGEN_DC, RRCConnectionReconfiguration message including MobilityControlInfo IE is transmitted on E-UTRA Cell 1 to reconfigure SRB1 and SRB2 from E-UTRA PDCP to NR PDCP.

7.1.3.2.1.3.2 Test procedure sequence

Table 7.1.3.2.1.3.2-1: Main behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

EXCEPTION: Steps 1a1 to 1b2 describe behaviour that depends on UE configuration; the "lower case letter" identifies a step sequence that takes place depending on a particular configuration.

1a1

IF Connectivity is EN-DC or NGEN-DC, the SS sends EUTRA RRC UECapabilityEnquiry message including RAT-Type eutra-nr to the UE integrity protected.

<–

RRC: UECapabilityEnquiry

1a2

Check: Does the UE send a EUTRA RRC UECapabilityInformation message integrity protected?

–>

RRC: UECapabilityInformation

1

P

1b1

ELSE the SS sends NR RRC UECapabilityEnquiry message to the UE.

<–

NR RRC: UECapabilityEnquiry

1b2

Check: Does the UE send a NR RRC UECapabilityInformation message?

–>

NR RRC: UECapabilityInformation

1

P

EXCEPTION: Steps 2a1-2a4 describe behaviour that depends on UE configuration; the "lower case letter" identifies a step sequence that takes place if SRB3 is configured

2a1

IF Connectivity is EN-DC or NGEN-DC, IF pc_srb3 then the SS transmits an RRCReconfiguration message to reconfigure NR MAC, sent on SRB3 integrity protected.

Note 1

<–

RRCReconfiguration

2a2

Check: Does the UE transmit an RRCReconfigurationComplete message on SRB3 integrity protected?

–>

RRCReconfigurationComplete

1

P

2a3

The SS sends RRCReconfiguration message to the UE integrity protected on SRB3. The MAC-I is corrupted so as to result in integrity failure at UE.

<–

RRCReconfiguration

2a4

Check: Does the UE send SCGFailureInformationNR with failureType ‘srb3-IntegrityFailure’ on SRB1?

–>

SCGFailureInformationNR

3

P

EXCEPTION: Steps 3a1-3a2 describe behaviour that depends on whether 5GC is being emulated; the "lower case letter" identifies a step sequence that takes place if 5GC is being emulated.

3a1

SS transmits PDCP PDU on DRB integrity protected.

<–

PDCP PDU

3a2

Check: Does the UE transmit looped back PDCP PDU integrity protected on DRB?

–>

PDCP PDU

2

P

Note 1: For EN-DC the NR RRCReconfiguration is contained in RRCConnectionReconfiguration Table 7.1.3.2.1.3.3-1

7.1.3.2.1.3.3 Specific message contents

Table 7.1.3.2.1.3.3-1: RRCConnectionReconfiguration (Preamble for EN-DC or NGEN-DC)

Derivation Path: 36.508 [7] Table 4.6.1-8

Information Element

Value/remark

Comment

Condition

RRCConnectionReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

c1 CHOICE{

rrcConnectionReconfiguration-r8 ::= SEQUENCE {

mobilityControlInfo

MobilityControlInfo-HO-SameCell

As per Table 7.1.3.2.1.3.3-1A

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nr-Config-r15 CHOICE {

setup SEQUENCE {

nr-SecondaryCellGroupConfig-r15

OCTET STRING including the RRCReconfiguration message according to TS 38.508-1 [4], table 4.6.1-13 with condition EN-DC_HO

}

}

sk-Counter-r15

Increment the value by 1 from the previous value

nr-RadioBearerConfig1-r15

OCTET STRING including RadioBearerConfig according TS 38.508-1 [4], Table 4.6.3-132 with conditions EN-DC_DRB and Re-establish_PDCP

nr-RadioBearerConfig1-r15

OCTET STRING including RadioBearerConfig according TS 38.508-1 [4], Table 4.6.3-132 with conditions EN-DC_DRB and Re-establish_PDCP and SRB3

SRB3

nr-RadioBearerConfig2-r15

OCTET STRING including RadioBearerConfig according TS 38.508-1 [4], table 4.6.3-132 with condition SRB_NR_PDCP

}

}

}

}

}

}

}

}

}

}

}

}

Condition

Explanation

SRB3

Establishment of SRB3

Table 7.1.3.2.1.3.3-1A: MobilityControlInfo-HO-SameCell (Table 7.1.3.2.1.3.3-1)

Derivation Path: 36.508 [7], Table 4.6.5-1

Information Element

Value/remark

Comment

Condition

MobilityControlInfo-HO ::= SEQUENCE {

targetPhysCellId

PhysicalCellIdentity of E-UTRA Cell 1

carrierFreq

Not present

}

Table 7.1.3.2.1.3.3-2: MAC-CellGroupConfig (step 2a1, Table 7.1.3.2.1.3.2-1)

Derivation Path: TS 38.508-1 [4], Table 4.6.3-68

Information Element

Value/remark

Comment

Condition

MAC-CellGroupConfig ::= SEQUENCE {

bsr-Config SEQUENCE {

periodicBSR-Timer

sf10

Different from default

}

}

Table 7.1.3.2.1.3.3-3: SCGFailureInformationNR message (step 2a4, Table 7.1.3.2.1.3.2-1)

Derivation Path: 36.508 [7], Table 4.6.1-18AA

Information Element

Value/remark

Comment

Condition

SCGFailureInformationNR-r15::= SEQUENCE {

criticalExtensions CHOICE {

c1 CHOICE {

scgFailureInformationNR-r15 SEQUENCE {

failureReportSCG-NR-r15 SEQUENCE {

failureType-r15

srb3-IntegrityFailure

measResultFreqListNR-r15

Not checked

measResultSCG-r15

Not checked

}

nonCriticalExtension SEQUENCE {}

}

}

}

}

Table 7.1.3.2.1.3.3-4: RRCReconfiguration (Preamble for NR/5GC)

Derivation Path: TS 38.508-1 [4], Table 4.6.1-13 with condition NR

Information Element

Value/remark

Comment

Condition

RRCReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

rrcReconfiguration ::= SEQUENCE {

radioBearerConfig

RadioBearerConfig-IntegrityOnDRB

}

}

}

Table 7.1.3.2.1.3.3-5: RadioBearerConfig-IntegrityOnDRB (Preamble for NR/5GC)

Derivation Path: TS 38.508-1 [4], Table 4.6.3-132 with conditions SRB2 and DRB1

Information Element

Value/remark

Comment

Condition

RadioBearerConfig ::= SEQUENCE {

drb-ToAddModList SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod {

1 entry

Primary DRB as per Table 7.1.3.0-2

DRB1

DRB-ToAddMod[1] SEQUENCE {

entry 1

cnAssociation CHOICE {

sdap-Config

SDAP-Config

}

drb-Identity

DRB-Identity using condition DRB1

reestablishPDCP

Not present

recoverPDCP

Not present

pdcp-Config

PDCP-Config-IntegrityOnDRB

}

}

}

Table 7.1.3.2.1.3.3-6: PDCP-Config-IntegrityOnDRB (Preamble for NR/5GC)

Derivation Path: TS 38.508-1 [4], Table 4.6.3-99

Information Element

Value/remark

Comment

Condition

PDCP-Config ::= SEQUENCE {

drb SEQUENCE {

discardTimer

infinity

pdcp-SN-Size-UL

len18bits

pdcp-SN-Size-DL

len18bits

headerCompression CHOICE {

notUsed

NULL

}

integrityProtection

enabled

statusReportRequired

true

outOfOrderDelivery

Not present

}

moreThanOneRLC

Not present

t-Reordering

Not present

}

7.1.3.2.2 Integrity protection / Correct functionality of integrity algorithm AES / SRB / DRB

7.1.3.2.2.1 Test Purpose (TP)

(1)

with { UE in RRC_CONNECTED state and SRB is configured with NR-PDCP }

ensure that {

when { Functionality of integrity algorithms with AES is taken into use on SRB }

then { UE performs correct integrity protection function in NR-PDCP entity associated with SRB }

}

(2)

with { UE in RRC_CONNECTED state and NOT EN-DC }

ensure that {

when { Functionality of integrity algorithms with AES is taken into use on DRB }

then { UE performs correct integrity protection function in PDCP entities associated with DRB }

}

(3)

with { UE in RRC_CONNECTED state and SRB3 is configured }

ensure that {

when { message on SRB 3 is received and fails the integrity protection check }

then { UE transmits SCGFailureInformationNR message with failure type as srb3-IntegrityFailure }

}

NOTE: TP2 (integrity on DRB) is not applicable to EN-DC as per TS 38.331 [12] clause 6.3.2, the IE PDCP-Config.drb.integrityProtection is ‘Cond ConnectedTo5GC’.

7.1.3.2.2.2 Conformance requirements

Same conformance requirements as in clause 7.1.3.2.1.2

7.1.3.2.2.3 Test description

7.1.3.2.2.3.1 Pre-test conditions

Same Pre-test conditions as in clause 7.1.3.2.1.3.1 except that integrity protection algorithm ‘nia2 (AES)’ and ‘eia2 (AES)’ is configured.

7.1.3.2.2.3.2 Test procedure sequence

Same test procedure sequence as in clause 7.1.3.2.1.3.2.

7.1.3.2.2.3.3 Specific message contents

Same specific message contents as in clause 7.1.3.2.1.3.3 except for integrity protection algorithm ‘nia2 (AES)’ and ‘eia2 (AES)’.

7.1.3.2.3 Integrity protection / Correct functionality of integrity algorithm ZUC / SRB / DRB

(1)

with { UE in RRC_CONNECTED state and SRB is configured with NR-PDCP }

ensure that {

when { Functionality of integrity algorithms with ZUC is taken into use on SRB }

then { UE performs correct integrity protection function in NR-PDCP entities associated with SRB }

}

(2)

with { UE in RRC_CONNECTED state and NOT EN-DC }

ensure that {

when { Functionality of integrity algorithms with ZUC is taken into use on DRB }

then { UE performs correct integrity protection function in PDCP entities associated with DRB }

}

(3)

with { UE in RRC_CONNECTED state and SRB3 is configured }

ensure that {

when { message on SRB 3 is received and fails the integrity protection check }

then { UE transmits SCGFailureInformationNR message with failure type as srb3-IntegrityFailure }

}

NOTE: TP2 (integrity on DRB) is not applicable to EN-DC as per TS 38.331 [12] clause 6.3.2, the IE PDCP-Config.drb.integrityProtection is ‘Cond ConnectedTo5GC.

7.1.3.2.3.2 Conformance requirements

Same conformance requirements as in clause 7.1.3.2.1.2.

7.1.3.2.3.3 Test description

7.1.3.2.3.3.1 Pre-test conditions

Same Pre-test conditions as in clause 7.1.3.2.1.3.1 except that integrity protection algorithm ‘nia3 (ZUC)’ and ‘eia3 (ZUC)’ is configured.

7.1.3.2.3.3.2 Test procedure sequence

Same test procedure sequence as in clause 7.1.3.2.1.3.2.

7.1.3.2.3.3.3 Specific message contents

Same specific message contents as in clause 7.1.3.2.1.3.3 except integrity protection algorithm ‘nia3 (ZUC)’ and ‘eia3 (ZUC)’.

7.1.3.3 PDCP Ciphering and deciphering

7.1.3.3.1 Ciphering and deciphering / Correct functionality of encryption algorithm SNOW3G / SRB / DRB

7.1.3.3.1.1 Test Purpose (TP)

(1)

(1)

with { UE in RRC_CONNECTED state and SRB is configured with NR-PDCP }

ensure that {

when { Functionality of encryption algorithms with SNOW3G is taken into use on SRB }

then { UE performs correct ciphering/deciphering function in NR-PDCP entity associated with SRB }

}

(2)

with { UE in RRC_CONNECTED state }

ensure that {

when { Functionality of encryption algorithms with SNOW3G is taken into use on DRB }

then {UE performs correct ciphering/deciphering function in NR-PDCP entity associated with DRB }

}

7.1.3.3.1.2 Conformance requirements

References: The conformance requirements covered in the present TC are specified in: TS 38.323 clause 5.8, TS 33.501 clauses 5.6.1, D.2.1.1 and TS 36.331 clause 6.3.2. Unless otherwise stated these are Rel-15 requirements.

[TS 38.323, clause 5.8]

The ciphering function includes both ciphering and deciphering and is performed in PDCP, if configured. The data unit that is ciphered is the data part of the PDCP Data PDU (see subclause 6.3.3) except the SDAP header if included in the PDCP SDU, and the MAC-I (see subclause 6.3.4). The ciphering is not applicable to PDCP Control PDUs.

The ciphering algorithm and key to be used by the PDCP entity are configured by upper layers TS 38.331 [3] and the ciphering method shall be applied as specified in TS 33.501 [6].

The ciphering function is activated by upper layers TS 38.331 [3]. When security is activated, the ciphering function shall be applied to all PDCP Data PDUs indicated by upper layers TS 38.331 [3] for the downlink and the uplink, respectively.

For downlink and uplink ciphering and deciphering, the parameters that are required by PDCP for ciphering are defined in TS 33.501 [6] and are input to the ciphering algorithm. The required inputs to the ciphering function include the COUNT value, and DIRECTION (direction of the transmission: set as specified in TS 33.501 [6]).The parameters required by PDCP which are provided by upper layers TS 38.331 [3] are listed below:

– BEARER (defined as the radio bearer identifier in TS 33.501 [6]. It will use the value RB identity –1 as in TS 38.331 [3]);

– KEY (the ciphering keys for the control plane and for the user plane are KRRCenc and KUPenc, respectively).

[TS 33.501, clause 5.6.1]

All Identifiers and names specified in this subclause are for5G.

Each Encryption Algorithm used for 5G will be assigned a 4-bit identifier. The following values for ciphering algorithms are defined:

"00002" NEA0 Null ciphering algorithm;

"00012" 128-NEA1 128-bit SNOW 3G based algorithm;

"00102" 128-NEA2 128-bit AES based algorithm; and

"00112" 128-NEA3 128-bit ZUC based algorithm.

128-NEA1 is based on SNOW 3G (see TS35.215 [14]).

128-NEA2 is based on 128-bit AES [15] in CTR mode [16].

128-NEA3 is based on 128-bit ZUC (sseTS35.221 [18]).

Full details of the algorithms are specified in Annex D.

[TS 33.501, clause D.2.1.1]

The input parameters to the ciphering algorithm are a 128-bit cipher key named KEY, a 32-bit COUNT, a 5-bit bearer identity BEARER, the 1-bit direction of the transmission i.e. DIRECTION, and the length of the keystream required i.e. LENGTH. The DIRECTION bit shall be 0 for uplink and 1 for downlink.

Editor’s Note: For NAS layer security, the inputs may need to change depending on the solution that is selected for having simultaneous NAS connections for 3GPP and non-3GPP.

Figure D.2.1.1-1 illustrates the use of the ciphering algorithm NEA to encrypt plaintext by applying a keystream using a bit per bit binary addition of the plaintext and the keystream. The plaintext may be recovered by generating the same keystream using the same input parameters and applying a bit per bit binary addition with the ciphertext.

Figure D.2.1.1-1: Ciphering of data

Based on the input parameters the algorithm generates the output keystream block KEYSTREAM which is used to encrypt the input plaintext block PLAINTEXT to produce the output ciphertext block CIPHERTEXT.

The input parameter LENGTH shall affect only the length of the KEYSTREAM BLOCK, not the actual bits in it.

[TS 36.331, clause 6.3.3]

The IE SecurityAlgorithmConfig is used to configure AS integrity protection algorithm (SRBs) and AS ciphering algorithm (SRBs and DRBs).

SecurityAlgorithmConfig field descriptions

cipheringAlgorithm

Indicates the ciphering algorithm to be used for SRBs and DRBs, as specified in TS 33.501 [11]. The algorithms nea0-nea3 are identical to the LTE algorithms eea0-3. For EN-DC, the algorithms configured for bearers using KeNB shall be the same as for all bearers using KeNB.

integrityProtAlgorithm

For EN-DC, this IE indicates the integrity protection algorithm to be used for SRBs, as specified in TS 33.501 [11]. The algorithms nia0-nia3 is identical to the LTE algorithms eia0-3. For EN-DC, the algorithms configured for SRBs using KeNB shall be the same as for all SRBs using KeNB.

7.1.3.3.1.3 Test description

7.1.3.3.1.3.1 Pre-test conditions

– Same Pre-test conditions as in clause 7.1.3.0 with the exception that ciphering algorithm ‘nea1 (SNOW3G)’ is configured.

– For EN_DC or NGEN_DC, same Pre-test conditions as in clause 7.1.3.0 with the exception that ciphering algorithms ‘eea1 (SNOW3G)’ and ‘nea1 (SNOW3G)’ are configured and without message condition UE TEST LOOP MODE A, then RRCConnectionReconfiguration message including MobilityControlInfo IE is transmitted on E-UTRA Cell 1 to reconfigure SRB1, SRB2 and MCG DRB from E-UTRA PDCP to NR PDCP and Test Loop Function (On) with UE test loop mode A (message condition UE TEST LOOP MODE A to return one UL PDCP SDU per DL PDCP SDU) according to TS 38.508-1 [4].

7.1.3.3.1.3.2 Test procedure sequence

Table 7.1.3.3.1.3.2-1: Main behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

Exception steps 1a1 to 1b2 depends on UE configuration.

1a1

IF Connectivity is EN-DC or NGEN-DC,

the SS sends EUTRA RRC UECapabilityEnquiry including RAT-Type eutra message to the UE.

<–

RRC:UECapabilityEnquiry

1a2

Check: Does the UE send a EUTRA RRC UECapabilityInformation message?

–>

RRC:UECapabilityInformation

1

P

1b1

ELSE the SS sends NR RRC UECapabilityEnquiry message to the UE.

<–

NR RRC:UECapabilityEnquiry

1b2

Check: Does the UE send a NR RRC UECapabilityInformation message?

–>

NR RRC:UECapabilityInformation

1

P

EXCEPTION: steps 2a1-2a2 depends on UE configuration, executed if SCG DRB is configured

2a1

IF Connectivity is EN-DC or NGEN-DC, SS transmits PDCP PDU on SCG DRB ciphered.

<–

PDCP PDU

2a2

Check: Does the UE transmit looped back PDCP PDU ciphered on SCG DRB?

–>

PDCP PDU

2

P

3

SS transmits PDCP PDU on MCG DRB ciphered.

<–

PDCP PDU

4

Check: Does the UE transmit looped back PDCP PDU ciphered on MCG DRB?

–>

PDCP PDU

2

P

7.1.3.3.1.3.3 Specific message contents

Table 7.1.3.3.1.3.3-1: RRCConnectionReconfiguration (Preamble for EN-DC or NGEN-DC)

Derivation Path: 36.508[47] Table 4.6.1-8

Information Element

Value/remark

Comment

Condition

RRCConnectionReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

c1 CHOICE{

rrcConnectionReconfiguration-r8 ::= SEQUENCE {

mobilityControlInfo

MobilityControlInfo-HO-SameCell

As per Table 7.1.3.3.1.3.3-2

radioResourceConfigDedicated

RadioResourceConfigDedicated-DRB-Rel-Add

As per Table 7.1.3.3.1.3.3-3

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nonCriticalExtension ::= SEQUENCE {

nr-Config-r15 CHOICE {

setup SEQUENCE {

nr-SecondaryCellGroupConfig-r15

OCTET STRING including the RRCReconfiguration message according to TS 38.508-1 [4], table 4.6.1-13 with condition EN-DC_HO.

}

}

sk-Counter-r15

Increment the value by 1 from the previous value

nr-RadioBearerConfig1-r15

OCTET STRING including RadioBearerConfig according TS 38.508-1 [4], table 4.6.3-132 with condition EN-DC_DRB and Re-establish_PDCP

nr-RadioBearerConfig2-r15

OCTET STRING including RadioBearerConfig according TS 38.508-1 [4], table 4.6.3-132 with conditions SRB_NR_PDCP and MCG_NR_PDCP

}

}

}

}

}

}

}

}

}

}

}

}

Table 7.1.3.3.1.3.3-2: MobilityControlInfo-HO-SameCell (Table 7.1.3.3.1.3.3-1)

Derivation Path: 36.508 [7], Table 4.6.5-1

Information Element

Value/remark

Comment

Condition

MobilityControlInfo-HO ::= SEQUENCE {

targetPhysCellId

PhysicalCellIdentity of E-UTRA Cell 1

carrierFreq

Not present

}

Table 7.1.3.3.1.3.3-3: RadioResourceConfigDedicated-DRB-Rel-Add (Table 7.1.3.3.1.3.3-1)

Derivation Path: 36.508 [7], Table 4.6.3-19AAAAAD

Information Element

Value/remark

Comment

Condition

RadioResourceConfigDedicated-SRB2-DRB ::= SEQUENCE {

srb-ToAddModList

Not present

drb-ToAddModList SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod {

1 entry

drb-ToAddMod[1]

DRB-ToAddMod-DEFAULT (8) using condition AM except pdcp-Config not included

entry 1

See TS 36.508 subclause 4.8.2

}

drb-ToReleaseList SEQUENCE (SIZE (1..maxDRB)) OF DRB-Identity {

1 entry

DRB-Identity[1]

8

entry 1

Same as the DRB Identity associated with the default EPS bearer

}

}

7.1.3.3.2 Ciphering and deciphering / Correct functionality of encryption algorithm AES / SRB / DRB

7.1.3.3.2.1 Test Purpose (TP)

(1)

with { UE in RRC_CONNECTED state and SRB is configured with NR-PDCP }

ensure that {

when { Functionality of encryption algorithms with AES is taken into use on SRB }

then { UE performs correct ciphering/deciphering function in NR-PDCP entity associated with SRB }

}

(2)

with { UE in RRC_CONNECTED state }

ensure that {

when { Functionality of encryption algorithms with AES is taken into use on DRB }

then {UE performs correct ciphering/deciphering function in NR-PDCP entity associated with DRB }

}

7.1.3.3.2.2 Conformance requirements

Same conformance requirement as in clause 7.1.3.3.1.2.

7.1.3.3.2.3 Test description

7.1.3.3.2.3.1 Pre-test conditions

Same Pre-test conditions as in clause 7.1.3.3.1.3.1 with the exception that ciphering algorithm ‘nea2 (AES)’ and ‘eea2 (AES)’ is configured.

7.1.3.3.2.3.2 Test procedure sequence

Same Test procedure sequence as in clause 7.1.3.3.1.3.2

7.1.3.3.2.3.3 Specific message contents

None

7.1.3.3.3 Ciphering and deciphering / Correct functionality of encryption algorithm ZUC / SRB / DRB

7.1.3.3.3.1 Test Purpose (TP)

(1)

with { UE in RRC_CONNECTED state and SRB is configured with NR-PDCP}

ensure that {

when { Functionality of encryption algorithms with ZUC is taken into use on SRB }

then { UE performs correct ciphering/deciphering function in NR-PDCP entity associated with SRB }

}

(2)

with { UE in RRC_CONNECTED state and DRB is configured with NR-PDCP}

ensure that {

when { Functionality of encryption algorithms with ZUC is taken into use on DRB }

then { UE performs correct ciphering/deciphering function in NR-PDCP entity associated with DRB }

}

7.1.3.3.3.2 Conformance requirements

Same conformance requirement as in clause 7.1.3.3.1.2.

7.1.3.3.3.3 Test description

7.1.3.3.3.3.1 Pre-test conditions

Same Pre-test conditions as in clause 7.1.3.3.1.3.1 with the exception that ciphering algorithm ‘nea3 (ZUC)’ and ‘eea3 (ZUC)’ is configured.

7.1.3.3.3.3.2 Test procedure sequence

Same Test procedure sequence as in clause 7.1.3.3.1.3.2.

7.1.3.3.3.3.3 Specific message contents

None

7.1.3.4 PDCP Handover

7.1.3.4.1 PDCP handover / Lossless handover / PDCP sequence number maintenance / PDCP status report to convey the information on missing or acknowledged PDCP SDUs at handover / In-order delivery and duplicate elimination in the downlink

7.1.3.4.1.1 Test Purpose (TP)

(1)

with { UE in RRC_CONNECTED state with default RB using RLC-AM }

ensure that {

when { UE is requested to make a lossless handover by SS }

then { UE creates a PDCP status report to SS }

}

(2)

with { UE in RRC_CONNECTED state with default RB using RLC-AM }

ensure that {

when { UE is requested to make a lossless handover by SS }

then { UE retransmits the unacknowledged data }

}

(3)

with { UE in RRC_CONNECTED state with default RB using RLC-AM }

ensure that {

when { UE is requested to make a lossless handover by SS }

then { UE achieves in-order delivery and discards a PDCP PDU already received in the downlink }

}

7.1.3.4.1.2 Conformance requirements

References: The conformance requirements covered in the present test case are specified in: TS 38.323, clauses 5.1.2, 5.2.2.1, 5.3, 5.4.1, 5.4.2 and 7.1. Unless otherwise stated these are Rel-15 requirements.

[TS 38.323, clause 5.1.2]

When upper layers request a PDCP entity re-establishment, the UE shall additionally perform once the procedures described in this section. After performing the procedures in this section, the UE shall follow the procedures in subclause 5.2.

When upper layers request a PDCP entity re-establishment, the transmitting PDCP entity shall:

– for UM DRBs and AM DRBs, reset the header compression protocol for uplink and start with an IR state in U-mode (as defined in RFC 3095 [8] and RFC 4815 [9]) if drb-ContinueROHC is not configured in TS 38.331 [3];

– for UM DRBs and SRBs, set TX_NEXT to the initial value;

– for SRBs, discard all stored PDCP SDUs and PDCP PDUs;

– apply the ciphering algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;

– apply the integrity protection algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;

– for UM DRBs, for each PDCP SDU already associated with a PDCP SN but for which a corresponding PDU has not previously been submitted to lower layers:

– consider the PDCP SDUs as received from upper layer;

– perform transmission of the PDCP SDUs in ascending order of the COUNT value associated to the PDCP SDU prior to the PDCP re-establishment without restarting the discardTimer, as specified in subclause 5.2.1;

– for AM DRBs, from the first PDCP SDU for which the successful delivery of the corresponding PDCP Data PDU has not been confirmed by lower layers, perform retransmission or transmission of all the PDCP SDUs already associated with PDCP SNs in ascending order of the COUNT values associated to the PDCP SDU prior to the PDCP entity re-establishment as specified below:

– perform header compression of the PDCP SDU as specified in the subclause 5.7.4;

– perform integrity protection and ciphering of the PDCP SDU using the COUNT value associated with this PDCP SDU as specified in the subclause 5.9 and 5.8;

– submit the resulting PDCP Data PDU to lower layer, as specified in subclause 5.2.1.

When upper layers request a PDCP entity re-establishment, the receiving PDCP entity shall:

– process the PDCP Data PDUs that are received from lower layers due to the re-establishment of the lower layers, as specified in the subclause 5.2.2.1;

– for SRBs, discard all stored PDCP SDUs and PDCP PDUs;

– for SRBs and UM DRBs, if t-Reordering is running:

– stop and reset t-Reordering;

– for UM DRBs, deliver all stored PDCP SDUs to the upper layers in ascending order of associated COUNT values after performing header decompression;

– for AM DRBs, perform header decompression for all stored PDCP SDUs if drb-ContinueROHC is not configured in TS 38.331 [3];

– for UM DRBs and AM DRBs, reset the header compression protocol for downlink and start with NC state in U-mode (as defined in RFC 3095 [8] and RFC 4815 [9]) if drb-ContinueROHC is not configured in TS 38.331 [3];

– for UM DRBs and SRBs, set RX_NEXT and RX_DELIV to the initial value;

– apply the ciphering algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;

– apply the integrity protection algorithm and key provided by upper layers during the PDCP entity re-establishment procedure.

[TS 38.323, clause 5.2.2.1]

In this section, following definitions are used:

– HFN(State Variable): the HFN part (i.e. the number of most significant bits equal to HFN length) of the State Variable;

– SN(State Variable): the SN part (i.e. the number of least significant bits equal to PDCP SN length) of the State Variable;

– RCVD_SN: the PDCP SN of the received PDCP Data PDU, included in the PDU header;

– RCVD_HFN: the HFN of the received PDCP Data PDU, calculated by the receiving PDCP entity;

– RCVD_COUNT: the COUNT of the received PDCP Data PDU = [RCVD_HFN, RCVD_SN].

At reception of a PDCP Data PDU from lower layers, the receiving PDCP entity shall determine the COUNT value of the received PDCP Data PDU, i.e. RCVD_COUNT, as follows:

– if RCVD_SN < SN(RX_DELIV) – Window_Size:

– RCVD_HFN = HFN(RX_DELIV) + 1.

– else if RCVD_SN >= SN(RX_DELIV) + Window_Size:

– RCVD_HFN = HFN(RX_DELIV) – 1.

– else:

– RCVD_HFN = HFN(RX_DELIV);

– RCVD_COUNT = [RCVD_HFN, RCVD_SN].

After determining the COUNT value of the received PDCP Data PDU = RCVD_COUNT, the receiving PDCP entity shall:

– perform deciphering and integrity verification of the PDCP Data PDU using COUNT = RCVD_COUNT;

– if integrity verification fails:

– indicate the integrity verification failure to upper layer;

– discard the PDCP Data PDU;

– if RCVD_COUNT < RX_DELIV; or

– if the PDCP Data PDU with COUNT = RCVD_COUNT has been received before:

– discard the PDCP Data PDU;

If the received PDCP Data PDU with COUNT value = RCVD_COUNT is not discarded above, the receiving PDCP entity shall:

– store the resulting PDCP SDU in the reception buffer;

– if RCVD_COUNT >= RX_NEXT:

– update RX_NEXT to RCVD_COUNT + 1.

– if outOfOrderDelivery is configured:

– deliver the resulting PDCP SDU to upper layers.

– if RCVD_COUNT = RX_DELIV:

– deliver to upper layers in ascending order of the associated COUNT value after performing header decompression, if not decompressed before;

– all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from COUNT = RX_DELIV;

– update RX_DELIV to the COUNT value of the first PDCP SDU which has not been delivered to upper layers, with COUNT value > RX_DELIV;

– if t-Reordering is running, and if RX_DELIV >= RX_REORD:

– stop and reset t-Reordering.

– if t-Reordering is not running (includes the case when t-Reordering is stopped due to actions above), and RX_DELIV < RX_NEXT:

– update RX_REORD to RX_NEXT;

– start t-Reordering.

[TS 38.323, clause 5.3]

When the discardTimer expires for a PDCP SDU, or the successful delivery of a PDCP SDU is confirmed by PDCP status report, the transmitting PDCP entity shall discard the PDCP SDU along with the corresponding PDCP Data PDU. If the corresponding PDCP Data PDU has already been submitted to lower layers, the discard is indicated to lower layers.

For SRBs, when upper layers request a PDCP SDU discard, the PDCP entity shall discard all stored PDCP SDUs and PDCP PDUs.

NOTE: Discarding a PDCP SDU already associated with a PDCP SN causes a SN gap in the transmitted PDCP Data PDUs, which increases PDCP reordering delay in the receiving PDCP entity. It is up to UE implementation how to minimize SN gap after SDU discard.

[TS 38.323, clause 5.4.1]

For AM DRBs configured by upper layers to send a PDCP status report in the uplink (statusReportRequired in TS 38.331 [3]), the receiving PDCP entity shall trigger a PDCP status report when:

– upper layer requests a PDCP entity re-establishment;

– upper layer requests a PDCP data recovery.

If a PDCP status report is triggered, the receiving PDCP entity shall:

– compile a PDCP status report as indicated below by:

– setting the FMC field to RX_DELIV;

– if RX_DELIV < RX_NEXT:

– allocating a Bitmap field of length in bits equal to the number of COUNTs from and not including the first missing PDCP SDU up to and including the last out-of-sequence PDCP SDUs, rounded up to the next multiple of 8, or up to and including a PDCP SDU for which the resulting PDCP Control PDU size is equal to 9000 bytes, whichever comes first;

– setting in the bitmap field as ‘0’ for all PDCP SDUs that have not been received, and optionally PDCP SDUs for which decompression have failed;

– setting in the bitmap field as ‘1’ for all PDCP SDUs that have been received;

– submit the PDCP status report to lower layers as the first PDCP PDU for transmission via the transmitting PDCP entity as specified in subclause 5.2.1..

[TS 38.323, clause 5.4.2]

For AM DRBs, when a PDCP status report is received in the downlink, the transmitting PDCP entity shall:

– consider for each PDCP SDU, if any, with the bit in the bitmap set to ‘1’, or with the associated COUNT value less than the value of FMC field as successfully delivered, and discard the PDCP SDU as specified in the subclause 5.3.

[TS 38.323, clause 7.1]

This sub clause describes the state variables used in PDCP entities in order to specify the PDCP protocol. The state variables defined in this subclause are normative.

All state variables are non-negative integers, and take values from 0 to [232 – 1].

PDCP Data PDUs are numbered integer sequence numbers (SN) cycling through the field: 0 to [2[pdcp-SN-Size] – 1].

The transmitting PDCP entity shall maintain the following state variables:

a) TX_NEXT

This state variable indicates the COUNT value of the next PDCP SDU to be transmitted. The initial value is 0.

The receiving PDCP entity shall maintain the following state variables:

a) RX_NEXT

This state variable indicates the COUNT value of the next PDCP SDU expected to be received. The initial value is 0.

b) RX_DELIV

This state variable indicates the COUNT value of the first PDCP SDU not delivered to the upper layers, but still waited for. The initial value is 0.

c) RX_REORD

This state variable indicates the COUNT value following the COUNT value associated with the PDCP Data PDU which triggered t-Reordering.

7.1.3.4.1.3 Test description

7.1.3.4.1.3.1 Pre-test conditions

Same Pre-test conditions as in clause 7.1.3.0 except the following:

– 2 NR cells (NR Cell 1 and NR Cell 2) are configured with DRBs in RLC AM mode.

– The cell power levels are configured as per the Table 7.1.3.4.1.3.1-1.

– DRB of NR Cell 1 is configured according to Table 7.1.3.4.1.3.1-3.

Table 7.1.3.4.1.3.1-1: Time instances of cell power level in FR1

Parameter

Unit

EUTRA Cell 1

NR Cell 1

NR Cell 2

Remark

T0

Cell-specific RS EPRE

dBm/SCS

-85

SS/PBCH

SSS EPRE

dBm/SCS

-88

Off

T1

Cell-specific RS EPRE

dBm/SCS

-85

SS/PBCH

SSS EPRE

dBm/SCS

-88

-82

T2

Cell-specific RS EPRE

dBm/SCS

-85

SS/PBCH

SSS EPRE

dBm/SCS

-82

-88

Table 7.1.3.4.1.3.1-2: Time instances of cell power level in FR2

Parameter

Unit

EUTRA Cell 1

NR Cell 1

NR Cell 2

Remark

T0

Cell-specific RS EPRE

dBm/SCS

-96

SS/PBCH

SSS EPRE

dBm/SCS

-91

Off

T1

Cell-specific RS EPRE

dBm/SCS

-96

SS/PBCH

SSS EPRE

dBm/SCS

-91

-82

T2

Cell-specific RS EPRE

dBm/SCS

-96

SS/PBCH

SSS EPRE

dBm/SCS

-82

-91

Table 7.1.3.4.1.3.1-3: RLC parameters

t-PollRetransmit

ms150

Table 7.1.3.4.1.3.1-4: MAC-CellGroupConfig

Derivation Path: TS 38.508, clause Table 4.6.3-68

Information Element

Value/remark

Comment

Condition

MAC-CellGroupConfig ::= SEQUENCE {

bsr-Config SEQUENCE {

retxBSR-Timer

sf80

}

7.1.3.4.1.3.2 Test procedure sequence

Table 7.1.3.4.1.3.2-1: Main behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

1

The SS creates 5 PDCP Data PDUs and the TX_NEXT is set to "0".

EXCEPTION: Step 2 and 3 shall be repeated for k=0 to 1(increment=1).

2

The SS sends the PDCP Data PDU#k via RLC-AM RB with the following content to the UE:

D/C field = 1 (PDCP Data PDU) and PDCP SN = k on NR Cell 1.

After having sent a PDU, the SS set TX_NEXT = k+1.

<–

PDCP PDU DATA #k

3

The UE sends the PDCP Data PDU#k via RLC-AM RB with the following content to the UE:

D/C field = 1 (PDCP Data PDU) and PDCP SN = k on NR Cell 1.

Data is previously received data from PDU #k. (Note 1)

–>

PDCP PDU DATA #k

3A

The SS changes NR Cell 2 parameters according to the row "T1" in table 7.1.3.4.1.3.1-1(FR1) / 7.1.3.4.1.3.1-2(FR2).

EXCEPTION: Step 4 to 6 shall be repeated for m=2 to 4 (increment=1).

4

The SS is configured on NR Cell 1 not to send RLC acknowledgement (RLC ACK) to the next received RLC SDU to the UE.

5

The SS sends the PDCP Data PDU #m via RLC-AM RB with the following content to the UE:

D/C field = 1 (PDCP Data PDU) and PDCP SN =m.

After having sent a PDU, the SS set TX_NEXT = m+1. (Note 6)

<–

PDCP PDU DATA #m

6

The UE sends the PDCP Data PDU#m via RLC-AM RB with the following content to the UE:

D/C field = 1 (PDCP Data PDU) and PDCP SN = m.

Data is previously received data from PDU #m. (Note 2)

–>

PDCP PDU DATA #m

6A

Configure SS not to allocate UL grant to the UE in NR Cell 1

7

Void

8

The SS transmits NR RRCReconfiguration message to perform SpCell change from NR Cell1 to NR Cell2

(Note 3)

<–

RRCReconfiguration

9

The SS assigns UL grant during the Random Access procedure on NR Cell 2 to allow the UE to send PDCP status report.(Note 5)

EXCEPTION: Steps 10 and 11 can occur in any order. (Note 7)

10

The UE transmits a NR RRCReconfigurationComplete message.

(Note 4)

–>

RRCReconfigurationComplete

11

Check: Does the UE send PDCP Control PDUs via RLC-AM RB with the following content to the SS:

D/C field = 0 (PDCP control PDU) and PDU Type =000, FMC field = 5 on NR Cell 2?

–>

PDCP STATUS REPORT

1

P

12

The SS generates a PDCP status report message and sends it to UE: D/C field = 0 (PDCP control PDU) and PDU Type =000, FMC field = 2 on NR Cell 2.

<–

PDCP STATUS REPORT

13

Configure the SS to allocate Default UL grants to the UE in NR Cell 2.

14

Void

EXCEPTION: Step 15 shall be repeated for m=2 to 4 (increment=1).

15

Check: Does the UE send the PDCP Data PDU #m via RLC-AM RB with the following content to the SS:

D/C field = 1 (PDCP Data PDU) and PDCP SN = m on NR Cell 2?

Note: Data is previously received data from PDU #m.

(Note 8)

–>

PDCP PDU DATA #m

2

P

16

The SS sends the PDCP Data PDU#5 via RLC-AM RB with the following content to the UE:

PDCP Data PDU #5 (

D/C field = 1 (PDCP Data PDU) and PDCP SN=5) on NR Cell 2.

<–

PDCP DATA PDU#5

17

The UE transmits a PDCP Data PDU via RLC-AM RB with the following content back to the SS:

D/C field = 1 (PDCP Data PDU) and PDCP SN=5 on NR Cell 2.

Note: Data is previously received packet in PDCP Data PDU#5.

(Note 1)

–>

PDCP DATA PDU #5

18

TX_NEXT is set to "6".

The SS creates a PDCP Data PDU#6 (not transmitted).

19

The TX_NEXT is set to "7". The SS creates a PDCP Data PDU #7.

20

The SS sends PDCP Data PDU#7 via RLC-AM RB with the following content to the UE:

PDCP Data PDU#7;

D/C field = 1 (PDCP Data PDU) and PDCP SN=7 on NR Cell 2.

<–

PDCP DATA PDU #7

21

Check: Does the UE transmit a PDCP DATA PDU#7 on NR Cell 2?

–>

PDCP DATA PDU#7

3

F

21A

Configure SS not to allocate UL grant to the UE in NR Cell 1

22

The SS changes NR Cell 1 and NR Cell 2 parameters according to row "T2" in Table 7.1.3.4.1.3.1-1(FR1) / 7.1.3.4.1.3.1-2(FR2).

23

The SS requests transmits NR RRCReconfiguration message to perform SpCell change from NR Cell2 to NR Cell1 with key change.

(Note 3)

<–

RRCReconfiguration

24

SS assigns UL grant during the Random Access procedure on NR Cell 1 to allow the UE to send PDCP status report.(Note 5)

EXCEPTION: Steps 25 and 26 can occur in any order. (Note 7)

25

The UE transmits a NR RRCReconfigurationComplete message.

(Note 4)

–>

RRCReconfigurationComplete

26

The UE sends PDCP Control PDUs via RLC-AM RB with the following content to the SS: D/C field = 0 (PDCP control PDU) and PDU Type =000, FMC field = 6, Bitmap = 0x80 on NR Cell 1.

–>

PDCP STATUS REPORT

27

The SS generates a PDCP status report message and sends it to UE: D/C field = 0 (PDCP control PDU) and PDU Type =000, FMC field = 6 on NR Cell 1.

<–

PDCP STATUS REPORT

28

Configure the SS to allocate Default UL grants to the UE in NR Cell 1

28A

The SS sends the PDCP Data PDU#5 via RLC-AM RB with the following content to the UE:

PDCP Data PDU #5 (

D/C field = 1 (PDCP Data PDU) and PDCP SN=5) on NR Cell 1.

<–

PDCP DATA PDU#5

28B

Check: Does the UE transmit a PDCP Data PDU via RLC-AM RB with the following content back to the SS:

D/C field = 1 (PDCP Data PDU) and PDCP SN=5 on NR Cell 1 within the next 5 seconds?

–>

PDCP DATA PDU #5

3

F

29

The SS sends the PDCP Data PDU#6 via RLC-AM RB with the following content to the UE:

PDCP Data PDU#6 (

D/C field = 1 (PDCP Data PDU) and PDCP SN=6) on NR Cell 1.

<–

PDCP DATA PDU #6

30

Check: Does the UE transmit a PDCP Data PDU via RLC-AM RB with the following content back to the SS?

D/C field = 1 (PDCP Data PDU) and PDCP SN=6 on NR Cell 1.

Note: Data is previously received packet in PDCP Data PDU#6

(Note 9)

–>

PDCP DATA PDU #6

3

P

31

Check: Does the UE transmit PDCP Data PDU via RLC-AM RB with the following content back to the SS?

D/C field = 1 (PDCP Data PDU) and PDCP SN=7 on NR Cell 1.

Note: Data is previously received packet in PDCP Data PDU#7

(Note 9)

–>

PDCP DATA PDU #7

3

P

Note 1: The SS acknowledges the received data.

Note 2: SS doesn’t send the RLC ACK for this data.

Note 3: For EN-DC the NR RRCReconfiguration (Table 7.1.3.4.1.3.3-1 with cond EN-DC) and RadioBearerConfig message (Table 7.1.3.4.1.3.3-2) are contained in RRCConnectionReconfiguration 36.508 [7], Table 4.6.1-8 using conditions EN-DC_EmbedNR_RRCRecon, EN-DC_PSCell_HO and RBConfig_KeyChange. IE sk-Counter-r15 is included with a value incremented by 1 than previous value.

Note 4: For EN-DC the NR RRCReconfigurationComplete message is contained in RRCConnectionReconfigurationComplete.

Note 5: The PDCP STATUS REPORT PDU size shall be 6 octets with 3 octets of RLC header, 2 octets of MAC header and 3 octets of MAC BSR or padding, so TBS of 112 bits shall be allocated.

Note 6: PDCP PDU with m = 2 is sent at t = 0 and the subsequent PDCP PDUs are sent at t = (m-2)*100.

Note 7: Per 38.508-1 Table 4.6.3-66: LogicalChannelConfig, both SRB1 and DRB have the same logical channel priority with prioritisedBitRate as infinity.

Note 8 PDCP PDUs at step 15 (m=2 to 4) may be received by the SS in the same slot or in multiple slots (max one MAC PDU in a slot).

Note 9 PDCP PDUs at steps 30 and 31 may be received by the SS in the same slot or in multiple slots (max one MAC PDU in a slot).

7.1.3.4.1.3.3 Specific message contents

Table 7.1.3.4.1.3.3-0: SchedulingRequest-Config (Preamble)

Derivation Path: 38.508-1 [4], Table: 4.6.3-155

Information Element

Value/remark

Comment

Condition

sr-TransMax

n64

Table 7.1.3.4.1.3.3-1: RRCReconfiguration (steps 8, 23)

Derivation Path: 38.508-1 [4], Table: 4.6.1-13

Information Element

Value/remark

Comment

Condition

RRCReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

rrcReconfiguration ::= SEQUENCE {

radioBearerConfig

RadioBearerConfig

NR

secondaryCellGroup

CellGroupConfig

EN-DC

}

nonCriticalExtension::= SEQUENCE {

NR

masterCellGroup

CellGroupConfig

masterKeyUpdate ::= SEQUENCE {

keySetChangeIndicator

false

nextHopChainingCount

0

nas-Container

Not present

Horizontal key derivation

}

}

}

}

Table 7.1.3.4.1.3.3-2: RadioBearerConfig (Table 7.1.3.4.1.3.3-1)

Derivation Path: 38.508-1 [4], Table: 4.6.3-132

Information Element

Value/remark

Comment

Condition

RadioBearerConfig ::= SEQUENCE {

drb-ToAddModList SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod {

1 entry

DRB-ToAddMod[1] SEQUENCE {

entry 1

drb-Identity

2

SCG DRB Id

EN-DC

Default DRB of the first PDU session

NR

reestablishPDCP

True

recoverPDCP

Not present

pdcp-Config

PDCP-Config

}

}

}

Table 7.1.3.4.1.3.3-3: PDCP-Config (Table 7.1.3.4.1.3.3-2)

Derivation Path: 38.508-1 [4], Table: 4.6.3-99

Information Element

Value/remark

Comment

Condition

PDCP-Config ::= SEQUENCE {

drb SEQUENCE {

statusReportRequired

True

}

}

Table 7.1.3.4.1.3.3-4: CellGroupConfig for EN-DC (Table 7.1.3.4.1.3.3-1)

Derivation Path: 38.508-1 [4], Table: 4.6.3-19 with condition PSCell_change

Information Element

Value/remark

Comment

Condition

CellGroupConfig ::= SEQUENCE {

spCellConfig SEQUENCE {

reconfigurationWithSync SEQUENCE {

spCellConfigCommon

ServingCellConfigCommon

}

}

}

Table 7.1.3.4.1.3.3-4A: CellGroupConfig for NR/5GC (Table 7.1.3.4.1.3.3-1)

Derivation Path: 38.508-1 [4], Table: 4.6.3-19 with condition PCell_change

Table 7.1.3.4.1.3.3-5: Void

Table 7.1.3.4.1.3.3-6: Void

7.1.3.4.2 PDCP handover / Non-lossless handover / PDCP sequence number maintenance

7.1.3.4.2.1 Test Purpose (TP)

(1)

with { UE in RRC_CONNECTED state with default RB using RLC-UM }

ensure that {

when { UE is requested to make a non-lossless handover by SS }

then { UE transmits next PDCP Data PDU with SN value 0 }

}

(2)

with { UE in RRC_CONNECTED state with default RB using RLC-UM }

ensure that {

when { UE is requested to make a non-lossless handover by SS }

then { UE is able to receive next PDCP Data PDU with SN value 0 }

}

7.1.3.4.2.2 Conformance requirements

References: The conformance requirements covered in the present TC are specified in: TS 38.323, clause 5.1.2. Unless otherwise stated these are Rel-15 requirements.

[TS 38.323, clause 5.1.2]

When upper layers request a PDCP entity re-establishment, the UE shall additionally perform once the procedures described in this section. After performing the procedures in this section, the UE shall follow the procedures in subclause 5.2.

When upper layers request a PDCP entity re-establishment, the transmitting PDCP entity shall:

– for UM DRBs and AM DRBs, reset the header compression protocol for uplink and start with an IR state in U-mode (as defined in RFC 3095 [8] and RFC 4815 [9]) if drb-ContinueROHC is not configured in TS 38.331 [3];

– for UM DRBs and SRBs, set TX_NEXT to the initial value;

– for SRBs, discard all stored PDCP SDUs and PDCP PDUs;

– apply the ciphering algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;

– apply the integrity protection algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;

– for UM DRBs, for each PDCP SDU already associated with a PDCP SN but for which a corresponding PDU has not previously been submitted to lower layers:

– consider the PDCP SDUs as received from upper layer;

– perform transmission of the PDCP SDUs in ascending order of the COUNT value associated to the PDCP SDU prior to the PDCP re-establishment without restarting the discardTimer.

– for AM DRBs, from the first PDCP SDU for which the successful delivery of the corresponding PDCP Data PDU has not been confirmed by lower layers, perform retransmission or transmission of all the PDCP SDUs already associated with PDCP SNs in ascending order of the COUNT values associated to the PDCP SDU prior to the PDCP entity re-establishment as specified below:

– perform header compression of the PDCP SDU as specified in the subclause 5.7.4;

– perform integrity protection and ciphering of the PDCP SDU using the COUNT value associated with this PDCP SDU as specified in the subclause 5.9 and 5.8;

– submit the resulting PDCP Data PDU to lower layer.

When upper layers request a PDCP entity re-establishment, the receiving PDCP entity shall:

– process the PDCP Data PDUs that are received from lower layers due to the re-establishment of the lower layers, as specified in the subclause 5.2.2.1;

– for SRBs, discard all stored PDCP SDUs and PDCP PDUs;

– for UM DRBs, if t-Reordering is running:

– stop and reset t-Reordering;

– deliver all stored PDCP SDUs to the upper layers in ascending order of associated COUNT values after performing header decompression.

– for AM DRBs, perform header decompression for all stored PDCP SDUs if drb-ContinueROHC is not configured in TS 38.331 [3];

– for UM DRBs and AM DRBs, reset the header compression protocol for downlink and start with NC state in U-mode (as defined in RFC 3095 [8] and RFC 4815 [9]) if drb-ContinueROHC is not configured in TS 38.331 [3];

– for UM DRBs and SRBs, set RX_NEXT and RX_DELIV to the initial value;

– apply the ciphering algorithm and key provided by upper layers during the PDCP entity re-establishment procedure;

– apply the integrity protection algorithm and key provided by upper layers during the PDCP entity re-establishment procedure.

7.1.3.4.2.3 Test description

7.1.3.4.2.3.1 Pre-test conditions

Same Pre-test conditions as in clause 7.1.3.0 except that the DRB under test is configured in RLC UM mode. For EN-DC, ciphering algorithm is configured as null on E-UTRA.

7.1.3.4.2.3.2 Test procedure sequence

Table 7.1.3.4.2.3.2-1: Main behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

1

The SS creates 3 PDCP Data PDUs and the TX_NEXT is set to "0".

EXCEPTION: Step 2 and 3 shall be repeated for k=0 to 1 (increment=1).

2

The SS sends the PDCP Data PDU #k via RLC-UM RB with the following content to the UE:

D/C field = 1 (PDCP Data PDU) and PDCP SN = k.

After having sent a PDU, the SS set TX_NEXT= k+1.

<–

PDCP PDU DATA #k

3

The UE sends the PDCP Data PDU #k via RLC-UM RB with the following content to the SS:

D/C field = 1 (PDCP Data PDU) and PDCP SN = k.

–>

PDCP PDU DATA #k

4

The SS transmits NR RRCReconfiguration message to trigger non-lossless handover to the same SpCell. (Note 1, Note 3 and Note4)

<–

RRCReconfiguration

5

The UE transmits a NR RRCReconfigurationComplete message. (Note 2)

–>

RRCReconfigurationComplete

6

The SS sends the PDCP Data PDU #2 via RLC-UM RB with the following content to the UE:

D/C field = 1 (PDCP Data PDU) and PDCP SN = 0.

After having sent a PDU, the SS set TX_NEXT= 1.

<–

PDCP PDU DATA #2

7

Check: Does the UE send the PDCP Data PDU #2 via RLC-UM RB with the following content back to the SS:

D/C field = 1 (PDCP Data PDU) and PDCP SN = 0?

–>

PDCP PDU DATA #2

1, 2

P

Note 1: For EN-DC the NR RRCReconfiguration message with SCG Key change (secondary to master)is contained in RRCConnectionReconfiguration 36.508 [7], Table 4.6.1-8 using condition EN-DC_PSCell_HO and RBConfig_KeyChange.

Note 2: For EN-DC the NR RRCReconfigurationComplete message is contained in RRCConnectionReconfigurationComplete.

Note 3: The RRCReconfiguration message triggers UE to perform the Random Access procedure, MAC reset, RLC and PDCP re-establishment.

Note 4: For NR, the RRCReconfiguration message with master key change is as per RRCReconfiguration-HO with condition RBConfig_KeyChange according to 38.508-1 [4], Table 4.8.1-1A.

7.1.3.4.2.3 Specific message contents

Table 7.1.3.4.2.3-1: RRCReconfiguration for EN-DC (step 4, Table 7.1.3.4.2.3.2-1)

Derivation Path: TS 38.508-1 [4], Table 4.6.1-13 with condition EN-DC_HO.

Table 7.1.3.4.2.3-1A: RRCReconfiguration for NR/5GC (step 4, Table 7.1.3.4.2.3.2-1)

Derivation Path: TS 38.508-1 [4], Table 4.8.1-1A with condition RBConfig_KeyChange

Information Element

Value/remark

Comment

Condition

RRCReconfiguration::= SEQUENCE {

criticalExtensions CHOICE {

rrcReconfiguration ::= SEQUENCE {

nonCriticalExtension SEQUENCE {

masterCellGroup

CellGroupConfig

OCTET STRING (CONTAINING CellGroupConfig)

masterKeyUpdate SEQUENCE {

keySetChangeIndicator

false

K

nextHopChainingCount

0

Horizontal key derivation

nas-Container

not present

}

Table 7.1.3.4.2.3-2: RadioBearerConfig for EN-DC (step 4, Table 7.1.3.4.2.3.2-1)

Derivation Path: 38.508-1 [4], Table 4.6.3-132 with condition EN-DC_DRB AND Re-establish_PDCP

Information Element

Value/remark

Comment

Condition

RadioBearerConfig ::= SEQUENCE {

securityConfig SEQUENCE {

securityAlgorithmConfig

SecurityAlgorithmConfig

keyToUse

master

}

}

Table 7.1.3.4.2.3-3: SecurityAlgorithmConfig for EN-DC (Table 7.1.3.4.2.3-2)

Derivation Path: 38.508-1 [4], Table 4.6.3-165

Information Element

Value/remark

Comment

Condition

SecurityAlgorithmConfig ::= SEQUENCE {

cipheringAlgorithm

nea0

}

Table 7.1.3.4.2.3-4: CellGroupConfig for EN-DC (step 4, Table 7.1.3.4.2.3.2-1)

Derivation Path: 38.508-1 [4], Table 4.6.3-19 with condition PSCell_change

Information Element

Value/remark

Comment

Condition

CellGroupConfig ::= SEQUENCE {

rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLCH)) OF RLC-BearerConfig {

1 entry

EN-DC

RLC-Bearer-Config[1]

RLC-BearerConfig with conditions UM and DRB2 and Re-establish_RLC

entry 1

}

}

Table 7.1.3.4.2.3-5: CellGroupConfig for NR/5GC (step 4, Table 7.1.3.4.2.3.2-1)

Derivation Path: 38.508-1 [4], Table 4.6.3-19 with condition PCell_change

7.1.3.4.3 PDCP handover / DAPS handover / Status reporting / Intra-frequency

7.1.3.4.3.1 Test Purpose (TP)

(1)

with { UE in NR RRC_CONNECTED state and supporting Intra-frequency DAPS handover }

ensure that {

when { UE receives an RRCReconfiguration message including a reconfigurationWithSync for Intra-frequency DAPS handover } then { PDCP entity associated with a DAPS bearer shall keep DL/UL reception/transmission with the source gNB }

}

(2)

with { UE in NR RRC_CONNECTED state and supporting Intra-frequency DAPS handover and receiving an RRCReconfiguration message including a reconfigurationWithSync for Intra-frequency DAPS handover }

ensure that {

when { UE has performed random access procedure to the target cell successfully } then { UE shall perform uplink data switching }

}

(3)

with { UE in NR RRC_CONNECTED state and supporting Intra-frequency DAPS handover and receiving an RRCReconfiguration message including a reconfigurationWithSync for Intra-frequency DAPS handover }

ensure that {

when { upper layer requests a uplink data switching } then { UE shall send a PDCP status report for the DAPS bearer }

}

(4)

with { UE in NR RRC_CONNECTED state and supporting Intra-frequency DAPS handover and receiving an RRCReconfiguration message including a reconfigurationWithSync for Intra-frequency DAPS handover }

ensure that {

when { upper layer requests a PDCP entity reconfiguration and the associated RLC entity is released for a radio bearer } then { UE shall send a PDCP status report for the DAPS bearer }

}

7.1.3.4.3.2 Conformance requirements

References: The conformance requirements covered in the present TC are specified in: TS 38.331 clause 5.3.5.5.2 and TS 38323 clause 4.2.2, 5.4.1, 5.8, 5.9 and 5.13. Unless otherwise stated these are Rel-16 requirements.

[TS 38.331, clause 5.3.5.5.2]

The UE shall perform the following actions to execute a reconfiguration with sync.

1> if the AS security is not activated, perform the actions upon going to RRC_IDLE as specified in 5.3.11 with the release cause ‘other‘ upon which the procedure ends;

1> If any DAPS bearer is configured:

2> create a MAC entity for the target cell group with the same configuration as the MAC entity for the source cell group;

2> for each DAPS bearer:

3> establish an RLC entity or entities for the target cell group, with the same configurations as for the source cell group;

3> establish the logical channel for the target cell group, with the same configurations as for the source cell group;

NOTE 2b: In order to understand if a DAPS bearer is configured, the UE needs to check the presence of the field daps-Config within the RadioBearerConfig IE received in radioBearerConfig or radioBearerConfig2.

2> for each SRB:

3> establish an RLC entity for the target cell group, with the same configurations as for the source cell group;

3> establish the logical channel for the target cell group, with the same configurations as for the source cell group;

3> suspend SRBs for the source cell group;

NOTE 3: Void

2> apply the value of the newUE-Identity as the C-RNTI in the target cell group;

2> configure lower layers for the target SpCell in accordance with the received spCellConfigCommon;

2> configure lower layers for the target SpCell in accordance with any additional fields, not covered in the previous, if included in the received reconfigurationWithSync.

[TS 38.323, clause 4.2.2]

The PDCP entities are located in the PDCP sublayer. Several PDCP entities may be defined for a UE. Each PDCP entity is carrying the data of one radio bearer. A PDCP entity is associated either to the control plane or the user plane depending on which radio bearer it is carrying data for.

Figure 4.2.2.1 represents the functional view of the PDCP entity for the PDCP sublayer; it should not restrict implementation. The figure is based on the radio interface protocol architecture defined in TS 38.300 [2].

For split bearers and DAPS bearers, routing is performed in the transmitting PDCP entity.

A PDCP entity associated with DRB can be configured by upper layers TS 38.331 [3] to use header compression. In this version of the specification, the robust header compression protocol (ROHC) and the Ethernet header compression protocol (EHC) are supported. Each header compression protocol is independently configured for a DRB.

Figure 4.2.2-1: PDCP layer, functional view

Figure 4.2.2-2 represents the functional view of the PDCP entity associated with the DAPS bearer for the PDCP sublayer; it should not restrict implementation. The figure is based on the radio interface protocol architecture defined in TS 38.300 [2].

For DAPS bearers, the PDCP entity is configured with two sets of security functions and keys and two sets of header compression protocols.

Figure 4.2.2-2: PDCP layer associated with DAPS bearer, functional view

[TS 38.323, clause 5.4.1]

For AM DRBs configured by upper layers to send a PDCP status report in the uplink (statusReportRequired in TS 38.331 [3]), the receiving PDCP entity shall trigger a PDCP status report when:

– upper layer requests a PDCP entity re-establishment;

– upper layer requests a PDCP data recovery;

– upper layer requests a uplink data switching;

– upper layer reconfigures the PDCP entity to release DAPS and daps-SourceRelease is configured in TS 38.331 [3].

For UM DRBs configured by upper layers to send a PDCP status report in the uplink (statusReportRequired in TS 38.331 [3]), the receiving PDCP entity shall trigger a PDCP status report when:

– upper layer requests a uplink data switching.

[TS 38.323, clause 5.8]

The ciphering function includes both ciphering and deciphering and is performed in PDCP, if configured. The data unit that is ciphered is the MAC-I (see clause 6.3.4) and the data part of the PDCP Data PDU (see clause 6.3.3) except the SDAP header and the SDAP Control PDU if included in the PDCP SDU. The ciphering is not applicable to PDCP Control PDUs.

For downlink and uplink, the ciphering algorithm and key to be used by the PDCP entity are configured by upper layers TS 38.331 [3] and the ciphering method shall be applied as specified in TS 33.501 [6].

The ciphering function is activated/suspended/resumed by upper layers TS 38.331 [3]. When security is activated and not suspended, the ciphering function shall be applied to all PDCP Data PDUs indicated by upper layers TS 38.331 [3] for the downlink and the uplink, respectively.

For DAPS bearers, the PDCP entity shall perform the ciphering or deciphering for the PDCP SDU using the ciphering algorithm and key either configured for the source cell or configured for the target cell, based on to/from which cell the PDCP SDU is transmitted/received.

For downlink and uplink ciphering and deciphering, the parameters that are required by PDCP for ciphering are defined in TS 33.501 [6] and are input to the ciphering algorithm. The required inputs to the ciphering function include the COUNT value, and DIRECTION (direction of the transmission: set as specified in TS 33.501 [6]). The parameters required by PDCP which are provided by upper layers TS 38.331 [3] are listed below:

– BEARER (defined as the radio bearer identifier in TS 33.501 [6]. It will use the value RB identity –1 as in TS 38.331 [3]);

– KEY (the ciphering keys for the control plane and for the user plane are KRRCenc and KUPenc, respectively).

[TS 38.323, clause 5.9]

The integrity protection function includes both integrity protection and integrity verification and is performed in PDCP, if configured. The data unit that is integrity protected is the PDU header and the data part of the PDU before ciphering. The integrity protection is always applied to PDCP Data PDUs of SRBs. The integrity protection is applied to sidelink SRB1, SRB2 and SRB3. The integrity protection is applied to PDCP Data PDUs of DRBs (including sidelink DRBs for unicast) for which integrity protection is configured. The integrity protection is not applicable to PDCP Control PDUs.

For downlink and uplink, the integrity protection algorithm and key to be used by the PDCP entity are configured by upper layers TS 38.331 [3] and the integrity protection method shall be applied as specified in TS 33.501 [6].

The integrity protection function is activated/suspended/resumed by upper layers TS 38.331 [3]. When security is activated and not suspended, the integrity protection function shall be applied to all PDUs including and subsequent to the PDU indicated by upper layers TS 38.331 [3] for the downlink and the uplink, respectively.

NOTE 1: As the RRC message which activates the integrity protection function is itself integrity protected with the configuration included in this RRC message, this message needs first be decoded by RRC before the integrity protection verification could be performed for the PDU in which the message was received.

NOTE 2: As the PC5-S message which activates the integrity protection function is itself integrity protected with the configuration included in this PC5-S message, this message needs first be decoded by upper layer before the integrity protection verification could be performed for the PDU in which the message was received.

For DAPS bearers, the PDCP entity shall perform the integrity protection or verification for the PDCP SDU using the integrity protection algorithm and key either configured for the source cell or configured for the target cell, based on to/from which cell the PDCP SDU is transmitted/received.

For downlink and uplink integrity protection and verification, the parameters that are required by PDCP for integrity protection are defined in TS 33.501 [6] and are input to the integrity protection algorithm. The required inputs to the integrity protection function include the COUNT value, and DIRECTION (direction of the transmission: set as specified in TS 33.501 [6]). The parameters required by PDCP which are provided by upper layers TS 38.331 [3] are listed below:

– BEARER (defined as the radio bearer identifier in TS 33.501 [6]. It will use the value RB identity –1 as in TS 38.331 [3]);

– KEY (the integrity protection keys for the control plane and for the user plane are KRRCint and KUPint, respectively).

[TS 38.323, clause 5.13]

For DAPS bearers, when upper layers request uplink data switching, the transmitting PDCP entity shall:

– for AM DRBs, from the first PDCP SDU for which the successful delivery of the corresponding PDCP Data PDU has not been confirmed by the RLC entity associated with the source cell, perform retransmission or transmission of all the PDCP SDUs already associated with PDCP SNs in ascending order of the COUNT values associated to the PDCP SDU prior to uplink data switching to the RLC entity associated with the target cell as specified below:

– perform header compression of the PDCP SDU using ROHC as specified in the clause 5.7.4;

– perform integrity protection and ciphering of the PDCP SDU using the COUNT value associated with this PDCP SDU as specified in the clause 5.9 and 5.8;

– submit the resulting PDCP Data PDU to lower layer, as specified in clause 5.2.1.

– for UM DRBs, for all PDCP SDUs which have been processed by PDCP but which have not yet been submitted to lower layers, perform transmission of the PDCP SDUs in ascending order of the COUNT values to the RLC entity associated with the target cell as specified below:

– perform header compression of the PDCP SDU using ROHC as specified in the clause 5.7.4;

– perform integrity protection and ciphering of the PDCP SDU using the COUNT value associated with this PDCP SDU as specified in the clause 5.9 and 5.8;

– submit the resulting PDCP Data PDU to lower layer, as specified in clause 5.2.1.

7.1.3.4.3.3 Test description

7.1.3.4.3.3.1 Pre-test conditions

System Simulator:

Same Pre-test conditions as in clause 7.1.3.0 except the following:

– NR Cell 1 is the Serving cell and the power level is configured to ”Serving Cell” defined in TS 38.508-1 [4] Table 6.2.2.1-3.

– NR Cell 2 is the Suitable neighbour intra-frequency cell and the power level is configured to ” Suitable neighbour intra-frequency cell” defined in TS 38.508-1 [4] Table 6.2.2.1-3.

– System information combination NR-2 as defined in TS 38.508-1 [4] clause 4.4.3.1.3 is used for both NR Cells.

– Test Loop Function (On) with UE test loop mode B activated according to TS 38.508-1 [4], table 4.5.4.2-3.

UE:

– None.

Preamble:

– The UE is in 3N-A state configured with DRB#1 in RLC AM mode according to TS 38.508-1 [4], Table 4.4A.2-3.

7.1.3.4.3.3.2 Test procedure sequence

Table 7.1.3.4.3.3.2-1: Main behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

1

The SS transmits an RRCReconfiguration message containing reconfigurationWithSync to order UE to perform DAPS handover to NR Cell 2. DRB#n of the first PDU session is configured as DAPS bearer.

<–

NR RRC: RRCReconfiguration

EXCEPTION: In parallel with step 2-3, parallel behaviour defined in table 7.1.3.4.3.3.2-2 is executed repeatedly.

2

The SS sends one IP Packet to the UE via DRB#n of the first PDU session in NR Cell 1 and

<–

PDCP PDU DATA #0

2A

The SS stops sending RLC acknowledgements.

3

Check: Does the UE loop back the IP packet received at step 2 in NR Cell 1?

–>

PDCP PDU DATA #0

1

P

4

The SS transmits Random Access Response to respond to the latest preamble in NR Cell 2.

<-

Random Access Response

EXCEPTION: Steps 5-7 can occur in any order.

5

The UE transmits an RRCReconfigurationComplete message in NR Cell 2.

–>

NR RRC: RRCReconfigurationComplete

6

Check: Does the UE retransmit the IP packet received at step 2 in NR Cell 2?

–>

PDCP PDU DATA #0

2

P

7

Check: Does the UE send PDCP status report in NR Cell 2? (Note 1)

–>

PDCP STATUS REPORT

3

P

8

The SS transmits an RRCReconfiguration message with condition DAPS_HO_ReleaseSource in NR Cell 2.

<–

NR RRC: RRCReconfiguration

EXCEPTION: Steps 9-10 can occur in any order.

9

The UE transmits an RRCReconfigurationComplete message in NR Cell 2.

–>

NR RRC: RRCReconfigurationComplete

10

Check: Does the UE send PDCP status report in NR Cell 2? (Note 1)

–>

PDCP STATUS REPORT

4

P

Note 1: D/C field = 0 (PDCP control PDU) and PDU Type =000 (PDCP status report), FMC field = 1.

Table 7.1.3.4.3.3.2-2: Parallel behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

1

The UE transmits preamble to NR Cell 2.

->

(PRACH Preamble)

7.1.3.4.3.3.3 Specific message contents

Table 7.1.3.4.3.3.3-1: RRCReconfiguration (step 1, Table 7.1.3.4.3.3.2-1)

Derivation Path: TS 38.508-1 [4], Table 4.8.1-1A with Condition RBConfig_NoKeyChange

Information Element

Value/remark

Comment

Condition

RRCReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

rrcReconfiguration SEQUENCE {

radioBearerConfig

RadioBearerConfig with conditions DRBn and DAPS_PDCP

nonCriticalExtension SEQUENCE{

masterCellGroup

CellGroupConfig

OCTET STRING (CONTAINING CellGroupConfig)

}

}

}

}

Table 7.1.3.4.3.3.3-2: CellGroupConfig (Table 7.1.3.4.3.3.3-1)

Derivation Path: TS 38.508-1 [4], Table 4.6.3-19

Information Element

Value/remark

Comment

Condition

CellGroupConfig ::= SEQUENCE {

rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLCH)) OF RLC-BearerConfig {

1 entry

RLC-BearerConfig[1]

RLC-BearerConfig with conditions AM, DRBn

entry1

}

spCellConfig SEQUENCE {

reconfigurationWithSync SEQUENCE {

spCellConfigCommon SEQUENCE {

physCellId

Physical Cell Identity of NR Cell 2

}

rach-ConfigDedicated CHOICE {

uplink

RACH-ConfigDedicated

OCTET STRING (CONTAINING RACH-ConfigDedicated)

}

}

}

}

Table 7.1.3.4.3.3.3-3: RACH-ConfigDedicated (Table 7.1.3.4.3.3.3-2)

Derivation Path: TS 38.508-1 [4], Table 4.6.3-129

Information Element

Value/remark

Comment

Condition

RACH-ConfigDedicated ::= SEQUENCE {

cfra SEQUENCE {

occasions SEQUENCE {

rach-ConfigGeneric

RACH-ConfigGeneric

OCTET STRING (CONTAINING RACH-ConfigGeneric)

}

}

}

Table 7.1.3.4.3.3.3-4: RACH-ConfigGeneric (Table 7.1.3.4.3.3.3-3)

Derivation Path: TS 38.508-1 [4], Table 4.6.3-130

Information Element

Value/remark

Comment

Condition

RACH-ConfigGeneric ::= SEQUENCE {

preambleTransMax

n200

}

Table 7.1.3.4.3.3.3-5: RRCReconfiguration (step 8, Table 7.1.3.4.3.3.2-1)

Derivation Path: TS 38.508-1 [4], Table 4.8.1-1A with Condition DAPS_HO_ReleaseSource

7.1.3.4.4 PDCP handover / DAPS handover / Status reporting / Inter-frequency

7.1.3.4.4.1 Test Purpose (TP)

(1)

with { UE in NR RRC_CONNECTED state and supporting Inter-frequency DAPS handover }

ensure that {

when { UE receives an RRCReconfiguration message including a reconfigurationWithSync for Inter-frequency DAPS handover }

then { PDCP entity associated with a DAPS bearer shall keep DL/UL reception/transmission with the source gNB }

}

(2)

with { UE in NR RRC_CONNECTED state and supporting Inter-frequency DAPS handover and receiving an RRCReconfiguration message including a reconfigurationWithSync for Inter-frequency DAPS handover }

ensure that {

when { UE has performed random access procedure to the target cell successfully }

then { UE shall perform uplink data switching }

}

(3)

with { UE in NR RRC_CONNECTED state and supporting Inter-frequency DAPS handover and receiving an RRCReconfiguration message including a reconfigurationWithSync for Inter-frequency DAPS handover }

ensure that {

when { upper layer requests a uplink data switching }

then { UE shall send a PDCP status report for the DAPS bearer }

}

(4)

with { UE in NR RRC_CONNECTED state and supporting Inter-frequency DAPS handover and receiving an RRCReconfiguration message including a reconfigurationWithSync for Inter-frequency DAPS handover }

ensure that {

when { upper layer requests a PDCP entity reconfiguration and the associated RLC entity is released for a radio bearer }

then { UE shall send a PDCP status report for the DAPS bearer }

}

7.1.3.4.4.2 Conformance requirements

Same as test case 7.1.3.4.3.2.

7.1.3.4.4.3 Test description

7.1.3.4.4.3.1 Pre-test conditions

Same as test case 7.1.3.4.3 with the following differences:

– Cells configuration: NR Cell 3 replaces NR Cell 2.

– System information combination: NR-4 replaces NR-2.

7.1.3.4.4.3.2 Test procedure sequence

Same as test case 7.1.3.4.3 with the following differences:

– Cells configuration: NR Cell 3 replaces NR Cell 2.

7.1.3.4.4.3.3 Specific message contents

Same as test case 7.1.3.4.3 with the following differences:

– Cells configuration: NR Cell 3 replaces NR Cell 2.

7.1.3.5 PDCP other

7.1.3.5.1 PDCP Discard

7.1.3.5.1.1 Test Purpose (TP)

(1)

with { UE in RRC_CONNECTED state }

ensure that {

when { the Discard Timer for a PDCP SDU expires }

then { UE discards the corresponding PDCP SDU }

}

7.1.3.5.1.2 Conformance requirements

References: The conformance requirements covered in the present TC are specified in: TS 38.323, clause 5.3. Unless otherwise stated these are Rel-15 requirements.

[TS 38.323, clause 5.3]

When the discardTimer expires for a PDCP SDU, or the successful delivery of a PDCP SDU is confirmed by PDCP status report, the transmitting PDCP entity shall discard the PDCP SDU along with the corresponding PDCP Data PDU. If the corresponding PDCP Data PDU has already been submitted to lower layers, the discard is indicated to lower layers.

For SRBs, when upper layers request a PDCP SDU discard, the PDCP entity shall discard all stored PDCP SDUs and PDCP PDUs.

NOTE: Discarding a PDCP SDU already associated with a PDCP SN causes a SN gap in the transmitted PDCP Data PDUs, which increases PDCP reordering delay in the receiving PDCP entity. It is up to UE implementation how to minimize SN gap after SDU discard.

[TS 38.323, clause 7.1]

This sub clause describes the state variables used in PDCP entities in order to specify the PDCP protocol. The state variables defined in this subclause are normative.

All state variables are non-negative integers, and take values from 0 to [232 – 1].

PDCP Data PDUs are numbered integer sequence numbers (SN) cycling through the field: 0 to [2[pdcp-SN-Size] – 1].

The transmitting PDCP entity shall maintain the following state variables:

a) TX_NEXT

This state variable indicates the COUNT value of the next PDCP SDU to be transmitted. The initial value is 0.

The receiving PDCP entity shall maintain the following state variables:

a) RX_NEXT

This state variable indicates the COUNT value of the next PDCP SDU expected to be received. The initial value is 0.

b) RX_DELIV

This state variable indicates the COUNT value of the first PDCP SDU not delivered to the upper layers, but still waited for. The initial value is 0.

c) RX_REORD

This state variable indicates the COUNT value following the COUNT value associated with the PDCP Data PDU which triggered t-Reordering.

[TS 38.323, clause 6.3.5]

Length: 32 bits

The COUNT value is composed of a HFN and the PDCP SN. The size of the HFN part in bits is equal to 32 minus the length of the PDCP SN.

Figure 6.3.5-1: Format of COUNT

NOTE: COUNT does not wrap around.

7.1.3.5.1.3 Test description

7.1.3.5.1.3.1 Pre-test conditions

Same Pre-test conditions as in clause 7.1.3.0 with exceptions listed in Table 7.1.3.5.1.3.1-1 applicable for the configured UM DRB and Table 7.1.3.5.1.3.3-1 for SR configuration except that PDCP is configured for 18 bit SN.

Table 7.1.3.5.1.3.1-1: PDCP Settings

Parameter

Value

Discard_Timer

500 ms

7.1.3.5.1.3.2 Test procedure sequence

Table 7.1.3.5.1.3.2-1: Main behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

EXCEPTION: The SS does not allocate UL grants unless when explicitly stated so in the procedure.

1

The SS creates 5 PDCP Data PDUs and the PDCP SN = "0" within TX_NEXT.

2

Void

EXCEPTION: Step 3 shall be repeated for k=0 to 2 (increment=1) with the below specified PDU size sent to the UE:

Data PDU#1 = 46 bytes for k=0

Data PDU#2 = 62 bytes for k=1

Data PDU#3 = 78 bytes for k=2

3

The SS sends a PDCP Data PDU via RLC-UM RB with the following content to the UE:

D/C field = 1 (PDCP Data PDU) and PDCP SN = k

After having sent a PDU, the SS sets PDCP SN is set to k+1 within TX_NEXT.

<–

PDCP DATA PDU (SN=k)

4

Wait for Discard_Timer to expire.

Note: According to TS38.508-1, timer tolerance should be 10% of Discard_Timer.

EXCEPTION: Step 5 shall be repeated for k=3 to 4 (increment=1) with the below specified PDU size sent to the UE:

Data PDU#4 = 94 bytes for k=3

Data PDU#5 = 110 bytes for k=4

5

The SS sends a PDCP Data PDU via RLC-UM RB with the following content to the UE:

D/C field = 1 (PDCP Data PDU) and PDCP SN = k

After having sent a PDU, the SS sets PDCP SN is set to k+1 within TX_NEXT.

<–

PDCP DATA PDU (SN=k)

6

The SS resumes normal UL grant allocation.

7

Check: Does UE transmit a PDCP Data PDU # 4 of size 94 bytes? (Note1) (Note 2)

–>

PDCP Data PDU # 4

1

P

8

Check: Does UE transmit a PDCP Data PDU # 5 of size 110 bytes? (Note1) (Note 2)

–>

PDCP Data PDU # 5

1

P

Note 1 PDCP Data PDU contents are checked to verify that the UL PDU is same as the DL PDU. According to the Note in TS 38.323 [19] clause 5.3 in case of PDCP SDUs being discarded it is up to the UE implementation which SN to be used and therefore the SN cannot be checked.

Note 2 PDCP PDUs at steps 7 and 8 may be received by the SS in the same slot or in multiple slots (max one MAC PDU in a slot).

7.1.3.5.1.3.3 Specific message contents

Table 7.1.3.5.1.3.3-1: SchedulingRequest-Config (Preamble)

Derivation Path: 38.508-1 [4], Table 4.6.3-155

Information Element

Value/remark

Comment

Condition

sr-TransMax

n64

7.1.3.5.2 PDCP Uplink Routing / Split DRB

7.1.3.5.2.1 Test Purpose

(1)

with { UE in RRC_CONNECTED state with SCG activated with a Split DRB established and total amount of PDCP data volume is less than ul-DataSplitThreshold and not yet transmitted RLC data volume in the two associated RLC entities }

ensure that {

when { UE has PDCP SDUs available for transmission }

then { the UE transmits the PDCP SDUs on the Primary RLC entity }

}

(2)

with { UE in RRC_CONNECTED state with SCG activated with a Split DRB established and total amount of PDCP data volume is not less than ul-DataSplitThreshold and not yet transmitted RLC data volume in the two associated RLC entities }

ensure that {

when { UE has PDCP SDUs available for transmission }

then { the UE transmits the PDCP SDUs on the primary or secondary RLC entity }

}

7.1.3.5.2.2 Conformance requirements

References: The conformance requirements covered in the present TC are specified in: TS 38.323, clause 5.2.1. Unless otherwise stated these are Rel-15 requirements.

[TS 38.323, clause 5.2.1]

At reception of a PDCP SDU from upper layers, the transmitting PDCP entity shall:

– start the discardTimer associated with this PDCP SDU (if configured).

For a PDCP SDU received from upper layers, the transmitting PDCP entity shall:

– associate the COUNT value corresponding to TX_NEXT to this PDCP SDU;

NOTE 1: Associating more than half of the PDCP SN space of contiguous PDCP SDUs with PDCP SNs, when e.g., the PDCP SDUs are discarded or transmitted without acknowledgement, may cause HFN desynchronization problem. How to prevent HFN desynchronization problem is left up to UE implementation.

– perform header compression of the PDCP SDU as specified in the subclause 5.7.4;

– perform integrity protection, and ciphering using the TX_NEXT as specified in the subclause 5.9 and 5.8, respectively;

– set the PDCP SN of the PDCP Data PDU to TX_NEXT modulo 2[pdcp-SN-Size];

– increment TX_NEXT by one;

– submit the resulting PDCP Data PDU to lower layer as specified below.

When submitting a PDCP Data PDU to lower layer, the transmitting PDCP entity shall:

– if the transmitting PDCP entity is associated with one RLC entity:

– submit the PDCP Data PDU to the associated RLC entity.

– else, if the transmitting PDCP entity is associated with two RLC entities:

– if the PDCP duplication is activated:

– if the PDCP PDU is a PDCP Data PDU:

– duplicate the PDCP Data PDU and submit the PDCP Data PDU to both associated RLC entities.

– else:

– if the two associated RLC entities belong to the different Cell Groups; and

– if the total amount of PDCP data volume and RLC data volume pending for initial transmission (as specified in TS 36.322 [5]) in the two associated RLC entities is equal to or larger than ul-DataSplitThreshold:

– submit the PDCP Data PDU to either the primary RLC entity or the secondary RLC entity;.

– else:

– submit the PDCP Data PDU to the primary RLC entity.

NOTE 2: If the transmitting PDCP entity is associated with two RLC entities, the UE should minimize the amount of PDCP PDUs submitted to lower layers before receiving request from lower layers and minimize the PDCP SN gap between PDCP PDUs submitted to two associated RLC entities to minimize PDCP reordering delay in the receiving PDCP entity.

7.1.3.5.2.3 Test description

7.1.3.5.2.3.1 Pre-test conditions

Same Pre-test conditions as in clause 7.1.3.0 with exceptions listed in Table 7.1.3.5.2.3.1-1 and Generic procedure parameter DC bearer(MCG and split).

For NR/5GC, NR Cell 1 is the PCell and NR Cell 10 is the PSCell and same Pre-test conditions as in clause 7.1.3.0 using generic procedure parameter Connectivity (NR-DC) with DC bearer(MCG and split).

Table 7.1.3.5.2.3.1-1: PDCP Settings

Parameter

Value

Discard_Timer

500 ms

ul-DataSplitThreshold

b100

7.1.3.5.2.3.2 Test procedure sequence

Table 7.1.3.5.2.3.2-1: Main behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

0A

SS transmits NR RRCReconfiguration message to configure the primary path on the MCG Cell.

<–

RRCReconfiguration

0B

UE transmits RRCReconfigurationComplete (Note 2).

–>

RRCReconfigurationComplete

1

The SS sends a PDCP Data PDU on the split DRB on AM RLC entity configured for SCG on PSCell.

Data PDU = 64 bytes.

<–

PDCP DATA PDU

EXCEPTION: In parallel with step 2, UE may execute parallel behaviour defined in table 7.1.3.5.2.3.2-2.

2

Check: Does UE transmit a PDCP Data PDU on the AM RLC primary entity?

–>

PDCP DATA PDU

1

P

2A

SS transmits NR RRCReconfiguration message to configure the primary path on the SCG Cell.

<–

RRCReconfiguration

2B

UE transmits RRCReconfigurationComplete (Note 2).

–>

RRCReconfigurationComplete

2C

The SS sends a PDCP Data PDU on the split DRB on AM RLC entity configured for SCG on PSCell.

Data PDU = 64 bytes.

<–

PDCP DATA PDU

EXCEPTION: In parallel with step 2D, UE may execute parallel behaviour defined in table 7.1.3.5.2.3.2-2.

2D

Check: Does UE transmit a PDCP Data PDU on the primary AM RLC entity?

–>

PDCP DATA PDU

1

P

3

The SS sends a PDCP Data PDU on the split DRB on AM RLC entity configured for SCG on PSCell.

Data PDU = 164 bytes.

<–

PDCP DATA PDU

EXCEPTION: Steps 4a1 to 4b2 describe optional behaviour that depends on the UE uplink path

4a1

Check: Does UE transmit a PDCP Data PDU on the AM RLC primary entity?

–>

PDCP DATA PDU

2

P

4a2

Check: Does UE transmit a PDCP Data PDU on the AM RLC secondary entity

–>

PDCP DATA PDU

2

F

4b1

Check: Does UE transmit a PDCP Data PDU on the AM RLC secondary entity?

–>

PDCP DATA PDU

2

P

4b2

Check: Does UE transmit a PDCP Data PDU on the AM RLC primary entity?

–>

PDCP DATA PDU

2

F

5

SS transmits NR RRCReconfiguration message to configure new split DRB parameters, where the ul-DataSplitThreshold is equal to 0 bytes (Note 1).

<–

RRCReconfiguration

6

UE transmits RRCReconfigurationComplete (Note 2).

–>

RRCReconfigurationComplete

7

The SS sends a PDCP Data PDU on the split DRB on AM RLC entity configured for SCG on PSCell.

Data PDU = 64 bytes

<–

PDCP Data PDU

EXCEPTION: Steps 8a1 to 8b2 describe optional behaviour that depends on the UE uplink path

8a1

Check: Does UE transmit a PDCP Data PDU on the AM RLC primary entity?

–>

PDCP DATA PDU

2

P

8a2

Check: Does UE transmit a PDCP Data PDU on the AM RLC secondary entity?

–>

PDCP DATA PDU

2

F

8b1

Check: Does UE transmit a PDCP Data PDU on the AM RLC secondary?

–>

PDCP DATA PDU

2

P

8b2

Check: Does UE transmit a PDCP Data PDU on the AM RLC primary?

–>

PDCP DATA PDU

2

F

Note 1: For EN-DC the NR RRCReconfiguration message is contained in RRCConnectionReconfiguration.

Note 2: For EN-DC the NR RRCReconfigurationComplete message is contained in RRCConnectionReconfigurationComplete.

Table 7.1.3.5.2.3.2-2: Parallel behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

1

Check: Does UE transmit a PDCP Data PDU on the AM RLC secondary entity in next 2 seconds?

NOTE: 2 seconds is sufficient time to discard PDCP PDU.

–>

PDCP DATA PDU

1

F

7.1.3.5.2.3.3 Specific message contents

Table 7.1.3.5.2.3.3-0A: RRCConnectionReconfiguration (step 0A, step 2A, step 5, Table 7.1.3.5.3.3.2-1)

Derivation Path: 36.508 [7], Table 4.6.1-8

Information Element

Value/remark

Comment

Condition

RRCConnectionReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

c1 CHOICE{

rrcConnectionReconfiguration-r8 ::= SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nr-RadioBearerConfig1-r15

OCTET STRING including RadioBearerConfig

}

}

}

}

}

}

}

}

}

}

}

}

Table 7.1.3.5.2.3.3-0B: RRCReconfiguration (step 0A, step 2C, step 5, Table 7.1.3.5.2.3.2-1)

Derivation Path: 38.508-1 [4], Table 4.6.1-13

Information Element

Value/remark

Comment

Condition

RRCReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

rrcReconfiguration SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

radioBearerConfig2

OCTET STRING including RadioBearerConfig

}

}

}

}

}

}

Table 7.1.3.5.2.3.3-1: RadioBearerConfig (Table 7.1.3.5.2.3.3-0A and Table 7.1.3.5.2.3.3-0B)

Derivation Path: 38.508-1 [4], Table 4.6.3-132

Information Element

Value/remark

Comment

Condition

RadioBearerConfig ::= SEQUENCE {

drb-ToAddModList SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod {

1 entry

DRB-ToAddMod[1] SEQUENCE {

entry 1

pdcp-Config SEQUENCE {

moreThanOneRLC SEQUENCE {

primaryPath SEQUENCE {

cellGroup

0

Step 0A

1

Step 2A

logicalChannel

LogicalChannelIdentity

}

ul-DataSplitThreshold

b0

Step 5

}

}

}

}

}

7.1.3.5.3 PDCP Data Recovery

7.1.3.5.3.1 Test Purpose (TP)

(1)

with { UE in RRC_CONNECTED state with a DRB established using RLC-AM }

ensure that {

when { network requests reconfiguration and recovery of the DRB (without handover) }

then { UE reconfigures the DRB and performs retransmission of all the PDCP PDUs previously submitted to re-established AM RLC entity in ascending order of the associated COUNT values from the first PDCP PDU for which the successful delivery has not been confirmed by lower layers }

}

7.1.3.5.3.2 Conformance requirements

References: The conformance requirements covered in the present TC are specified in: TS 38.323, clauses 5.2.1, 5.4.1 and 5.5; TS 38.331, clause 5.3.5.4.3. Unless otherwise stated these are Rel-15 requirements.

[TS 38.323, clause 5.2.1]

At reception of a PDCP SDU from upper layers, the transmitting PDCP entity shall:

– start the discardTimer associated with this PDCP SDU (if configured).

For a PDCP SDU received from upper layers, the transmitting PDCP entity shall:

– associate the COUNT value corresponding to TX_NEXT to this PDCP SDU;

NOTE 1: Associating more than half of the PDCP SN space of contiguous PDCP SDUs with PDCP SNs, when e.g., the PDCP SDUs are discarded or transmitted without acknowledgement, may cause HFN desynchronization problem. How to prevent HFN desynchronization problem is left up to UE implementation.

– perform header compression of the PDCP SDU as specified in the subclause 5.7.4;

– perform integrity protection, and ciphering using the TX_NEXT as specified in the subclause 5.9 and 5.8, respectively;

– set the PDCP SN of the PDCP Data PDU to TX_NEXT modulo 2[pdcp-SN-Size];

– increment TX_NEXT by one;

– submit the resulting PDCP Data PDU to lower layer as specified below.

When submitting a PDCP PDU to lower layer, the transmitting PDCP entity shall:

– if the transmitting PDCP entity is associated with one RLC entity:

– submit the PDCP PDU to the associated RLC entity;

– else, if the transmitting PDCP entity is associated with two RLC entities:

– if pdcp-Duplication is configured and activated:

– duplicate the PDCP Data PDU and submit the PDCP Data PDU to both associated RLC entities;

– else, if pdcp-Duplication is configured but not activated:

– submit the PDCP Data PDU to the primary RLC entity;

– else:

– if the total amount of PDCP data volume and RLC data volume pending for initial transmission (as specified in TS 38.322 [5]) in the two associated RLC entities is less than ul-DataSplitThreshold:

– submit the PDCP PDU to the primary RLC entity;

– else:

– submit the PDCP PDU to either the primary RLC entity or the secondary RLC entity.

NOTE 2: If the transmitting PDCP entity is associated with two RLC entities, the UE should minimize the amount of PDCP PDUs submitted to lower layers before receiving request from lower layers and minimize the PDCP SN gap between PDCP PDUs submitted to two associated RLC entities to minimize PDCP reordering delay in the receiving PDCP entity.

[TS 38.323, clause 5.4.1]

For AM DRBs configured by upper layers to send a PDCP status report in the uplink (statusReportRequired in TS 38.331 [3]), the receiving PDCP entity shall trigger a PDCP status report when:

– upper layer requests a PDCP entity re-establishment;

– upper layer requests a PDCP data recovery.

If a PDCP status report is triggered, the receiving PDCP entity shall:

– compile a PDCP status report as indicated below by:

– setting the FMC field to RX_DELIV;

– if RX_DELIV < RX_NEXT:

– allocating a Bitmap field of length in bits equal to the number of COUNTs from and not including the first missing PDCP SDU up to and including the last out-of-sequence PDCP SDUs, rounded up to the next multiple of 8, or up to and including a PDCP SDU for which the resulting PDCP Control PDU size is equal to 9000 bytes, whichever comes first;

– setting in the bitmap field as ‘0’ for all PDCP SDUs that have not been received, and optionally PDCP SDUs for which decompression have failed;

– setting in the bitmap field as ‘1’ for all PDCP SDUs that have been received;

– submit the PDCP status report to lower layers as the first PDCP PDU for transmission.

[TS 38.323, clause 5.4.2]

For AM DRBs, when a PDCP status report is received in the downlink, the transmitting PDCP entity shall:

– consider for each PDCP SDU, if any, with the bit in the bitmap set to ‘1’, or with the associated COUNT value less than the value of FMC field as successfully delivered, and discard the PDCP SDU as specified in the subclause 5.3.

[TS 38.323, clause 5.5]

For AM DRBs, when upper layers request a PDCP data recovery for a radio bearer, the transmitting PDCP entity shall:

– perform retransmission of all the PDCP Data PDUs previously submitted to re-established or released AM RLC entity in ascending order of the associated COUNT values for which the successful delivery has not been confirmed by lower layers.

After performing the above procedures, the transmitting PDCP entity shall follow the procedures in subclause 5.2.1.

7.1.3.5.3.3 Test description

7.1.3.5.3.3.1 Pre-test conditions

Same Pre-test conditions as in clause 7.1.3.0 except that DRB is configured in RLC AM mode according to Table 7.1.3.5.3.3.1-1.

For NR 5GC, NRCell 1 is the PCell and NR Cell 10 is the PSCell and same Pre-test conditions as in clause 7.1.3.0 using generic procedure parameter Connectivity (NR-DC).

Table 7.1.3.5.3.3.1-1: RLC parameters

t-PollRetransmit

ms150

7.1.3.5.3.3.2 Test procedure sequence

Table 7.1.3.5.3.3.2-1: Main behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

1

Void

2

The SS creates 3 PDCP Data PDUs and the Next_PDCP_TX_SN is set to "0".

EXCEPTION: Steps 2A and 4 shall be repeated for k=0 to 2 (increment=1).

2A

The SS is configured on PSCell to not send RLC acknowledgement (RLC ACK) to the UE

3

The SS sends the PDCP Data PDU #k on SCG DRB on (PSCell):

D/C field = 1 (PDCP Data PDU) and PDCP SN = k.

After having sent a PDU, the SS sets Next_PDCP_TX_SN= k+1.

<–

PDCP PDU DATA #k

4

The UE sends the PDCP Data PDU #k on the AM RLC entity configured for PSCell:

D/C field = 1 (PDCP Data PDU) and PDCP SN = k.

Data is previously received data from PDU #k.

–>

PDCP PDU DATA #k

4A

The SS does not allocate any UL grant.

5

The SS transmits a NR RRCReconfiguration. (Note 1).

<–

RRCReconfiguration

6

The UE transmits a NR RRCReconfigurationComplete.
(Note 2).

–>

RRCReconfigurationComplete

7

The SS assigns 1 UL grant of sufficient size to allow the UE to send only PDCP status report.

8

The UE sends PDCP Control PDUs on PSCell via RLC-AM RB with the following content to the SS:

D/C field = 0 (PDCP control PDU) and PDU Type =000, FMC field = 3.

–>

PDCP STATUS REPORT

8A

After 100 ms the SS allocates 3 UL grants every 20ms of sufficient size to enable the UE to return each received PDCP PDU in one looped back PDCP PDU on PSCell.

EXCEPTION: Step 9 shall be repeated for k=0 to 2 (increment=1).

9

Check: Does the UE send the PDCP Data PDU #k via the AM RLC entity configured for PSCell for Connectivity ENDC and PCell for Connectivity (NR-DC).

D/C field = 1 (PDCP Data PDU) and PDCP SN = k.

Data is previously received data from PDU #k ?

–>

PDCP DATA PDU #k

1

P

Note 1: For EN-DC the NR RRCReconfiguration message is contained in RRCConnectionReconfiguration.

Note 2: For EN-DC the NR RRCReconfigurationComplete message is contained in RRCConnectionReconfigurationComplete.

7.1.3.5.3.3.3 Specific message contents

Table 7.1.3.5.3.3.3-1: RRCConnectionReconfiguration (step 5, Table 7.1.3.5.3.3.2-1)

Derivation Path: 36.508 [7], Table 4.6.1-8 with condition MCG_and_SCG

Information Element

Value/remark

Comment

Condition

RRCConnectionReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

c1 CHOICE{

rrcConnectionReconfiguration-r8 ::= SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nr-Config-r15 CHOICE {

setup SEQUENCE {

nr-SecondaryCellGroupConfig-r15

OCTET STRING including the RRCReconfiguration-PDCP message and the IE secondaryCellGroup

}

}

nr-RadioBearerConfig1-r15

OCTET STRING including RadioBearerConfig-PDCP-ENDC

}

}

}

}

}

}

}

}

}

}

}

}

Table 7.1.3.5.3.3.3-2: RRCReconfiguration-PDCP (Step 5, Table 7.1.3.5.3.3.3-1)

Derivation Path: 38.508-1 [4], Table 4.6.1-13

Information Element

Value/remark

Comment

Condition

RRCReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

rrcReconfiguration SEQUENCE {

radioBearerConfig

Not present

NR-DC

secondaryCellGroup

CellGroupConfig-PDCP-ENDC

EN-DC

Not present

NR-DC

nonCriticalExtension SEQUENCE {

NR-DC

masterCellGroup

CellGroupConfig with condition DRBn as per 38.508-1[4] Table 4.6.3-19

SCG DRBn added in master cell group

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

mrdc-SecondaryCellGroupConfig CHOICE {

setup SEQUENCE {

mrdc-SecondaryCellGroup CHOICE {

nr-SCG

RRCReconfiguration-SCGRLCreEst

OCTET STRING (CONTAINING RRCReconfiguration)

radioBearerConfig2

RadioBearerConfig-PDCPsplit

}

}

}

}

}

}

}

}

}

}

Table 7.1.3.5.3.3.3-2A: RRCReconfiguration-SCGRLCreEst (Table 7.1.3.5.3.3.3-2)

Derivation Path: 38.508-1 [4], Table 4.6.1-13 with condition NR-DC_SCG

Information Element

Value/remark

Comment

Condition

RRCReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

rrcReconfiguration SEQUENCE {

secondaryCellGroup

CellGroupConfig-SCG-RLC

OCTET STRING (CONTAINING CellGroupConfig)

}

}

}

Table 7.1.3.5.3.3.3-2B: CellGroupConfig-PDCP-ENDC(Table 7.1.3.5.3.3.3-2)

Derivation Path: 38.508-1 [4], Table 4.6.3-19

Information Element

Value/remark

Comment

Condition

CellGroupConfig ::= SEQUENCE {

rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLCH)) OF RLC-BearerConfig {

1 entry

RLC-BearerConfig[1]

RLC-BearerConfig with conditions AM and DRB2 and Re-establish_RLC

entry 1

}

}

Table 7.1.3.5.3.3.3-2C: CellGroupConfig-SCG-RLC (Table 7.1.3.5.3.3.3-2A)

Derivation Path: 38.508-1 [4], Table 4.6.1-19 with condition NR-DC_SCG

Information Element

Value/remark

Comment

Condition

CellGroupConfig ::= SEQUENCE {

rlc-BearerToAddModList SEQUENCE (SIZE(1..maxLCH)) OF RLC-BearerConfig {

1 entry

RLC-BearerConfig with conditions AM and DRBn and Re-establish_RLC

}

}

Table 7.1.3.5.3.3.3-3: RadioBearerConfig-PDCP-ENDC (Table 4.1.3.5.3.3.3-2)

Derivation Path: TS 38.508-1 [7], Table 4.6.3-132

Information Element

Value/remark

Comment

Condition

RadioBearerConfig ::= SEQUENCE {

srb3-ToRelease

Not present

drb-ToAddModList

Not present

drb-ToAddModList SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod {

1 entry

DRB-ToAddMod[1] SEQUENCE {

entry 1

cnAssociation CHOICE {

eps-BearerIdentity

6

sdap-Config

Not present

}

drb-Identity

2

reestablishPDCP

Not present

recoverPDCP

true

pdcp-Config

PDCP-Config-Split

}

}

drb-ToReleaseList

Not present

}

Table 7.1.3.5.3.3.3-3A: RadioBearerConfig-PDCPsplit (Table 7.1.3.5.3.3.3-2)

Derivation Path: TS 38.508-1 [4], Table 4.6.3-132

Information Element

Value/remark

Comment

Condition

RadioBearerConfig ::= SEQUENCE {

drb-ToAddModList SEQUENCE (SIZE (1..maxDRB)) OF {

1 entry

DRB-ToAddMod[1] SEQUENCE {

cnAssociation

Not present

drb-Identity

DRB-Identity with condition DRBn

SGC DRBn

reestablishPDCP

Not present

recoverPDCP

true

pdcp-Config

PDCP-Config-Split

}

}

}

Table 7.1.3.5.3.3.3-4: PDCP-Config-Split (Table 7.1.3.5.3.3.3-3)

Derivation Path: 38.508-1 [4], Table 4.6.3-99 condition EN-DC

Information Element

Value/remark

Comment

Condition

PDCP-Config ::= SEQUENCE {

moreThanOneRLC SEQUENCE {

primaryPath SEQUENCE {

cellGroup

1

EN-DC

0

MCG Path

NR-DC

}

ul-DataSplitThreshold

infinity

}

}

7.1.3.5.4 PDCP reordering / Maximum re-ordering delay below t-Reordering / t-Reordering timer operations

7.1.3.5.4.1 Test Purpose (TP)

(1)

with { UE in RRC_CONNECTED state using RLC-AM }

ensure that {

when { a PDCP PDU is received from the lower layers and the COUNT value of the received PDCP Data PDU is out of the re-ordering window }

then { UE discards the PDCP PDU }

}

(2)

with { UE in RRC_CONNECTED state using RLC-AM }

ensure that {

when { a PDCP PDU is received from the lower layers and the COUNT value of the received PDCP Data PDU is within the re-ordering window }

then { UE stores the resulting PDCP SDU }

}

(3)

with { UE in RRC_CONNECTED state using RLC-AM, and the RX_DELIV is not equal to the COUNT value of the RX_NEXT (there is missing PDCP PDUs) }

ensure that {

when { a PDCP PDU is received from the lower layers and the RCVD_COUNT = RX_DELIV }

then { UE delivers the resulting PDCP SDU and all stored PDCP SDUs with consecutive COUNT value to upper layer, in ascending order }

}

(4)

with { UE in RRC_CONNECTED state using RLC-AM and the associated PDCP t-Reordering timer is running }

ensure that {

when { RX_DELIV >= RX_REORD }

then { UE stops and resets t-Reordering timer }

}

(5)

with { UE in RRC_CONNECTED state using RLC-AM and the associated PDCP t-Reordering timer is running }

ensure that {

when { the t-Reordering timer expires }

then { UE delivers all stored PDCP SDUs to upper layer }

}

(6)

with { UE in RRC_CONNECTED state using RLC-AM and the associated PDCP t-Reordering timer is running }

ensure that {

when { the t-Reordering is reconfigured by upper layers }

then { UE stops and resets t-Reordering timer }

}

7.1.3.5.4.2 Conformance requirements

References: The conformance requirements covered in the present test case are specified in: TS 38.323, clause 5.2.2.1, 5.2.2.2 and 5.2.2.3. Unless otherwise stated these are Rel-15 requirements.

[TS 38.323, clause 5.2.2.1]

In this section, following definitions are used:

– HFN(State Variable): the HFN part (i.e. the number of most significant bits equal to HFN length) of the State Variable;

– SN(State Variable): the SN part (i.e. the number of least significant bits equal to PDCP SN length) of the State Variable;

– RCVD_SN: the PDCP SN of the received PDCP Data PDU, included in the PDU header;

– RCVD_HFN: the HFN of the received PDCP Data PDU, calculated by the receiving PDCP entity;

– RCVD_COUNT: the COUNT of the received PDCP Data PDU = [RCVD_HFN, RCVD_SN].

At reception of a PDCP Data PDU from lower layers, the receiving PDCP entity shall determine the COUNT value of the received PDCP Data PDU, i.e. RCVD_COUNT, as follows:

– if RCVD_SN < SN(RX_DELIV) – Window_Size:

– RCVD_HFN = HFN(RX_DELIV) + 1.

– else if RCVD_SN >= SN(RX_DELIV) + Window_Size:

– RCVD_HFN = HFN(RX_DELIV) – 1.

– else:

– RCVD_HFN = HFN(RX_DELIV);

– RCVD_COUNT = [RCVD_HFN, RCVD_SN].

After determining the COUNT value of the received PDCP Data PDU = RCVD_COUNT, the receiving PDCP entity shall:

– perform deciphering and integrity verification of the PDCP Data PDU using COUNT = RCVD_COUNT;

– if integrity verification fails:

– indicate the integrity verification failure to upper layer;

– discard the PDCP Data PDU;

– if RCVD_COUNT < RX_DELIV; or

– if the PDCP Data PDU with COUNT = RCVD_COUNT has been received before:

– discard the PDCP Data PDU;

If the received PDCP Data PDU with COUNT value = RCVD_COUNT is not discarded above, the receiving PDCP entity shall:

– store the resulting PDCP SDU in the reception buffer;

– if RCVD_COUNT >= RX_NEXT:

– update RX_NEXT to RCVD_COUNT + 1.

– if outOfOrderDelivery is configured:

– deliver the resulting PDCP SDU to upper layers.

– if RCVD_COUNT = RX_DELIV:

– deliver to upper layers in ascending order of the associated COUNT value after performing header decompression, if not decompressed before;

– all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from COUNT = RX_DELIV;

– update RX_DELIV to the COUNT value of the first PDCP SDU which has not been delivered to upper layers, with COUNT value > RX_DELIV;

– if t-Reordering is running, and if RX_DELIV >= RX_REORD:

– stop and reset t-Reordering.

– if t-Reordering is not running (includes the case when t-Reordering is stopped due to actions above), and RX_DELIV < RX_NEXT:

– update RX_REORD to RX_NEXT;

– start t-Reordering.

[TS 38.323, clause 5.2.2.2]

When t-Reordering expires, the receiving PDCP entity shall:

– deliver to upper layers in ascending order of the associated COUNT value after performing header decompression, if not decompressed before:

– all stored PDCP SDU(s) with associated COUNT value(s) < RX_REORD;

– all stored PDCP SDU(s) with consecutively associated COUNT value(s) starting from RX_REORD;

– update RX_DELIV to the COUNT value of the first PDCP SDU which has not been delivered to upper layers, with COUNT value >= RX_REORD;

– if RX_DELIV < RX_NEXT:

– update RX_REORD to RX_NEXT;

– start t-Reordering.

[TS 38.323, clause 5.2.2.3]

When the value of the t-Reordering is reconfigured by upper layers while the t-Reordering is running, the receiving PDCP entity shall:

– update RX_REORD to RX_NEXT;

– stop and restart t-Reordering.

7.1.3.5.4.3 Test description

7.1.3.5.4.3.1 Pre-test conditions

Same Pre-test conditions as in clause 7.1.3.0 exception of PDCP parameters according to Table 7.1.3.5.4.3.1-1.

Table 7.1.3.5.4.3.1-1: PDCP parameters

t-Reordering

ms300

7.1.3.5.4.3.2 Test procedure sequence

Table 7.1.3.5.4.3.2-1: Main behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

1

The SS sends the PDCP SDU #131072

D/C field = 1 (PDCP Data PDU) and PDCP SN = 131072. (Note 1)

<–

(PDCP SDU #131072)

2

Check: Does the UE transmit a PDCP SDU via the AM RLC entity in the next 1s?

–>

(PDCP SDU)

1

F

3

The SS sends the PDCP SDU #1

D/C field = 1 (PDCP Data PDU) and PDCP SN = 1.

The UE starts t-Reordering.

<–

(PDCP SDU #1)

4

The SS sends the PDCP SDU #2

D/C field = 1 (PDCP Data PDU) and PDCP SN =2.

<–

(PDCP SDU #2)

5

Wait for 100ms (< configured t-Reordering).

6

The SS sends the PDCP SDU #0

D/C field = 1 (PDCP Data PDU) and PDCP SN = 0.

<–

(PDCP SDU #0)

7

Check: Does the UE transmit the PDCP SDU #0 via the AM RLC entity

D/C field = 1 (PDCP Data PDU) and PDCP SN = 0?

(Note 4)

–>

(PDCP SDU #0)

2, 3

P

8

Check: Does the UE transmit the PDCP SDU #1 via the AM RLC entity

D/C field = 1 (PDCP Data PDU) and PDCP SN = 1?

(Note 4)

–>

(PDCP SDU #1)

2, 3

P

9

Check: Does the UE transmit the PDCP SDU #2 via the AM RLC entity

D/C field = 1 (PDCP Data PDU) and PDCP SN = 2?

(Note 4)

–>

(PDCP SDU #2)

2, 3

P

10

The SS sends the PDCP SDU #4

D/C field = 1 (PDCP Data PDU) and PDCP SN = 4.

The UE starts t-Reordering.

<–

(PDCP SDU #4)

11

Wait for 100ms (< configured t-Reordering)

12

The SS sends the PDCP SDU #7

D/C field = 1 (PDCP Data PDU) and PDCP SN = 7.

<–

(PDCP SDU #7)

13

The SS sends the PDCP SDU #3

D/C field = 1 (PDCP Data PDU) and PDCP SN = 3.

The UE restarts t-Reordering timer.

Note T1

<–

(PDCP SDU #3)

14

Check: Does the UE transmit the PDCP SDU #3 via the AM RLC entity?

(Note 5)

–>

(PDCP SDU #3)

3

P

15

Check: Does the UE transmit the PDCP SDU #4 via the AM RLC entity?

(Note 5)

–>

(PDCP SDU #4)

3

P

16

Check 1: Does the UE transmit the PDCP SDU #7 with PDCP SN=5 via the AM RLC entity after t-Reordering expiry?

Note T2

Check 2: Is (T2 – T1) > t-Reordering?

–>

(PDCP SDU #7)

4,5

P

17

The SS sends the PDCP SDU #9

D/C field = 1 (PDCP Data PDU) and PDCP SN = 9.

The UE starts t-Reordering.

<–

(PDCP SDU #9)

18

Wait for 100ms (< configured t-Reordering)

19

The SS reconfigures the t-Reordering by sending a NR RRCReconfiguration message.

The UE restarts t-Reordering timer. (Note 2)

Note T3

<–

RRCReconfiguration

20

The UE transmits a NR RRCReconfigurationComplete message.

(Note 3)

–>

RRCReconfigurationComplete

21

Check 1: Does the UE transmit the PDCP SDU #9 with PDCP SN=6 via the AM RLC entity after t-Reordering expiry?

Note T4

Check 2: Is (T4 – T3) > t-Reordering?

–>

(PDCP SDU #9)

6

P

Note 1: The Reordering Window size is 131072 when 18 bit SN length is used.

Note 2: For EN-DC the NR RRCReconfiguration message is contained in RRCConnectionReconfiguration 36.508 [7], Table 4.6.1-8 using condition EN-DC_Embed_RBConfig.

Note 3: For EN-DC the NR RRCReconfigurationComplete message is contained in RRCConnectionReconfigurationComplete.

Note 4: PDCP SDUs at steps 7, 8 and 9 may be received by the SS in the same slot or in multiple slots (max one MAC PDU in a slot)

Note 5: PDCP SDUs at steps 14 and 15 may be received by the SS in the same slot or in multiple slots (max one MAC PDU in a slot).

7.1.3.5.4.3.3 Specific message contents

Table 7.1.3.5.4.3.3-1: RRCReconfiguration (step 19, Table 7.1.3.5.4.3.2-1)

Derivation Path: 38.508-1 [4], Table: 4.6.1-13

Information Element

Value/remark

Comment

Condition

RRCReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

rrcReconfiguration ::= SEQUENCE {

radioBearerConfig

RadioBearerConfig

Not EN-DC

secondaryCellGroup

CellGroupConfig

EN-DC

}

RRCReconfiguration-v1530-IEs::= SEQUENCE {

masterCellGroup

CellGroupConfig

Not-EN-DC

}

}

Table 7.1.3.5.4.3.3-2: RadioBearerConfig (Table 7.1.3.5.4.3.3-1)

Derivation path: 38.508-1 [4], Table 4.6.3-132

Information Element

Value/Remark

Comment

Condition

RadioBearerConfig ::= SEQUENCE {

drb-ToAddModList ::= SEQUENCE (SIZE 1..2)) OF DRB-ToAddMod {

1 entry

DRB-ToAddMod[1] SEQUENCE {

entry 1

pdcp-Config SEQUENCE {

drb SEQUENCE {

outOfOrderDelivery

False

}

t-Reordering

ms750

}

}

}

}

7.1.3.5.5 PDCP Duplication

7.1.3.5.5.1 Test Purpose (TP)

(1)

with { UE in RRC_CONNECTED state and pdcpDuplication is configured and activated}

ensure that {

when { UE has PDCP SDUs available for transmission}

then { the UE transmits the PDCP SDUs on both the associated RLC entities }

}

(2)

with { UE in RRC_CONNECTED state and pdcpDuplication is configured and not activated }

ensure that {

when { UE receives MAC Control Element to Activate PDCP Duplication on a DRB configured with PDCP duplication }

then { the UE activates PDCP Duplication on the PDCP associated with the DRB }

}

(3)

with { UE in RRC_CONNECTED state and pdcpDuplication is configured }

ensure that {

when { UE has PDCP SDUs available for transmission }

then { the UE transmits the PDCP SDUs on the primary RLC entity}

}

(4)

with { UE in RRC_CONNECTED state and pdcpDuplication is configured and activated}

ensure that {

when { the UE had transmited the PDCP SDUs on both the associated RLC entities and successful delivery of a PDCP Data PDU is confirmed by one of the two associated AM RLC entities}

then { the other AM RLC entity discards the duplicated PDCP Data PDU}

}

7.1.3.5.5.2 Conformance requirements

References: The conformance requirements covered in the present TC are specified in: TS 38.321:5.10, 6.1.3.10 and TS 38.323:5.2.1, 5.11.1, 5.11.2 and TS 38.331: 5.3.5.6.4. Unless otherwise stated these are Rel-15 requirements.

[TS 38.323, clause 5.2.1]

When submitting a PDCP PDU to lower layer, the transmitting PDCP entity shall:

– if the transmitting PDCP entity is associated with one RLC entity:

– submit the PDCP PDU to the associated RLC entity;

– else, if the transmitting PDCP entity is associated with two RLC entities:

– if the PDCP duplication is activated:

– if the PDCP PDU is a PDCP Data PDU:

– duplicate the PDCP Data PDU and submit the PDCP Data PDU to both associated RLC entities;

– else:

– submit the PDCP Control PDU to the primary RLC entity;

– else:

– if the two associated RLC entities belong to the different Cell Groups; and

– if the total amount of PDCP data volume and RLC data volume pending for initial transmission (as specified in TS 38.322 [5]) in the two associated RLC entities is equal to or larger than ul-DataSplitThreshold:

– submit the PDCP PDU to either the primary RLC entity or the secondary RLC entity;

– else:

– submit the PDCP PDU to the primary RLC entity.

[TS 38.331, clause 5.3.5.6.4]

The UE shall:

1> for each drb-Identity value included in the drb-ToReleaseList that is part of the current UE configuration; or

1> for each drb-Identity value that is to be released as the result of full configuration according to 5.3.5.11:

2> release the PDCP entity and the drb-Identity;

2> if SDAP entity associated with this DRB is configured:

3> indicate the release of the DRB to SDAP entity associated with this DRB (TS 37.324 [24], clause 5.3.3);

2> if the UE is operating in EN-DC:

3> if a new bearer is not added either with NR or E-UTRA with same eps-BearerIdentity:

4> indicate the release of the DRB and the eps-BearerIdentity of the released DRB to upper layers.

NOTE 1: The UE does not consider the message as erroneous if the drb-ToReleaseList includes any drb-Identity value that is not part of the current UE configuration.

NOTE 2: Whether or not the RLC and MAC entities associated with this PDCP entity are reset or released is determined by the CellGroupConfig.

[TS 38.323, clause 5.11.1]

For the PDCP entity configured with pdcp-Duplication, the transmitting PDCP entity shall:

– for SRBs:

– activate the PDCP duplication;

– for DRBs:

– if the activation of PDCP duplication is indicated:

– activate the PDCP duplication;

– if the deactivation of PDCP duplication is indicated:

– deactivate the PDCP duplication.

[TS 38.323, clause 5.11.2]

For the PDCP entity configured with pdcp-Duplication, the transmitting PDCP entity shall:

– if the successful delivery of a PDCP Data PDU is confirmed by one of the two associated AM RLC entities:

– indicate to the other AM RLC entity to discard the duplicated PDCP Data PDU;

– if the deactivation of PDCP duplication is indicated:

– indicate to the secondary RLC entity to discard all duplicated PDCP Data PDUs.

[TS 38.321, clause 5.10]

If one or more DRBs are configured with PDCP duplication, the network may activate and deactivate the PDCP duplication for the configured DRB(s).

The PDCP duplication for the configured DRB(s) is activated and deactivated by:

– receiving the Duplication Activation/Deactivation MAC CE described in subclause 6.1.3.11;

– indication by RRC.

The MAC entity shall for each DRB configured with PDCP duplication:

1> if a Duplication Activation/Deactivation MAC CE is received activating the PDCP duplication of the DRB:

2> indicate the activation of PDCP duplication of the DRB to upper layers.

1> if a Duplication Activation/Deactivation MAC CE is received deactivating the PDCP duplication of the DRB:

2> indicate the deactivation of PDCP duplication of the DRB to upper layers.

7.1.3.5.5.3 Test description

7.1.3.5.5.3.1 Pre-test conditions

System Simulator:

– For NR 5GC NR Cell 1 and NR Cell 10

UE:

– None

Preamble:

– Same Pre-test conditions as in clause 7.1.3.0 and Generic procedure parameter DC bearer (MCG and split).

– For NR 5GC, Same Pre-test conditions as in clause 7.1.3.0 using generic procedure parameter Connectivity (NR-DC), Bearers(MCG(s) and Split),

7.1.3.5.5.3.2 Test procedure sequence

Table 7.1.3.5.5.3.2-1: Main behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

1

Void

2

SS transmits a Duplication Activation MAC CE to activate PDCP Duplication for split DRB.

<–

MAC PDU (Duplication Activation MAC Control Element)

2A

The SS is configured not to send RLC ACK for the next PDU on split DRB. (Note 6)

3

The SS sends a PDCP Data PDU on the split DRB on the AM RLC primary entity.

<–

PDCP DATA PDU

EXCEPTION: Steps 4-4A below occur in any sequence

4

Check: Does UE transmit a PDCP Data PDU on the AM RLC primary entity?

–>

PDCP DATA PDU

3

P

4A

Check: Does UE transmit a PDCP Data PDU on the AM RLC secondary entity?

–>

PDCP DATA PDU

2

P

4B-4C

Void

5

SS transmits a Duplication Deactivation MAC CE to deactivate PDCP Duplication for split DRB.

<–

MAC PDU (Duplication Deactivation MAC Control Element)

6

The SS sends a PDCP Data PDU on the split DRB on the AM RLC primary entity.

<–

PDCP DATA PDU

7

Check: Does UE transmit a PDCP Data PDU on the AM RLC entity configured on the AM RLC primary entity?

–>

PDCP DATA PDU

3

P

8

The SS transmits an NR RRCReconfiguration message to activate parameters for PdcpDuplication(Note 2)

<–

RRCReconfiguration

8A

UE responses NR RRCReconfigurationComplete message.(Note 3)

–>

RRCReconfigurationComplete

8AA

The SS is configured not to send RLC ACK for the next PDU on split DRB. (Note 6)

8B

The SS sends a PDCP Data PDU on the split DRB on the AM RLC primary entity.

<–

PDCP DATA PDU

EXCEPTION: Steps 8C-8D below occur in any sequence

8C

Check: Does UE transmit a PDCP Data PDU on the AM RLC primary entity?

–>

PDCP DATA PDU

1

P

8D

Check: Does UE transmit a PDCP Data PDU on the AM RLC secondary entity?

–>

PDCP DATA PDU

1

P

8E-8F

Void

9

The SS stops allocating any UL grant for the AM RLC secondary entity(Note 1)

10

The SS sends a PDCP Data PDU on the split DRB on the AM RLC primary entity.

<–

PDCP DATA PDU

11

UE transmits a PDCP Data PDU on the AM RLC primary entity

–>

PDCP DATA PDU

12

The SS resumes normal UL grant allocation for the AM RLC secondary entity.

13

Check: Does UE transmit a PDCP Data PDU on the AM RLC primary or secondary entity in next five seconds?

–>

PDCP DATA PDU

4

F

Note 1: Discard of RLC SDU is not possible if submitted to lower layers. Therefore, Grant is not provided so that RLC SDU is not submitted to lower layers.

Note 2: For EN-DC the NR RRCReconfiguration is contained in RRCConnectionReconfiguration Table 7.1.3.5.5.3.3-4.

Note 3: For EN-DC the NR RRCReconfigurationComplete message is contained in RRCConnectionReconfigurationComplete.

Note 4: Void

Note 5: Void

Note 6: SS is configured not to send RLC ACK for the next PDU on split DRB to ensure that UE side primary or secondary entities do not discard the PDU before PDSCH transmission upon receipt of RLC ACK on one of the entities. This may cause UE side entities to retransmit the PDU but it shall be ignored by SS side RLC entity as it has already been received though not acknowledged due to SS side RLC being configured in test mode.

7.1.3.5.5.3.3 Specific message contents

Table 7.1.3.5.5.3.3-0A: RRCConnectionReconfiguration (step 8, Table 7.1.3.5.5.3.2-1)

Derivation Path: 36.508 [7], Table 4.6.1-8

Information Element

Value/remark

Comment

Condition

RRCConnectionReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

c1 CHOICE{

rrcConnectionReconfiguration-r8 ::= SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nr-RadioBearerConfig1-r15

OCTET STRING including RadioBearerConfig-PDCP

}

}

}

}

}

}

}

}

}

}

}

}

Table 7.1.3.5.5.3.3-0B: RRCReconfiguration (step 8, Table 7.1.3.5.5.3.2-1)

Derivation Path: 38.508-1 [4], Table 4.6.1-13

Information Element

Value/remark

Comment

Condition

RRCReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

rrcReconfiguration SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

radioBearerConfig2

OCTET STRING including RadioBearerConfig-PDCP

}

}

}

}

}

}

Table 7.1.3.5.5.3.3-1: RadioBearerConfig-PDCP (Table 7.1.3.5.5.3.3-0A and Table 7.1.3.5.5.3.3-0B , Step 8)

Derivation Path: TS 38.508-1 [7], Table 4.6.3-132

Information Element

Value/remark

Comment

Condition

RadioBearerConfig ::= SEQUENCE {

srb3-ToRelease

Not present

drb-ToAddModList

Not present

drb-ToAddModList SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod {

1 entry

DRB-ToAddMod[1] SEQUENCE {

entry 1

drb-Identity

2

EN-DC

SCG DRBn

NR

pdcp-Config

PDCP-Config-Split

}

}

drb-ToReleaseList

Not present

}

Table 7.1.3.5.5.3.3-2: PDCP-Config-Split (Table 7.1.3.5.5.3.3-1)

Derivation Path: 38.508-1 [4], Table 4.6.3-99 condition Split

Information Element

Value/remark

Comment

Condition

PDCP-Config ::= SEQUENCE {

moreThanOneRLC SEQUENCE {

primaryPath SEQUENCE {

cellGroup

1

EN-DC

0

NR

}

ul-DataSplitThreshold

infinity

pdcp-Duplication

true

}

}

7.1.3.5.6 PDCP Duplication / 3 RLC entities
7.1.3.5.6.1 PDCP Duplication / 3 RLC entities / Intra-band Contiguous CA

7.1.3.5.6.1.1 Test Purpose (TP)

(1)

with { UE in RRC_CONNECTED state and PDCP CA duplication is configured and activated}

ensure that {

when { UE has a PDCP SDU available for transmission }

then { the UE transmits the PDCP SDU on all the associated RLC entities }

}

(2)

Void

(3)

with { UE in RRC_CONNECTED state and PDCP CA duplication is configured }

ensure that {

when { UE has a PDCP SDU available for transmission }

then { the UE transmits the PDCP SDU on the primary RLC entity }

}

(4)

with { UE in RRC_CONNECTED state and PDCP CA duplication is configured and activated }

ensure that {

when { the UE had transmitted the PDCP SDU on all the associated RLC entities and successful delivery of a PDCP Data PDU is confirmed by one of the associated AM RLC entities }

then { the other AM RLC entities discard the duplicated PDCP Data PDU }

}

(5)

with { UE in RRC_CONNECTED state and PDCP CA duplication is configured and activated }

ensure that {

when { UE receives MAC Control Element to deactivate PDCP Duplication on one of the associated RLC entity configured with PDCP duplication }

then { the UE deactivates the PDCP duplication for the indicated associated RLC entity }

7.1.3.5.6.1.2 Conformance requirements

References: The conformance requirements covered in the present TC are specified in: TS 38.321:5.10, 6.1.3.11, 6.1.3.32, TS 38.323:5.2.1, 5.11.1, 5.11.2 and TS 38.331: 5.3.5.6.4. Unless otherwise stated these are Rel-16 requirements.

[TS 38.323, clause 5.2.1]

When submitting a PDCP PDU to lower layer, the transmitting PDCP entity shall:

– if the transmitting PDCP entity is associated with one RLC entity:

– submit the PDCP PDU to the associated RLC entity;

– else, if the transmitting PDCP entity is associated with at least two RLC entities:

– if the PDCP duplication is activated for the RB:

– if the PDCP PDU is a PDCP Data PDU:

– duplicate the PDCP Data PDU and submit the PDCP Data PDU to the associated RLC entities activated for PDCP duplication;

– else:

– submit the PDCP Control PDU to the primary RLC entity;

– else (i.e. the PDCP duplication is deactivated for the RB):

– if the split secondary RLC entity is configured; and

– if the total amount of PDCP data volume and RLC data volume pending for initial transmission (as specified in TS 38.322 [5]) in the primary RLC entity and the split secondary RLC entity is equal to or larger than ul-DataSplitThreshold:

– submit the PDCP PDU to either the primary RLC entity or the split secondary RLC entity;

– else, if the transmitting PDCP entity is associated with the DAPS bearer:

– if the uplink data switching has not been requested:

– submit the PDCP PDU to the RLC entity associated with the source cell;

– else:

– if the PDCP PDU is a PDCP Data PDU:

– submit the PDCP Data PDU to the RLC entity associated with the target cell;

– else:

– if the PDCP Control PDU is associated with source cell:

– submit the PDCP Control PDU to the RLC entity associated with the source cell;

– else:

– submit the PDCP Control PDU to the RLC entity associated with the target cell;

– else:

– submit the PDCP PDU to the primary RLC entity.

[TS 38.323, clause 5.11.1]

For the PDCP entity configured with pdcp-Duplication, the transmitting PDCP entity shall:

– for SRBs:

– activate the PDCP duplication;

– for DRBs:

– if the activation of PDCP duplication is indicated for the DRB:

– activate the PDCP duplication for the DRB;

– if the activation of PDCP duplication is indicated for at least one associated RLC entities:

– activate the PDCP duplication for the indicated associated RLC entities;

– activate the PDCP duplication for the DRB;

– if the deactivation of PDCP duplication is indicated for the DRB:

– deactivate the PDCP duplication for the DRB;

– if the deactivation of PDCP duplication is indicated for at least one associated RLC entities:

– deactivate the PDCP duplication for the indicated associated RLC entities;

– if all associated RLC entities other than the primary RLC entity are deactivated for PDCP duplication:

– deactivate the PDCP duplication for the DRB.

[TS 38.323, clause 5.11.2]

For the PDCP entity configured with pdcp-Duplication, the transmitting PDCP entity shall:

– if the successful delivery of a PDCP Data PDU is confirmed by one of the associated AM RLC entities:

– indicate to the other AM RLC entities to discard the duplicated PDCP Data PDU;

– if the deactivation of PDCP duplication is indicated for the DRB:

– indicate to the RLC entities other than the primary RLC entity to discard all duplicated PDCP Data PDUs;

– if the deactivation of PDCP duplication is indicated for at least one associated RLC entities:

– indicate to the RLC entities deactivated for PDCP duplication to discard all duplicated PDCP Data PDUs.

[TS 38.321, clause 5.10]

If one or more DRBs are configured with PDCP duplication, the network may activate and deactivate the PDCP duplication for all or a subset of associated RLC entities for the configured DRB(s).

The PDCP duplication for the configured DRB(s) is activated and deactivated by:

– receiving the Duplication Activation/Deactivation MAC CE described in clause 6.1.3.11;

– receiving the Duplication RLC Activation/Deactivation MAC CE described in clause 6.1.3.32;

– indication by RRC.

The PDCP duplication for all or a subset of associated RLC entities for the configured DRB(s) is activated and deactivated by:

– receiving the Duplication RLC Activation/Deactivation MAC CE described in clause 6.1.3.32;

– indication by RRC.

The MAC entity shall for each DRB configured with PDCP duplication:

1> if a Duplication Activation/Deactivation MAC CE is received activating the PDCP duplication of the DRB:

2> indicate the activation of PDCP duplication of the DRB to upper layers.

1> if a Duplication Activation/Deactivation MAC CE is received deactivating the PDCP duplication of the DRB:

2> indicate the deactivation of PDCP duplication of the DRB to upper layers.

1> if a Duplication RLC Activation/Deactivation MAC CE is received activating PDCP duplication for associated RLC entities of a DRB configured with PDCP duplication:

2> indicate the activation of PDCP duplication for the indicated secondary RLC entity(ies) of the DRB to upper layers.

1> if a Duplication RLC Activation/Deactivation MAC CE is received deactivating PDCP duplication for associated RLC entities of a DRB configured with PDCP duplication:

2> indicate the deactivation of PDCP duplication for the indicated secondary RLC entity(ies) of the DRB to upper layers.

[TS 38.331, clause 5.3.5.6.4]

The UE shall:

1> for each drb-Identity value included in the drb-ToReleaseList that is part of the current UE configuration; or

1> for each drb-Identity value that is to be released as the result of full configuration according to 5.3.5.11:

2> release the PDCP entity and the drb-Identity;

2> if SDAP entity associated with this DRB is configured:

3> indicate the release of the DRB to SDAP entity associated with this DRB (TS 37.324 [24], clause 5.3.3);

2> if the UE is operating in EN-DC:

3> if a new bearer is not added either with NR or E-UTRA with same eps-BearerIdentity:

4> indicate the release of the DRB and the eps-BearerIdentity of the released DRB to upper layers.

NOTE 1: The UE does not consider the message as erroneous if the drb-ToReleaseList includes any drb-Identity value that is not part of the current UE configuration.

NOTE 2: Whether or not the RLC and MAC entities associated with this PDCP entity are reset or released is determined by the CellGroupConfig.

7.1.3.5.6.1.3 Test description

7.1.3.5.6.1.3.1 Pre-test conditions

System Simulator:

– NR Cell 1 is the PCell, NR Cell 3 and NR Cell 6 are the SCells.

UE:

– None

Preamble:

– Same Pre-test conditions as in clause 7.1.3.0.

7.1.3.5.6.1.3.2 Test procedure sequence

Table 7.1.3.5.6.1.3.2-1: Main behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

1

The SS transmits an NR RRCReconfiguration message to add 2 SCells and to configure parameters for PDCP CA duplication

<–

RRCReconfiguration

1A

UE transmits NR RRCReconfigurationComplete message.

–>

RRCReconfigurationComplete

1B

The SS transmits a SCell Activation MAC-CE on PCell (NR Cell 1) to activate NR SCells (NR Cell 3 and NR Cell 6).

<–

MAC PDU (SCell Activation/Deactivation MAC CE of one octet (C1=1))

2

The SS sends a PDCP Data PDU on the DRB on the AM RLC primary entity.

<–

PDCP DATA PDU

3

Check: Does UE transmit a PDCP Data PDU on the AM RLC primary entity?

–>

PDCP DATA PDU

3

P

3A

SS transmits a MAC CE to activate PDCP Duplication for all AM RLC entities associated to the DRB.

<–

MAC PDU (Duplication RLC Activation MAC Control Element)

3B

The SS is configured not to send RLC ACK on all 3 RLC entities. (Note 2)

3C

The SS sends a PDCP Data PDU on the DRB on the AM RLC primary entity.

<–

PDCP DATA PDU

EXCEPTION: Steps 3D, 4 & 4A below can occur in any order.

3D

Check: Does UE transmit a PDCP Data PDU on the AM RLC primary entity?

–>

PDCP DATA PDU

1

P

4

Check: Does UE transmit a PDCP Data PDU on the associated AM RLC entity on the SCell (NR Cell3)?

–>

PDCP DATA PDU

1

P

4A

Check: Does UE transmit a PDCP Data PDU on the associated AM RLC entity on the SCell (NR Cell6)?

–>

PDCP DATA PDU

1

P

5

The SS transmits a MAC CE to deactivate PDCP Duplication for the AM RLC entity associated with theDRB on SCell (NR Cell 6).

<–

MAC PDU (Duplication RLC Deactivation MAC Control Element)

5A

The SS is configured not to send RLC ACK on all 3 RLC entities.

6

The SS sends a PDCP Data PDU on the DRB on the AM RLC primary entity.

<–

PDCP DATA PDU

EXCEPTION: Steps 6A-6B below can occur in any order.

6A

The UE transmits a PDCP Data PDU on the activated primary AM RLC entity.

–>

PDCP DATA PDU

6B

The UE transmits a PDCP Data PDU on the activated secondary AM RLC entity.

–>

PDCP DATA PDU

7

Check: Does UE transmit a PDCP Data PDU on the deactivated AM RLC entity by step 5?

–>

PDCP DATA PDU

5

F

8-14

Void

15

The SS stops allocating any UL grant on the SCells.(Note 1)

16

The SS sends a PDCP Data PDU on the DRB on the AM RLC primary entity.

<–

PDCP DATA PDU

17

UE transmits a PDCP Data PDU on the AM RLC primary entity

–>

PDCP DATA PDU

18

The SS resumes normal UL grant allocation on the SCells.

EXCEPTION: Steps 19-21 below can occur in any order in the next five seconds.

19

Check: Does UE transmit a PDCP Data PDU on the AM RLC primary?

–>

PDCP DATA PDU

4

F

20

Check: Does UE transmit a PDCP Data PDU on the AM RLC primary or the associated AM RLC entity on the SCell (NR Cell 3)?

–>

PDCP DATA PDU

4

F

21

Check: Does UE transmit a PDCP Data PDU on the AM RLC primary or the associated AM RLC entity on the SCell (NR Cell 6)?

–>

PDCP DATA PDU

F

Note 1: Discard of RLC SDU is not possible if submitted to lower layers. Therefore, Grant is not provided so that RLC SDU is not submitted to lower layers.

Note2: SS is configured not to send RLC ACK for the next PDU on all RLC entities to ensure that UE side primary or secondary entities do not discard the PDU before PDSCH transmission upon receipt of RLC ACK on one of the entities. This may cause UE side entities to retransmit the PDU but it shall be ignored by SS side RLC entity as it has already been received though not acknowledged due to SS side RLC being configured in test mode.

7.1.3.5.6.1.3.3 Specific message contents

Table 7.1.3.5.6.1.3.3-1: Void

Table 7.1.3.5.6.1.3.3-1A: RRCReconfiguration (Step 1, Table 7.1.3.5.6.1.3.2-1)

Derivation Path: TS 38.508-1 [4], Table 4.6.1-13 with condition SCell_add

Information Element

Value/remark

Comment

Condition

RRCReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

rrcReconfiguration SEQUENCE {

radioBearerConfig

RadioBearerConfig-DRB

nonCriticalExtension SEQUENCE {

masterCellGroup

CellGroupConfig-SCells

nonCriticalExtension SEQUENCE {

nonCriticalExtension SEQUENCE {

}

}

}

}

}

}

Table 7.1.3.5.6.1.3.3-1B: RadioBearerConfig-DRB (Table 7.1.3.5.6.1.3.3-1A)

Derivation Path: TS 38.508-1 [7], Table 4.6.3-132

Information Element

Value/remark

Comment

Condition

RadioBearerConfig ::= SEQUENCE {

srb3-ToRelease

Not present

drb-ToAddModList SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod {

1 entry

DRB-ToAddMod[1] SEQUENCE {

entry 1

drb-Identity

DRBi

pdcp-Config

PDCP-Config

}

}

}

Table 7.1.3.5.6.1.3.3-1C: CellGroupConfig-SCells (Table 7.1.3.5.6.1.3.3-1A)

Derivation Path: TS 38.508-1 [4], Table 4.6.3-19 with condition SCell_add

Information Element

Value/remark

Comment

Condition

CellGroupConfig ::= SEQUENCE {

rlc-BearerToAddModList SEQUENCE (SIZE(1..max LC-ID)) OF RLC-BearerConfig {

3 entries

RLC-BearerConfig[1]

RLC-BearerConfig-1

entry 1

Table 7.1.3.5.6.3.3-3

RLC entity 1 (primary)

RLC-BearerConfig[2]

RLC-BearerConfig-2

entry 2

Table 7.1.3.5.6.3.3-4

RLC entity 2 (secondary)

RLC-BearerConfig[3]

RLC-BearerConfig-3

entry 3

Table 7.1.3.5.6.3.3-5

RLC entity 3 (secondary)

}

mac-CellGroupConfig

Not present

physicalCellGroupConfig

Not present

spCellConfig

Not present

sCellToAddModList SEQUENCE (SIZE (1..maxNrofSCells)) OF SCellConfig {

2 entries

SCellConfig[1] SEQUENCE {

entry 1

sCellIndex

SCellIndex for NR Cell 3

sCellConfigCommon

ServingCellConfigCommon as per TS 38.508-1 [4] Table 4.6.3-168

sCellConfigDedicated

ServingCellConfig as per TS 38.508-1 [4] Table 4.6.3-167

}

SCellConfig[2] SEQUENCE {

entry 2

sCellIndex

SCellIndex for NR Cell 6

sCellConfigCommon

ServingCellConfigCommon as per TS 38.508-1 [4] Table 4.6.3-168

sCellConfigDedicated

ServingCellConfig as per TS 38.508-1 [4] Table 4.6.3-167

}

}

}

Table 7.1.3.5.6.1.3.3-2: PDCP-Config (Table 7.1.3.5.6.1.3.3-1B)

Derivation Path: 38.508-1 [4], Table 4.6.3-99

Information Element

Value/remark

Comment

Condition

PDCP-Config ::= SEQUENCE {

t-Reordering

Not present

moreThanTwoRLC-DRB-r16 SEQUENCE {

duplicationState-r16 SEQUENCE (SIZE (3))

3 entries

duplicationState-r16[1]

true

duplicationState-r16[2]

true

duplicationState-r16[3]

false

}

}

Table 7.1.3.5.6.1.3.3-3: RLC-BearerConfig-1 (Table 7.1.3.5.6.1.3.3-1C)

Derivation Path: TS 38.508-1 [4], Table 4.6.3-148 with Condition AM

Information Element

Value/remark

Comment

Condition

RLC-BearerConfig ::= SEQUENCE {

logicalChannelIdentity

LogicalChannelIdentity with condition DRB j

ID of primary logical channel

servedRadioBearer CHOICE {

drb-Identity

DRB-Identity with condition DRB j

DRB

}

rlc-Config CHOICE {

am SEQUENCE {

ul-AM-RLC SEQUENCE {

maxRetxThreshold

t32

To ensure RLC failure happens before RLF

}

}

}

mac-LogicalChannelConfig SEQUENCE {

ul-SpecificParameters SEQUENCE {

allowedServingCells SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF ServCellIndex {

1 entry

ServCellIndex[1]

ServCellIndex of NR Cell 1

entry 1

}

}

}

}

Table 7.1.3.5.6.1.3.3-4: RLC-BearerConfig-2 (Table 7.1.3.5.6.1.3.3-1C)

Derivation Path: TS 38.508-1 [4], Table 4.6.3-148 with Condition AM

Information Element

Value/remark

Comment

Condition

RLC-BearerConfig ::= SEQUENCE {

logicalChannelIdentity

LogicalChannelIdentity with condition DRB j+1

To ensure ID of secondary logical channel ID is different with existing logical channel and the primary logical channel

servedRadioBearer CHOICE {

drb-Identity

DRB-Identity with condition DRB j

DRB

}

rlc-Config CHOICE {

am SEQUENCE {

ul-AM-RLC SEQUENCE {

maxRetxThreshold

t1

To ensure RLC failure happens before RLF

}

}

}

mac-LogicalChannelConfig SEQUENCE {

ul-SpecificParameters SEQUENCE {

allowedServingCells SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF ServCellIndex {

1 entry

ServCellIndex[1]

ServCellIndex of NR Cell 3

entry 1

}

}

}

}

Table 7.1.3.5.6.1.3.3-5: RLC-BearerConfig-3 (Table 7.1.3.5.6.1.3.3-1C)

Derivation Path: TS 38.508-1 [4], Table 4.6.3-148 with Condition AM

Information Element

Value/remark

Comment

Condition

RLC-BearerConfig ::= SEQUENCE {

logicalChannelIdentity

LogicalChannelIdentity with condition DRB j+2

To ensure ID of secondary logical channel ID is different with existing logical channel and the primary logical channel

servedRadioBearer CHOICE {

drb-Identity

DRB-Identity with condition DRB j

DRB

}

rlc-Config CHOICE {

am SEQUENCE {

ul-AM-RLC SEQUENCE {

maxRetxThreshold

t1

To ensure RLC failure happens before RLF

}

}

}

mac-LogicalChannelConfig SEQUENCE {

ul-SpecificParameters SEQUENCE {

allowedServingCells SEQUENCE (SIZE (1..maxNrofServingCells-1)) OF ServCellIndex {

1 entry

ServCellIndex[1]

ServCellIndex of NR Cell 6

entry 1

}

}

}

}

7.1.3.5.6.2 PDCP Duplication / 3 RLC entities / Intra-band non-Contiguous CA

The scope and description of the present TC is the same as test case 7.1.3.5.6.1 with the following differences:

– CA configuration: Intra-band non-Contiguous CA replaces Intra-band Contiguous CA.

7.1.3.5.7 Ethernet header compression and decompression / Correct functionality of ethernet header compression and decompression

7.1.3.5.7.1 Test Purpose (TP)

(1)

with { UE in RRC_CONNECTED state }

ensure that {

when { SS sends PDCP Data PDU containing EHC compressed ethernet packet with Context ID A and with full ethernet header A to UE }

then { UE sends PDCP Control PDU to SS containing EHC feedback packet with Context ID A }

}

(2)

with { UE in RRC_CONNECTED state }

ensure that {

when { SS sends PDCP Data PDU containing EHC compressed ethernet packet with Context ID A and with full ethernet header A to UE }

then { UE sends PDCP Data PDU to SS containing EHC compressed ethernet packet with Context ID B and with full ethernet header A generated from the looped back ethernet packet }

}

(3)

with { UE in RRC_CONNECTED state }

ensure that {

when { SS sends PDCP Data PDU containing EHC compressed ethernet packet with Context ID A and without ethernet header to UE }

then { UE sends PDCP Data PDU to SS containing EHC compressed ethernet packet with Context ID B and with full ethernet header A generated from the looped back ethernet packet with decompressed ethernet header }

}

(4)

with { UE in RRC_CONNECTED state }

ensure that {

when { SS has sent PDCP Control PDU to UE containing EHC feedback packet with Context ID B and SS sends PDCP Data PDU to UE containing EHC compressed ethernet packet with Context ID A without ethernet header to UE }

then { UE sends PDCP Data PDU to SS containing EHC compressed ethernet packet with Context ID B and without ethernet header generated from the looped back ethernet packet with decompressed ethernet header }

}

7.1.3.5.7.2 Conformance requirements

References: The conformance requirements covered in the present TC are specified in: TS 38.323, clause 5.12. These are Rel-16 requirements.

[TS 38.323, clause 5.12.2]

PDCP entities associated with DRBs can be configured by upper layers TS 38.331 [3] to use EHC. Each PDCP entity carrying user plane data may be configured to use EHC. Every PDCP entity uses at most one EHC compressor instance and at most one EHC decompressor instance.

[TS 38.323, clause 5.12.3]

The usage and definition of the parameters shall be as specified below.

– MAX_CID_EHC_UL: This is the maximum CID value that can be used for uplink. One CID value shall always be reserved for uncompressed flows. The parameter MAX_CID_EHC_UL is configured by upper layers (maxCID-EHC-UL in TS 38.331 [3]);

[TS 38.323, clause 5.12.4]

If EHC is configured, the EHC protocol generates two types of output packets:

– EHC compressed packets (i.e. EHC full header packets and EHC compressed header packets), each associated with one PDCP SDU;

– standalone packets not associated with a PDCP SDU, i.e. EHC feedback.

An EHC compressed packet is associated with the same PDCP SN and COUNT value as the related PDCP SDU. The header compression is not applicable to the SDAP header and the SDAP Control PDU if included in the PDCP SDU.

EHC feedback are not associated with a PDCP SDU. They are not associated with a PDCP SN and are not ciphered.

[TS 38.323, clause 5.12.5]

If EHC is configured by upper layers for PDCP entities associated with user plane data, the PDCP Data PDUs are decompressed by the EHC protocol after performing deciphering as explained in clause 5.8. The header decompression is not applicable to the SDAP header and the SDAP Control PDU if included in the PDCP Data PDU.

[TS 38.323, clause 5.12.6.1]

When an EHC feedback is generated by the EHC protocol, the transmitting PDCP entity shall:

– submit to lower layers the corresponding PDCP Control PDU as specified in clause 6.2.3.3 i.e. without associating a PDCP SN, nor performing ciphering.

[TS 38.323, clause 5.12.6.2]

At reception of a PDCP Control PDU for EHC feedback from lower layers, the receiving PDCP entity shall:

– deliver the corresponding EHC feedback to the EHC protocol without performing deciphering.

7.1.3.5.7.3 Test description

7.1.3.5.7.3.1 Pre-test conditions

Pre-test conditions as in clause 7.1.3.0 with condition pc_NG_RAN_NR, PDN/PDU session type Ethernet used in 4.5A.2 and message with condition UM used for step 7 in 4.5.4.2 according to [4] for primary DRB.

7.1.3.5.7.3.2 Test procedure sequence

Table 7.1.3.5.7.3.2-1: Main behaviour

St

Procedure

Message Sequence

TP

Verdict

U – S

Message

1

SS transmits an RRCReconfiguration message to configure DRB to use ethernet header compression.

<–

RRCReconfiguration

2

UE transmits RRCReconfigurationComplete message to confirm that reconfiguration with ethernet header compression configuration is completed.

–>

RRCReconfigurationComplete

3

SS transmits PDCP Data PDU containing EHC compressed ethernet packet with Context ID A and with full ethernet header information A.

<–

PDCP Data PDU #0

4

CHECK: Does UE transmit PDCP Control PDU containing unciphered EHC feedback packet with Context ID A?

–>

PDCP Control PDU #0

1

P

5

CHECK: Does UE transmit PDCP Data PDU containing EHC compressed ethernet packet with Context ID B and with full ethernet header information A?

–>

PDCP Data PDU #0

1

P

6

SS transmits PDCP Data PDU containing EHC compressed ethernet packet with Context ID A and without ethernet header information.

<–

PDCP Control PDU #0

7

CHECK: Does UE transmit PDCP Data PDU containing EHC compressed ethernet packet with Context ID B and with full ethernet header information A?

–>

PDCP Data PDU #1

8

SS transmits PDCP Control PDU containing unciphered EHC feedback packet with Context ID B.

<–

PDCP Control PDU #1

9

SS transmits PDCP Data PDU containing EHC compressed ethernet packet with Context ID A and without ethernet header information.

<–

PDCP Data PDU #2

10

CHECK: Does UE transmit PDCP Data PDU containing EHC compressed ethernet packet with Context ID B and without ethernet header information?

–>

PDCP Data PDU #2

4

P

Note 1: PDCP PDUs will be checked before and after decompressor on the NW side for test steps 5, 7 and 10.

Note 2: The value of Context ID A and Context ID B can be any value. However, value of Context ID A and Context ID B should stay the same in all steps.

7.1.3.5.7.3.3 Specific message contents

Table 7.1.3.5.7.3.3-1: RRCReconfiguration (step 1, Table 7.1.3.5.7.3.2-1)

Derivation Path: TS 38.508 [4], clause 4.6.1, table 4.6.1-13 RRCReconfiguration

Information Element

Value/remark

Comment

Condition

RRCReconfiguration ::= SEQUENCE {

criticalExtensions CHOICE {

rrcReconfiguration SEQUENCE {

radioBearerConfig

RadioBearerConfig-EHC

}

}

}

Table 7.1.3.5.7.3.3-2: RadioBearerConfig-EHC (Table 7.1.3.5.7.3.3-1)

Derivation Path: TS 38.331 [12], clause 6.3.2

Information Element

Value/remark

Comment

Condition

RadioBearerConfig ::= SEQUENCE {

drb-ToAddModList SEQUENCE (SIZE (1..maxDRB)) OF DRB-ToAddMod {

1 entry

DRB-ToAddMod[1] SEQUENCE {

entry 1

drb-Identity

DRB-Identity for DRB created in pre-test conditions

pdcp-Config

PDCP-Config-EHC

}

}

}

Table 7.1.3.5.7.3.3-3: PDCP-Config-EHC

Derivation Path: TS38.331 [12], clause 6.3.2

Information Element

Value/remark

Comment

Condition

PDCP-Config ::= SEQUENCE {

ethernetHeaderCompression-r16 SEQUENCE {

ehc-Common-r16 SEQUENCE {

ehc-CID-Length-r16

bits15

}

ehc-Downlink-r16 SEQUENCE {

drb-ContinueEHC-DL-r16

true

}

ehc-Uplink-r16 SEQUENCE {

maxCID-EHC-UL-r16

32767

drb-ContinueEHC-UL-r16

true

}

}

}