7.1.2 RLC
38.523-13GPP5GSPart 1: ProtocolRelease 17TSUser Equipment (UE) conformance specification
7.1.2.1 Default Pre-Test Conditions for all RLC test cases
The following pre-test conditions shall be applied in all RLC test cases until the test case explicitly over writes these conditions.
7.1.2.1.1 Default Pre-Test Conditions for AM RLC test cases
System Simulator:
– The SS configures the test environment in accordance to the execution conditions in Table 7.1.2.1.1-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.2.1.1-2 and the message condition UE TEST LOOP MODE A to return one UL PDCP SDU per DL PDCP SDU.
Table 7.1.2.1.1-1: Test environment
Execution Condition |
Cell configuration |
System Information Combination |
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 |
Table 7.1.2.1.1-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 |
TRUE |
Connectivity(NR), Test loop function(On) N DRBs (N ≥ 2) |
||
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(EN-DC), DC bearer(Two MN Terminated MCG bearer and One SN terminated SCG bearer), Test loop function(On) |
Table 7.1.2.1.1-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 SCG-DRB(1,0) 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 SCG-DRB(1,0) is used for step 7 in 4.5.4.2 according to [4] |
7.1.2.1.2 Default Pre-Test Conditions for UM RLC test cases
Same Pre-test conditions as in clause 7.1.2.1.1 with the exceptions in Table 7.1.2.1.2-1.
Table 7.1.2.1.2-1: Message conditions
Execution Condition |
Message condition exceptions |
IF pc_NG_RAN_NR |
Message with condition UM 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 SCG-DRB(0,1) 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 SCG-DRB(0,1) is used for step 7 in 4.5.4.2 according to [4] |
7.1.2.2 RLC Unacknowledged mode
7.1.2.2.1 UM RLC / Segmentation and reassembly / 6-bit SN / Segmentation Info (SI) field
7.1.2.2.1.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state configured for 6 bit SN in RLC UM }
ensure that {
when { UE receives UMD PDU containing a SI field set to 00 }
then { UE correctly decodes the received UMD PDU }
}
(2)
with { UE in RRC_CONNECTED state configured for 6 bit SN in RLC UM }
ensure that {
when { UE receives a 6 bit SN configured UMD PDU containing a SI field set to 01 }
then { UE correctly decodes the received UMD PDU }
}
(3)
with { UE in RRC_CONNECTED state configured for 6 bit SN in RLC UM }
ensure that {
when { UE receives a 6 bit SN configured UMD PDU containing a SI field set to 11 and SO field }
then { UE correctly decodes the received UMD PDU }
}
(4)
with { UE in RRC_CONNECTED state configured for 6 bit SN in RLC UM }
ensure that {
when { UE receives a 6 bit SN configured UMD PDU containing a SI field set to 10 and SO field }
then { UE correctly decodes the received UMD PDU }
}
(5)
with { UE in RRC_CONNECTED state configured for 6 bit SN in RLC UM }
ensure that {
when { UE has UL SDU to send and UL grant available is sufficient to send whole SDU in one PDU }
then { UE transmits RLC SDU containing a SI field set to 00 }
}
(6)
with { UE in RRC_CONNECTED state configured for 6 bit SN in RLC UM }
ensure that {
when { UE has UL SDU to send and UL grant available is not sufficient to send whole SDU in one PDU }
then { UE transmits first RLC SDU segment containing a SI field set to 01 and including 6 bit SN }
}
(7)
with { UE in RRC_CONNECTED state configured for 6 bit SN in RLC UM }
ensure that {
when { UE has UL SDU to send and UL grant available is not sufficient to send whole SDU in one PDU }
then { UE transmits middle RLC SDU segment containing a SI field set to 11, including SO field and including 6 bit SN }
}
(8)
with { UE in RRC_CONNECTED state configured for 6 bit SN in RLC UM }
ensure that {
when { UE has UL SDU to send and UL grant available is not sufficient to send whole SDU in one PDU }
then { UE transmits last RLC SDU segment containing a SI field set to 10, including SO field and including 6 bit SN }
}
7.1.2.2.1.2 Conformance requirements
References: The conformance requirements covered in the present TC are specified in: TS 38.322, clauses 5.2.2.2.1, 5.2.2.2.2, 6.2.3.4 and 6.2.2.3. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 5.2.2.2.1]
The receiving UM RLC entity shall maintain a reassembly window according to state variable RX_Next_Highest as follows:
– a SN falls within the reassembly window if (RX_Next_Highest – UM_Window_Size) <= SN <RX_Next_Highest;
– a SN falls outside of the reassembly window otherwise.
When receiving an UMD PDU from lower layer, the receiving UM RLC entity shall:
– either deliver the UMD PDU after removing the RLC header, discard the received UMD PDU, or place it in the reception buffer (see sub clause 5.2.2.2.2);
– if the received UMD PDU was placed in the reception buffer:
– update state variables, reassemble and deliver RLC SDUs to upper layer and start/stop t-Reassembly as needed (see sub clause 5.2.2.2.3).
When t-Reassembly expires, the receiving UM RLC entity shall:
– update state variables, discard RLC SDU segments and start t-Reassembly as needed (see sub clause 5.2.2.2.4).
[TS 38.322, clause 5.2.2.2.2]
When an UMD PDU is received from lower layer, the receiving UM RLC entity shall:
– if the UMD PDU header does not contain an SN:
– remove the RLC header and deliver the RLC SDU to upper layer.
– else if (RX_Next_Highest – UM_Window_Size) <= SN < RX_Next_Reassembly:
– discard the received UMD PDU.
– else:
– place the received UMD PDU in the reception buffer.
[TS 38.322, clause 6.2.2.3]
UMD PDU consists of a Data field and an UMD PDU header. The UMD PDU header is byte aligned
When an UMD PDU contains a complete RLC SDU, the UMD PDU header only contains the SI and R fields.
An UM RLC entity is configured by RRC to use either a 6 bit SN or a 12 bit SN. An UMD PDU header contains the SN field only when the corresponding RLC SDU is segmented. An UMD PDU carrying the first segment of an RLC SDU does not carry the SO field in its header. The length of the SO field is 16 bits.
Figure 6.2.2.3-1: UMD PDU containing a complete RLC SDU
Figure 6.2.2.3-2: UMD PDU with 6 bit SN (No SO)
Figure 6.2.2.3-3: UMD PDU with 12 bit SN (No SO)
Figure 6.2.2.3-4: UMD PDU with 6 bit SN and with SO
Figure 6.2.2.3-5: UMD PDU with 12 bit SN and with SO
[TS 38.322, clause 6.2.3.4]
Length: 2 bits.
The SI field indicates whether a RLC PDU contains a complete RLC SDU or the first, middle, last segment of a RLC SDU.
Table 6.2.2.6-1: SI field interpretation
Value |
Description |
00 |
Data field contains all bytes of a RLC SDU |
01 |
Data field contains the first segment of a RLC SDU |
10 |
Data field contains the last segment of a RLC SDU |
11 |
Data field contains neither the first nor last segment of a RLC SDU |
7.1.2.2.1.3 Test description
7.1.2.2.1.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.2 with the exception for the UM DRB is configured according to Table 7.1.2.2.1.3.1-1.
Table 7.1.2.2.1.3.1-1: RLC parameters
Uplink UM RLC sn-FieldLength |
size6 |
Downlink UM RLC sn-FieldLength |
size6 |
7.1.2.2.1.3.2 Test procedure sequence
Table 7.1.2.2.1.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
0 |
The SS stops allocating any UL grant. |
– |
– |
– |
– |
1 |
The SS transmits UMD PDU#1 containing a complete RLC SDU#1 (SI field = 00). |
<– |
UMD PDU#1 |
– |
– |
2 |
SS allocates an UL grant sufficient to loop back RLC SDU#1 in one RLC/MAC PDU |
<– |
UL Grant |
– |
– |
3 |
Check: Does the UE transmit RLC SDU#1? |
–> |
(RLC SDU#1) |
1,5 |
P |
4 |
The SS transmits UMD PDU#2 containing the first segment of RLC SDU#2 (SI field = 01). Note 3 |
<– |
UMD PDU#2 |
– |
– |
5 |
The SS transmits UMD PDU#3 containing the second segment of RLC SDU#2 (SI field = 11) and including SO field. Note 3 |
<– |
UMD PDU#3 |
– |
– |
6 |
The SS transmits UMD PDU#4 containing the last segment of RLC SDU#2 (SI field = 10) and including SO field. Note 3 |
<– |
UMD PDU#4 |
– |
– |
7 |
SS allocates 3 UL grants at an interval of 20 ms so as to loop back RLC SDU#2 in 3 RLC/MAC PDUs. Note 1 & 2 |
<– |
UL Grants |
– |
– |
8 |
Check: Does the UE transmit UMD PDU#2 containing the first segment of RLC SDU#2 (SI field = 01)? |
–> |
(RLC SDU#2, first segment) |
2,3,4,6 |
P |
9 |
Check: Does the UE transmit UMD PDU#3 containing the second segment of RLC SDU#2 (SI field = 11) and including SO field? |
–> |
(RLC SDU#2, second segment) |
2,3,4,7 |
P |
10 |
Check: Does the UE transmit UMD PDU#4 containing the last segment of RLC SDU#2 (SI field = 10) and including SO field? |
–> |
(RLC SDU#2, last segment) |
2,3,4,8 |
P |
Note 1: The UL grants for step 8,9,10 are sufficiently small (240 bits, LRBs & IMCS as per 38.523-3[3] annex B) that UE transmits RLC SDU#2 in 3 UL RLC PDUs by segmenting. Note 2: The RLC PDU containing a segment shall be of size 208 bits resp. 224 bits and a MAC sub PDU header of 16 bits and a 16-bit MAC BSR CE included in step 8 resulting in a MAC PDU of size 240 bits. Note 3: The data part in step 4 first segment not including SO is 200 bits (25 bytes). Step 5, second segment SO=25 and data is 200 bits (25 bytes). Step 6, third segment SO=25+25=50 and data is 200 bits (25 bytes). |
7.1.2.2.1.3.3 Specific message contents
None.
7.1.2.2.2 UM RLC / Segmentation and reassembly / 12-bit SN / Segmentation Info (SI) field
7.1.2.2.2.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state configured for 12 bit SN in RLC UM }
ensure that {
when { UE receives UMD PDU containing a SI field set to 00 }
then { UE correctly decodes the received UMD PDU }
}
(2)
with { UE in RRC_CONNECTED state configured for 12 bit SN in RLC UM }
ensure that {
when { UE receives a 12 bit SN configured UMD PDU containing a SI field set to 01 }
then { UE correctly decodes the received UMD PDU }
}
(3)
with { UE in RRC_CONNECTED state configured for 12 bit SN in RLC UM }
ensure that {
when { UE receives a 12 bit SN configured UMD PDU containing a SI field set to 11 and SO field }
then { UE correctly decodes the received UMD PDU }
}
(4)
with { UE in RRC_CONNECTED state configured for 12 bit SN in RLC UM }
ensure that {
when { UE receives a 12 bit SN configured UMD PDU containing a SI field set to 10 and SO field }
then { UE correctly decodes the received UMD PDU }
}
(5)
with { UE in RRC_CONNECTED state configured for 12 bit SN in RLC UM }
ensure that {
when { UE has UL SDU to send and UL grant available is sufficient to send whole SDU in one PDU }
then { UE transmits RLC SDU containing a SI field set to 00 }
}
(6)
with { UE in RRC_CONNECTED state configured for 12 bit SN in RLC UM }
ensure that {
when { UE has UL SDU to send and UL grant available is not sufficient to send whole SDU in one PDU }
then { UE transmits first RLC SDU segment containing a SI field set to 01 and including 12 bit SN}
}
(7)
with { UE in RRC_CONNECTED state configured for 12 bit SN in RLC UM }
ensure that {
when { UE has UL SDU to send and UL grant available is not sufficient to send whole SDU in one PDU }
then { UE transmits middle RLC SDU segment containing a SI field set to 11, including SO field and including 12 bit SN }
}
(8)
with { UE in RRC_CONNECTED state configured for 12 bit SN in RLC UM }
ensure that {
when { UE has UL SDU to send and UL grant available is not sufficient to send whole SDU in one PDU }
then { UE transmits last RLC SDU segment containing a SI field set to 10, including SO field and including 12 bit SN }
}
7.1.2.2.2.2 Conformance requirements
Same conformance requirements as clause 7.1.2.2.1.2
7.1.2.2.2.3 Test description
7.1.2.2.2.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.2 with the exception for the UM DRB is configured according to Table 7.1.2.2.2.3.1-1.
Table 7.1.2.2.2.3.1-1: RLC parameters
Uplink UM RLC sn-FieldLength |
size12 |
Downlink UM RLC sn-FieldLength |
size12 |
7.1.2.2.2.3.2 Test procedure sequence
Same test procedure sequence as 7.1.2.2.1.3.2 except that RLC UM SN is 12 bit and the data part in step 4 first segment not including SO is 192 bits (24 Bytes). Step 5, second segment SO=24 and data is 192 bits (24 bytes). Step 6, third segment SO=24+24=48 and data is 192 bits (24 bytes).
7.1.2.2.2.3.3 Specific message contents
None.
7.1.2.2.3 UM RLC / 6-bit SN / Correct use of sequence numbering
7.1.2.2.3.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state with UM RLC 6 bit SN }
ensure that {
when { UE transmits the first PDU which is segmented }
then { UE includes the SN field equal to 0 in each RLC segment }
}
(2)
with { UE in RRC_CONNECTED state with UM RLC 6 bit SN }
ensure that {
when { UE transmit subsequent segmented PDUs }
then { UE includes the SN field incremented by 1 for each segmented PDU of one RLC SDU }
}
(3)
with { UE in RRC_CONNECTED state with UM RLC 6 bit SN }
ensure that {
when { UE transmit segments belonging to more than 64 SDUs }
then { UE wraps the SN after transmitting the segments of 64 SDUs }
}
(4)
with { UE in RRC_CONNECTED state with UM RLC 6 bit SN }
ensure that {
when { segments of more than 64 SDUs are sent to UE }
then { UE accepts PDUs with SNs that wrap around every 64 segmented SDUs }
}
7.1.2.2.3.2 Conformance requirements
References: The conformance requirements covered in the present TC are specified in: 3GPP TS 38.322, clause 5.2.2.1.1, 5.2.2.2, 6.2.2.3, 6.2.3.3 and 7.1. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 5.2.2.1.1]
When submitting a UMD PDU to lower layer, the transmitting UM RLC entity shall:
– if the UMD PDU contains a segment of an RLC SDU, set the SN of the UMD PDU to TX_Next;
– if the UMD PDU contains a segment that maps to the last byte of an RLC SDU, then increment TX_Next by one.
[TS 38.322, clause 5.2.2.2]
The receiving UM RLC entity shall maintain a reassembly window according to state variable RX_Next_Highest as follows:
– a SN falls within the reassembly window if (RX_Next_Highest – UM_Window_Size) <= SN <RX_Next_Highest;
– a SN falls outside of the reassembly window otherwise.
When receiving an UMD PDU from lower layer, the receiving UM RLC entity shall:
– either deliver the UMD PDU after removing the RLC header, discard the received UMD PDU, or place it in the reception buffer (see sub clause 5.2.2.2.2);
– if the received UMD PDU was placed in the reception buffer:
– update state variables, reassemble and deliver RLC SDUs to upper layer and start/stop t-Reassembly as needed (see sub clause 5.2.2.2.3).
…
When an UMD PDU is received from lower layer, the receiving UM RLC entity shall:
– if the UMD PDU header does not contain an SN:
– remove the RLC header and deliver the RLC SDU to upper layer.
– else if (RX_Next_Highest – UM_Window_Size) <= SN < RX_Next_Reassembly:
– discard the received UMD PDU.
– else:
– place the received UMD PDU in the reception buffer.
…
When an UMD PDU with SN = x is placed in the reception buffer, the receiving UM RLC entity shall:
– if all byte segments with SN = x are received:
– reassemble the RLC SDU from all byte segments with SN = x, remove RLC headers and deliver the reassembled RLC SDU to upper layer;
– if x = RX_Next_Reassembly:
– update RX_Next_Reassembly to the SN of the first SN > current RX_Next_Reassembly that has not been reassembled and delivered to upper layer.
– else if x falls outside of the reassembly window:
– update RX_Next_Highest to x + 1;
– discard any UMD PDUs with SN that falls outside of the reassembly window;
– if RX_Next_Reassembly falls outside of the reassembly window:
– set RX_Next_Reassembly to the SN of the first SN >= (RX_Next_Highest – UM_Window_Size) that has not been reassembled and delivered to upper layer.
[TS 38.322, clause 6.2.2.3]
An UM RLC entity is configured by RRC to use either a 6 bit SN or a 12 bit SN. An UMD PDU header contains the SN field only when the corresponding RLC SDU is segmented.
[TS 38.322, clause 6.2.3.3]
The SN field indicates the sequence number of the corresponding RLC SDU. …. For RLC UM, the sequence number is incremented by one for every segmented RLC SDU..
[TS 38.322, clause 7.1]
All state variables and all counters are non-negative integers.
…
All state variables related to UM data transfer can take values from 0 to 63 for 6 bit SN or from 0 to 4095 for 12 bit SN. All arithmetic operations contained in the present document on state variables related to UM data transfer are affected by the UM modulus (i.e. final value = [value from arithmetic operation] modulo 64 for 6 bit SN and 4096 for 12 bit SN).
…
Each transmitting UM RLC entity shall maintain the following state variables:
a) TX_Next
This state variable holds the value of the SN to be assigned for the next newly generated UMD PDU with segment. It is initially set to 0, and is updated after the UM RLC entity submits a UMD PDU including the last segment of an RLC SDU to lower layers.
Each receiving UM RLC entity shall maintain the following state variables and constant:
b) RX_Next_Reassembly – UM receive state variable
This state variable holds the value of the earliest SN that is still considered for reassembly. It is initially set to 0.
c) RX_Timer_Trigger – UM t-Reassembly state variable
This state variable holds the value of the SN following the SN which triggered t-Reassembly.
d) RX_Next_Highest– UM receive state variable
This state variable holds the value of the SN following the SN of the UMD PDU with the highest SN among received UMD PDUs. It serves as the higher edge of the reassembly window. It is initially set to 0.
7.1.2.2.3.3 Test description
7.1.2.2.3.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.2 with the exception for the UM DRB is configured according to Table 7.1.2.2.3.3.1-1.
Table 7.1.2.2.3.3.1-1: RLC parameters
Uplink UM RLC sn-FieldLength |
size6 |
Downlink UM RLC sn-FieldLength |
size6 |
7.1.2.2.3.3.2 Test procedure sequence
Table 7.1.2.2.3.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
0 |
The SS stops allocating any UL grant. |
– |
– |
– |
– |
1 |
The SS transmits UMD PDU#1 with 6 bit SN = 0 containing the first segment of RLC SDU#1 (SI field = 01). |
<– |
UMD PDU#1 |
– |
– |
2 |
The SS transmits UMD PDU#2 with 6 bit SN=0 containing the last segment of RLC SDU#1 (SI field = 10) and including SO field. |
<– |
UMD PDU#2 |
– |
– |
3 |
SS allocates 2 UL grants at an interval of 20 ms so as to loop back RLC SDU#1 in 2 RLC/MAC PDUs. (Note 1) |
<– |
UL Grants |
– |
– |
4 |
Check: Does the UE transmit UMD PDU#1 with 6 bit SN = 0 containing the first segment of RLC SDU#1 (SI field = 01)? |
–> |
(RLC SDU#1, first segment) |
1 |
P |
5 |
Check: Does the UE transmit UMD PDU#2 with 6 bit SN = 0 containing the last segment of RLC SDU#1 (SI field = 10)? |
–> |
(RLC SDU#1, last segment) |
1 |
P |
– |
EXCEPTION: Steps 6 to 10 are executed 63 times, the initial value of k = 1, it is incremented by one for each iteration. |
– |
– |
– |
– |
6 |
The SS transmits UMD PDU#(2*k+1) with 6 bit SN = k containing the first segment of RLC SDU#(k+1) (SI field = 01). |
<– |
UMD PDU#(2*k+1) |
– |
– |
7 |
The SS transmits UMD PDU#(2*(k+1)) with 6 bit SN=k containing the last segment of RLC SDU#(k+1) (SI field = 10) |
<– |
UMD PDU#(2*(k+1)) |
– |
– |
8 |
SS allocates 2 UL grants at an interval of 20 ms so as to loop back RLC SDU#(k+1) in 2 RLC/MAC PDUs. (Note 1) |
<– |
UL Grants |
– |
– |
9 |
Check: Does the UE transmit UMD PDU#(2*k+1) with 6 bit SN = k containing the first segment of RLC SDU#(k+1) (SI field = 01)? (Note 2) |
–> |
(RLC SDU#(k+1), first segment) |
2 |
P |
10 |
Check: Does the UE transmit UMD PDU#(2*(k+1)) with 6 bit SN = k containing the last segment of RLC SDU#(k+1) (SI field = 10) and including SO field? (Note 2) |
–> |
(RLC SDU#(k+1), last segment) |
2 |
P |
11 |
The SS transmits UMD PDU#129 with 6 bit SN = 0 containing the first segment of RLC SDU#65 (SI field = 01). |
<– |
UMD PDU#129 |
– |
– |
12 |
The SS transmits UMD PDU#130 with 6 bit SN= 0 containing the last segment of RLC SDU#65 (SI field = 10) and including SO field |
<– |
UMD PDU#130 |
– |
– |
13 |
SS allocates 2 UL grants at an interval of 20 ms so as to loop back RLC SDU#65 in 2 RLC/MAC PDUs. (Note 1) |
<– |
UL Grants |
– |
– |
14 |
Check: Does the UE transmit UMD PDU#129 with 6 bit SN = 0 containing the first segment of RLC SDU#65 (SI field = 01)? |
–> |
(RLC SDU#65, first segment) |
3.4 |
P |
15 |
Check: Does the UE transmit UMD PDU#130 with 6 bit SN = 0 containing the last segment of RLC SDU#65 (SI field = 10) and including SO field? |
–> |
(RLC SDU#65, last segment) |
3,4 |
P |
Note 1: The RLC SDU size shall be 12 octets which are segmented into 6 and 6 octets. With 2 octets of MAC header, 2 octets of Short BSR and 1 octet of RLC header (without SO) the first segment consists of 88 bits and a TBS of this size shall be allocated. With 2 octets of MAC header and 3 octets of RLC header (with SO) the second segment consists of 88 bits and a TBS of this size shall be allocated. (LRBs & IMCS as per 38.523-3[3] annex B) Note 2: The verdict shall be provided each time (SN+1) mod 16 = 0. |
7.1.2.2.3.3.3 Specific message contents
None.
7.1.2.2.4 UM RLC / 12-bit SN / Correct use of sequence numbering
7.1.2.2.4.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state with UM RLC 12 bit SN }
ensure that {
when { UE transmits the first PDU which is segmented }
then { UE includes the SN field equal to 0 in each RLC segment }
}
(2)
with { UE in RRC_CONNECTED state with UM RLC 12 bit SN }
ensure that {
when { UE transmit subsequent segmented PDUs }
then { UE includes the SN field incremented by 1 for each segmented PDU of one RLC SDU}
}
(3)
with { UE in RRC_CONNECTED state with UM RLC 12 bit SN }
ensure that {
when { UE transmit segments belonging to more than 4096 SDUs }
then { UE wraps the SN after transmitting the segments of 4096 SDUs }
}
(4)
with { UE in RRC_CONNECTED state with UM RLC 12 bit SN }
ensure that {
when { segments of more than 4096 SDUs are sent to UE }
then { UE accepts PDUs with SNs that wrap around every 4096 segmented SDUs }
}
7.1.2.2.4.2 Conformance requirements
References: The conformance requirements covered in the present TC are specified in: 3GPP TS 38.322, clause 5.2.2.1.1, 5.2.2.2, 6.2.2.3, 6.2.3.3 and 7.1. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 5.2.2.1.1]
When submitting a UMD PDU to lower layer, the transmitting UM RLC entity shall:
– if the UMD PDU contains a segment of an RLC SDU, set the SN of the UMD PDU to TX_Next;
– if the UMD PDU contains a segment that maps to the last byte of an RLC SDU, then increment TX_Next by one.
[TS 38.322, clause 5.2.2.2]
The receiving UM RLC entity shall maintain a reassembly window according to state variable RX_Next_Highest as follows:
– a SN falls within the reassembly window if (RX_Next_Highest – UM_Window_Size) <= SN <RX_Next_Highest;
– a SN falls outside of the reassembly window otherwise.
When receiving an UMD PDU from lower layer, the receiving UM RLC entity shall:
– either deliver the UMD PDU after removing the RLC header, discard the received UMD PDU, or place it in the reception buffer (see sub clause 5.2.2.2.2);
– if the received UMD PDU was placed in the reception buffer:
– update state variables, reassemble and deliver RLC SDUs to upper layer and start/stop t-Reassembly as needed (see sub clause 5.2.2.2.3).
…
When an UMD PDU is received from lower layer, the receiving UM RLC entity shall:
– if the UMD PDU header does not contain an SN:
– remove the RLC header and deliver the RLC SDU to upper layer.
– else if (RX_Next_Highest – UM_Window_Size) <= SN < RX_Next_Reassembly:
– discard the received UMD PDU.
– else:
– place the received UMD PDU in the reception buffer.
…
When an UMD PDU with SN = x is placed in the reception buffer, the receiving UM RLC entity shall:
– if all byte segments with SN = x are received:
– reassemble the RLC SDU from all byte segments with SN = x, remove RLC headers and deliver the reassembled RLC SDU to upper layer;
– if x = RX_Next_Reassembly:
– update RX_Next_Reassembly to the SN of the first SN > current RX_Next_Reassembly that has not been reassembled and delivered to upper layer.
– else if x falls outside of the reassembly window:
– update RX_Next_Highest to x + 1;
– discard any UMD PDUs with SN that falls outside of the reassembly window;
– if RX_Next_Reassembly falls outside of the reassembly window:
– set RX_Next_Reassembly to the SN of the first SN >= (RX_Next_Highest – UM_Window_Size) that has not been reassembled and delivered to upper layer.
[TS 38.322, clause 6.2.2.3]
An UM RLC entity is configured by RRC to use either a 6 bit SN or a 12 bit SN. An UMD PDU header contains the SN field only when the corresponding RLC SDU is segmented.
[TS 38.322, clause 6.2.3.3]
The SN field indicates the sequence number of the corresponding RLC SDU. … For RLC UM, the sequence number is incremented by one for every segmented RLC SDU.
[TS 38.322, clause 7.1]
All state variables and all counters are non-negative integers.
…
All state variables related to UM data transfer can take values from 0 to 63 for 6 bit SN or from 0 to 4095 for 12 bit SN. All arithmetic operations contained in the present document on state variables related to UM data transfer are affected by the UM modulus (i.e. final value = [value from arithmetic operation] modulo 64 for 6 bit SN and 4096 for 12 bit SN).
…
Each transmitting UM RLC entity shall maintain the following state variables:
a) TX_Next
This state variable holds the value of the SN to be assigned for the next newly generated UMD PDU with segment. It is initially set to 0, and is updated after the UM RLC entity submits a UMD PDU including the last segment of an RLC SDU to lower layers.
Each receiving UM RLC entity shall maintain the following state variables and constant:
b) RX_Next_Reassembly – UM receive state variable
This state variable holds the value of the earliest SN that is still considered for reassembly. It is initially set to 0.
c) RX_Timer_Trigger – UM t-Reassembly state variable
This state variable holds the value of the SN following the SN which triggered t-Reassembly.
d) RX_Next_Highest– UM receive state variable
This state variable holds the value of the SN following the SN of the UMD PDU with the highest SN among received UMD PDUs. It serves as the higher edge of the reassembly window. It is initially set to 0.
7.1.2.2.4.3 Test description
7.1.2.2.4.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.2 with the exception for the UM DRB is configured according to Table 7.1.2.2.4.3.1-1.
Table 7.1.2.2.4.3.1-1: RLC parameters
Uplink RLC sn-FieldLength |
size12 |
Downlink RLC sn-FieldLength |
size12 |
7.1.2.2.4.3.2 Test procedure sequence
Table 7.1.2.2.4.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
1 |
The SS transmits UMD PDU#1 with 12 bit SN = 0 containing the first segment of RLC SDU#1 (SI field = 01). |
<– |
UMD PDU#1 |
– |
– |
2 |
The SS transmits UMD PDU#2 with 12 bit SN=0 containing the last segment of RLC SDU#1 (SI field = 10) and including SO field |
<– |
UMD PDU#2 |
– |
– |
3 |
SS allocates 2 UL grants at an interval of 20 ms so as to loop back RLC SDU#1 in 2 RLC/MAC PDUs. (Note 1) |
<– |
UL Grants |
– |
– |
4 |
Check: Does the UE transmit UMD PDU#1 with 12 bit SN = 0 containing the first segment of RLC SDU#1 (SI field = 01)? |
–> |
(RLC SDU#1, first segment) |
1 |
P |
5 |
Check: Does the UE transmit UMD PDU#2 with 12 bit SN = 0 containing the last segment of RLC SDU#1 (SI field = 10)? |
–> |
(RLC SDU#1, last segment) |
1 |
P |
– |
EXCEPTION: Steps 6 to 10 are executed 4095 times, the initial value of k = 1, it is incremented by one for each iteration. |
– |
– |
– |
– |
6 |
The SS transmits UMD PDU#(2*k+1) with 12 bit SN = k containing the first segment of RLC SDU#(k+1) (SI field = 01). |
<– |
UMD PDU#(2*k+1) |
– |
– |
7 |
The SS transmits UMD PDU#(2*(k+1)) with 12 bit SN=k containing the last segment of RLC SDU#(k+1) (SI field = 10) |
<– |
UMD PDU#(2*(k+1)) |
– |
– |
8 |
SS allocates 2 UL grants at an interval of 20 ms so as to loop back RLC SDU#(k+1) in 2 RLC/MAC PDUs. (Note 1) |
<– |
UL Grants |
– |
– |
9 |
Check: Does the UE transmit UMD PDU#(2*k+1) with 12 bit SN = k containing the first segment of RLC SDU#(k+1) (SI field = 01)? (Note 2) |
–> |
(RLC SDU#(k+1), first segment) |
2 |
P |
10 |
Check: Does the UE transmit UMD PDU#(2*(k+1)) with 12 bit SN = k containing the last segment of RLC SDU#(k+1) (SI field = 10) and including SO field? (Note 2) |
–> |
(RLC SDU#(k+1), last segment) |
2 |
P |
11 |
The SS transmits UMD PDU#8193 with 12 bit SN = 0 containing the first segment of RLC SDU#4097 (SI field = 01). |
<– |
UMD PDU#8193 |
– |
– |
12 |
The SS transmits UMD PDU#8194 with 12 bit SN= 0 containing the last segment of RLC SDU#4097 (SI field = 10) and including SO field |
<– |
UMD PDU#8194 |
– |
– |
13 |
SS allocates 2 UL grants at an interval of 20 ms so as to loop back RLC SDU#4097 in 2 RLC/MAC PDUs. (Note 1) |
<– |
UL Grants |
– |
– |
14 |
Check: Does the UE transmit UMD PDU#8193 with 12 bit SN = 0 containing the first segment of RLC SDU#4097 (SI field = 01)? |
–> |
(RLC SDU#4097, first segment) |
3.4 |
P |
15 |
Check: Does the UE transmit UMD PDU#8194 with 12 bit SN = 0 containing the last segment of RLC SDU#4097 (SI field = 10) and including SO field? |
–> |
(RLC SDU#4097, last segment) |
3,4 |
P |
Note 1: The RLC SDU size shall be 10 octets which are segmented into 5 and 5 octets. With 2 octets of MAC header, 2 octets of Short BSR and 2 octets of RLC header (without SO) the first segment consists of 88 bits and a TBS of this size shall be allocated. With 2 octets of MAC header and 4 octets of RLC header (with SO) the second segment consists of 88 bits and a TBS of this size shall be allocated. (LRBs & IMCS as per 38.523-3[3] annex B) Note 2: The verdict shall be provided each time (SN+1) mod 256 = 0. |
7.1.2.2.4.3.3 Specific message contents
None.
7.1.2.2.5 UM RLC / Receive Window operation and t-Reassembly expiry
7.1.2.2.5.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state and using UM RLC }
ensure that {
when { UE receives a RLC PDU including SN and ‘(RX_Next_Highest – UM_Window_Size) <= SN < RX_Next_Highest }
then { UE discards any UMD PDUs with SN that falls outside of the reassembly window }
}
(2)
with { UE in RRC_CONNECTED state and using UM RLC }
ensure that {
when { UE receives a RLC PDU including SN and ‘(RX_Next_Highest – UM_Window_Size) > SN or SN >= RX_Next_Reassembly’ }
then { UE stores the PDU in receive buffer }
}
(3)
with { UE in RRC_CONNECTED state and using UM RLC }
ensure that {
when { UE places a RLC PDU including SN into the reception buffer and all byte segments with that SN are received }
then { UE delivers the reassembled SDU to upper layers}
}
(4)
with { UE in RRC_CONNECTED state and using UM RLC }
ensure that {
when { t-Reassembly expires }
then { UE updates RX_Next_Reassembly and discards all segments with SN < updated RX_Next_Reassembly }
}
7.1.2.2.5.2 Conformance requirements
References: The conformance requirements covered in the present TC are specified in: TS 38.322, clauses 5.2.2.2.1, 5.2.2.2.2, 5.2.2.2.3, 5.2.2.2.4 and 7.1. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 5.2.2.2.1]
The receiving UM RLC entity shall maintain a reassembly window according to state variable RX_Next_Highest as follows:
– a SN falls within the reassembly window if (RX_Next_Highest – UM_Window_Size) <= SN <RX_Next_Highest;
– a SN falls outside of the reassembly window otherwise.
When receiving an UMD PDU from lower layer, the receiving UM RLC entity shall:
– either deliver the UMD PDU to upper layer after removing the RLC header, discard the received UMD PDU, or place it in the reception buffer (see sub clause 5.2.2.2.2);
– if the received UMD PDU was placed in the reception buffer:
– update state variables, reassemble and deliver RLC SDUs to upper layer and start/stop t-Reassembly as needed (see sub clause 5.2.2.2.3).
When t-Reassembly expires, the receiving UM RLC entity shall:
– update state variables, discard RLC SDU segments and start t-Reassembly as needed (see sub clause 5.2.2.2.4).
[TS 38.322, clause 5.2.2.2.2]
When an UMD PDU is received from lower layer, the receiving UM RLC entity shall:
– if the UMD PDU header does not contain an SN:
– remove the RLC header and deliver the RLC SDU to upper layer.
– else if (RX_Next_Highest – UM_Window_Size) <= SN < RX_Next_Reassembly:
– discard the received UMD PDU.
– else:
– place the received UMD PDU in the reception buffer.
[TS 38.322, clause 5.2.2.2.3]
When an UMD PDU with SN = x is placed in the reception buffer, the receiving UM RLC entity shall:
– if all byte segments with SN = x are received:
– reassemble the RLC SDU from all byte segments with SN = x, remove RLC headers and deliver the reassembled RLC SDU to upper layer;
– if x = RX_Next_Reassembly:
– update RX_Next_Reassembly to the SN of the first SN > current RX_Next_Reassembly that has not been reassembled and delivered to upper layer.
– else if x falls outside of the reassembly window:
– update RX_Next_Highest to x + 1;
– discard any UMD PDUs with SN that falls outside of the reassembly window;
– if RX_Next_Reassembly falls outside of the reassembly window:
– set RX_Next_Reassembly to the SN of the first SN >= (RX_Next_Highest – UM_Window_Size) that has not been reassembled and delivered to upper layer.
– if t-Reassembly is running:
– if RX_Timer_Trigger <= RX_Next_Reassembly; or
– if RX_Timer_Trigger falls outside of the reassembly window and RX_Timer_Trigger is not equal to RX_Next_Highest; or
– if RX_Next_Highest = RX_Next_Reassembly + 1 and there is no missing byte segment of the RLC SDU associated with SN = RX_Next_Reassembly before the last byte of all received segments of this RLC SDU:
– stop and reset t-Reassembly.
– if t-Reassembly is not running (includes the case when t-Reassembly is stopped due to actions above):
– if RX_Next_Highest > RX_Next_Reassembly + 1; or
– if RX_Next_Highest = RX_Next_Reassembly + 1 and there is at least one missing byte segment of the RLC SDU associated with SN = RX_Next_Reassembly before the last byte of all received segments of this RLC SDU:
– start t-Reassembly;
– set RX_Timer_Trigger to RX_Next_Highest.
[TS 38.322, clause 5.2.2.2.4]
When t-Reassembly expires, the receiving UM RLC entity shall:
– update RX_Next_Reassembly to the SN of the first SN >= RX_Timer_Trigger that has not been reassembled;
– discard all segments with SN < updated RX_Next_Reassembly;
– if RX_Next_Highest > RX_Next_Reassembly + 1; or
– if RX_Next_Highest = RX_Next_Reassembly + 1 and there is at least one missing byte segment of the RLC SDU associated with SN = RX_Next_Reassembly before the last byte of all received segments of this RLC SDU:
– start t-Reassembly;
– set RX_Timer_Trigger to RX_Next_Highest.
[TS 38.322, clause 5.2.2.2.4]
This sub clause describes the state variables used in AM and UM entities in order to specify the RLC protocol. The state variables defined in this subclause are normative.
All state variables and all counters are non-negative integers.
…
All state variables related to UM data transfer can take values from 0 to 63 for 6 bit SN or from 0 to 4095 for 12 bit SN. All arithmetic operations contained in the present document on state variables related to UM data transfer are affected by the UM modulus (i.e. final value = [value from arithmetic operation] modulo 64 for 6 bit SN and 4096 for 12 bit SN).
When performing arithmetic comparisons of state variables or SN values, a modulus base shall be used.
…
RX_Next_Highest– UM_Window_Size shall be assumed as the modulus base at the receiving side of an UM RLC entity. This modulus base is subtracted from all the values involved, and then an absolute comparison is performed (e.g. (RX_Next_Highest– UM_Window_Size) <= SN < RX_Next_Highest is evaluated as [(RX_Next_Highest– UM_Window_Size) – (RX_Next_Highest– UM_Window_Size)] modulo 2[sn-FieldLength] <= [SN – (RX_Next_Highest– UM_Window_Size)] modulo 2[sn-FieldLength] < [RX_Next_Highest– (RX_Next_Highest– UM_Window_Size)] modulo 2[sn-FieldLength]), where sn-FieldLength is 6 or 12 for 6 bit SN and 12 bit SN, respectively.
…
Each transmitting UM RLC entity shall maintain the following state variables:
a) TX_Next
This state variable holds the value of the SN to be assigned for the next newly generated UMD PDU with segment. It is initially set to 0, and is updated after the UM RLC entity submits a UMD PDU including the last segment of an RLC SDU to lower layers.
Each receiving UM RLC entity shall maintain the following state variables and constant:
b) RX_Next_Reassembly – UM receive state variable
This state variable holds the value of the earliest SN that is still considered for reassembly. It is initially set to 0.
c) RX_Timer_Trigger – UM t-Reassembly state variable
This state variable holds the value of the SN following the SN which triggered t-Reassembly.
d) RX_Next_Highest– UM receive state variable
This state variable holds the value of the SN following the SN of the UMD PDU with the highest SN among received UMD PDUs. It serves as the higher edge of the reassembly window. It is initially set to 0.
7.1.2.2.5.3 Test description
7.1.2.2.5.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.2 with the exception that the UM DRB is configured according to Table 7.1.2.2.5.3.1-1.
Table 7.1.2.2.5.3.1-1: RLC parameters
t-Reassembly |
ms200 |
Uplink UM RLC sn-FieldLength |
IF (pc_um_WithShortSN ) size6 ELSE size12 |
Downlink UM RLC sn-FieldLength |
F (pc_um_WithShortSN ) size6 ELSE size12 |
Table 7.1.2.2.5.3.1-2: PDCP Settings
Parameter |
Value |
t-Reordering |
ms30 |
7.1.2.2.5.3.2 Test procedure sequence
Table 7.1.2.2.5.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
0 |
The SS ignores scheduling requests and does not allocate any uplink grant. |
– |
– |
– |
– |
1 |
The SS transmits UMD PDU#1 containing first segment of RLC SDU#1, SN=0. |
<– |
UMD PDU#1 |
– |
– |
2 |
20 ms after step 1 the SS transmits UMD PDU#3 containing first segment of RLC SDU#2, SN=1. |
<– |
UMD PDU#3 |
– |
– |
3 |
40 ms after step 1 the SS transmits UMD PDU#4 containing last segment of RLC SDU#2, SN=1. |
<– |
UMD PDU#4 |
– |
– |
3A |
60 ms after step 1 the SS transmits UMD PDU#9 containing first segment of RLC SDU#5, SN=w |
<– |
UMD PDU#9 |
– |
– |
3B |
80 ms after step 1 the SS transmits UMD PDU#10 containing last segment of RLC SDU#5, SN=w |
<– |
UMD PDU#10 |
– |
– |
3C |
100 ms after step 1 the SS assigns 2 UL grants (UL grant allocation type 2) with a time spacing of 20 ms so as to loop back RLC SDU#2. |
– |
– |
– |
– |
4 |
Check: Does the UE transmit RLC SDU#2? (Note 3) |
–> |
(RLC SDU#2) |
2,3 |
P |
4A |
Check: Does the UE transmit RLC SDU#5? (Note 4) |
–> |
(RLC SDU#5) |
2,3 |
P |
5 |
160 ms after step 1 the SS transmits UMD PDU#2 last segment of RLC SDU#1, SN=0. |
<– |
UMD PDU#2 |
– |
– |
5A |
The SS starts the UL default grant transmissions. |
– |
– |
– |
– |
6 |
Check: For 1 sec after step 5, does the UE transmit RLC SDU#1, SN=0? (Note 6) |
–> |
(RLC SDU#1) |
1 |
F |
6A |
– |
– |
– |
– |
|
7 |
The SS transmits UMD PDU#5 containing first segment of RLC SDU#3, SN=5. |
<– |
UMD PDU#5 |
– |
– |
8 |
Wait for 200 ms to ensure that t- Reassembly for the UMD PDU#5 expires. |
– |
– |
– |
– |
9 |
The SS transmits UMD PDU#6 containing last segment of RLC SDU#3, SN=5 (Note 7). |
<– |
UMD PDU#6 |
– |
– |
10 |
Check: For 1 sec after step 9, does the UE transmit RLC SDU#3? (Note 7) |
–> |
(RLC SDU#3) |
4 |
F |
11 |
The SS transmits UMD PDU#7 containing first segment of RLC SDU#6, SN=8. |
<– |
UMD PDU#7 |
– |
– |
12 |
The SS transmits UMD PDU#8 containing last segment of RLC SDU#6, SN=8. |
<– |
UMD PDU#8 |
– |
– |
13 |
Check: Does the UE transmit RLC SDU#6? (Note 5) |
–> |
(RLC SDU#4) |
2,3 |
P |
Note 1: The RLC SDU size shall be 12 octets which are segmented into 7 and 5 octets. Note 2: UL grant of 144 bits(LRBs & IMCS as per 38.523-3[3] annex B) is chosen to allow the UE to transmit one PDU at a time( 12 bytes RLC SDU + 1 or 2 bytes RLC Header + 2 bytes MAC Sub PDU header + 2 or 3 bytes for short BSR and/or padding). Note 3: The UE transmits the looped back PDCP data of RLC SDU#2 in a PDCP PDU with PDCP SN=0. Note 4: The UE transmits the looped back PDCP data of RLC SDU#5 in a PDCP PDU with PDCP SN=1. Note 5: The UE transmits the looped back PDCP data of RLC SDU#6 in a PDCP PDU with PDCP SN=2. Note 6: The UE transmits the looped back PDCP data of RLC SDU#1 in a PDCP PDU with PDCP SN=2. Note 7: The UE transmits the looped back PDCP data of RLC SDU#3 in a PDCP PDU with PDCP SN=2. |
7.1.2.2.5.3.3 Specific message contents
None
7.1.2.2.6 UM RLC / RLC re-establishment procedure
7.1.2.2.6.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state and using UM RLC }
ensure that {
when { RLC re-establishment is performed upon request by RRC }
then { The UE discards all UMD PDUs where no RLC SDUs can be reassembled }
}
(2)
with { UE in RRC_CONNECTED state and using UM RLC }
ensure that {
when { RLC re-establishment is performed upon request by RRC }
then { The UE resets variables TX_Next, RX_Next_Reassembly, and RX_Next_Highest to their initial value of 0 }
}
7.1.2.2.6.2 Conformance requirements
References: The conformance requirements covered in the present TC are specified in: TS 38.322, clauses 5.1.2 and 7.1, TS 38.331 clause 5.3.5.5.4. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 5.1.2]
When upper layers request an RLC entity re-establishment, the UE shall:
– discard all RLC SDUs, RLC SDU segments, and RLC PDUs, if any;
– stop and reset all timers;
– reset all state variables to their initial values.
[TS 38.322, clause 7.1]
d) RX_Next_Highest – Highest received state variable
This state variable holds the value of the SN following the SN of the RLC SDU with the highest SN among received RLC SDUs. It is initially set to 0.
Each transmitting UM RLC entity shall maintain the following state variables:
a) TX_Next
This state variable holds the value of the SN to be assigned for the next newly generated UMD PDU with segment. It is initially set to 0, and is updated after the UM RLC entity submits a UMD PDU including the last segment of an RLC SDU to lower layers.
Each receiving UM RLC entity shall maintain the following state variables and constant:
b) RX_Next_Reassembly – UM receive state variable
This state variable holds the value of the earliest SN that is still considered for reassembly. It is initially set to 0.
c) RX_Timer_Trigger – UM t-Reassembly state variable
This state variable holds the value of the SN following the SN which triggered t-Reassembly.
d) RX_Next_Highest– UM receive state variable
This state variable holds the value of the SN following the SN of the UMD PDU with the highest SN among received UMD PDUs. It serves as the higher edge of the reassembly window. It is initially set to 0.
[TS 38.331, clause 5.3.5.5.4]
For each RLC-Bearer-Config received in the rlc-BearerToAddModList IE the UE shall:
1> if the UE’s current configuration contains a RLC bearer with the received logicalChannelIdentity:
2> if reestablishRLC is received:
3> re-establish the RLC entity as specified in TS 38.322 [4];
2> reconfigure the RLC entity or entities in accordance with the received rlc-Config;
2> reconfigure the logical channel in accordance with the received mac-LogicalChannelConfig;
NOTE: The network does not re-associate an already configured logical channel with another radio bearer. Hence servedRadioBearer is not present in this case.
7.1.2.2.6.3 Test description
7.1.2.2.6.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.2 with the exception that the UM DRB is configured according to Table 7.1.2.2.6.3.1-1.
Table 7.1.2.2.6.3.1-1: RLC parameters
t-Reassembly |
ms200 |
Uplink UM RLC sn-FieldLength |
IF (pc_um_WithShortSN ) size6 ELSE size12 |
Downlink UM RLC sn-FieldLength |
IF (pc_um_WithShortSN ) size6 ELSE size12 |
7.1.2.2.6.3.2 Test procedure sequence
Table 7.1.2.2.6.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
1 |
The SS transmits UMD PDU#1. Header of UMD PDU#1 does not contain an SN. This PDU carries RLC SDU#1. |
<– |
UMD PDU#1 |
– |
– |
2 |
The UE transmits RLC SDU#1. |
–> |
(RLC SDU#1) |
– |
– |
3 |
The SS transmits UMD PDU#2. Header of UMD PDU#2 contains SN=0. This PDU carries the first segment of SDU#2. |
<– |
UMD PDU#2 |
– |
– |
4 |
The SS transmits NR RRCReconfiguration message to trigger RLC re-establishment on DRB using Reconfig with sync procedure. (Note 3)(Note 5) |
<– |
RRCReconfiguration |
– |
– |
4A |
The UE transmits a NR RRCReconfigurationcomplete message. (Note 4) |
–> |
RRCReconfigurationComplete |
– |
– |
5 |
100 ms after step 4A the SS transmits UMD PDU#3. Header of UMD PDU#3 contains SN=0. This PDU carries the last segment of RLC SDU#2. The UE starts t-Reassembly. |
<– |
UMD PDU#3 |
– |
– |
6 |
Check: For 250 ms after step 5 does the UE transmit RLC SDU#2? |
–> |
(RLC SDU#2) |
1 |
F |
6A |
The SS stops allocating any UL grant. |
||||
7 |
300 ms (1.5 * t- Reassembly) after step 5 the SS transmits UMD PDU#4. This PDU carries the first segment of RLC SDU#3.SN=1. |
<– |
UMD PDU#4 |
– |
– |
8 |
20 ms after step 7 the SS transmits UMD PDU#5. This PDU carries the second and last segment of RLC SDU#3.SN=1. |
<– |
UMD PDU#5 |
– |
– |
8A |
20 ms after step 8 the SS allocates 2 UL grants at an interval of 20 ms so as to loop back RLC SDU#3 in 2 RLC/MAC PDUs. Note 1 & 2 |
– |
– |
– |
– |
9 |
Check: Does the UE transmit first segment of RLC SDU#3? Header of UMD PDU contains SN=0. |
–> |
(RLC SDU#3 first segment) |
2 |
P |
10 |
Check: Does the UE transmit second and last segment of RLC SDU#3? Header of UMD PDU contains SN=0. |
–> |
(RLC SDU#3 last segment) |
2 |
P |
10A |
The SS starts the UL default grant transmissions |
||||
11 |
The SS transmits NR RRCReconfiguration message to trigger RLC re-establishment on DRB using Reconfig with sync procedure. (Note 3) |
<– |
RRCReconfiguration |
– |
– |
11A |
The UE transmits a NR RRCReconfigurationcomplete message. (Note 4) |
–> |
RRCReconfigurationComplete |
– |
– |
11B |
The SS stops allocating any UL grant. |
||||
12 |
After 100 ms the SS transmits UMD PDU#6. Header of UMD PDU#6 contains SN=0. This PDU carries the first segment of SDU#4. |
<– |
UMD PDU#6 |
– |
– |
13 |
20 ms after step 12 the SS transmits UMD PDU#7. Header of UMD PDU#6 contains SN=0. This PDU carries the second segment of SDU#4. |
<– |
UMD PDU#7 |
– |
– |
13A |
20 ms after step 13 the SS allocates 2 UL grants at an interval of 20 ms so as to loop back RLC SDU#4 in 2 RLC/MAC PDUs. Note 1 & 2 |
– |
– |
– |
– |
14 |
Check: Does the UE transmit first segment of RLC SDU#4? Header of UMD PDU contains SN=0. |
–> |
(RLC SDU#4 first segment) |
2 |
P |
15 |
Check: Does the UE transmit second and last segment of RLC SDU#4? Header of UMD PDU contains SN=0. |
–> |
(RLC SDU#4 last segment) |
2 |
P |
Note 1: For SN size = size6 the RLC SDU size shall be 12 octets which are segmented into 6 and 6 octets. With 2 octets of MAC BSR and 2 octets of MAC header and 1 octet of RLC header (without SO) the first segment consists of 88 bits and a TBS of this size shall be allocated. With 2 octets of MAC header and 3 octets of RLC header (with SO) the second segment consists of 88 bits and a TBS of this size shall be allocated. (LRBs & IMCS as per 38.523-3[3] annex B) Note 2: For SN size = size12 the RLC SDU size shall be 10 octets which are segmented into 5 and 5 octets. With 2 octets of MAC BSR and 2 octets of MAC header and 2 octets of RLC header (without SO) the first segment consists of 88 bits and a TBS of this size shall be allocated. With 2 octets of MAC header and 4 octets of RLC header (with SO) the second segment consists of 88 bits and a TBS of this size shall be allocated. (LRBs & IMCS as per 38.523-3[3] annex B) Note 3: For EN-DC, the NR RRCReconfiguration message is contained in RRCConnectionReconfiguration as defined in Table 7.1.2.2.6.3.3-2 Note 4: For EN-DC, the NR RRCReconfigurationComplete message is contained in RRCConnectionReconfigurationComplete. |
7.1.2.2.6.3.3 Specific message contents
Table 7.1.2.2.6.3.3-1: RRCReconfiguration for NR (steps 4, 11, Table 7.1.2.2.6.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 according to TS 38.508-1 [4], table 4.6.3-132 with with conditions SRB1 and SRB2 and DRBn |
n set to the default DRB of the first PDU session |
|
} |
|||
nonCriticalExtension::= SEQUENCE { |
|||
masterCellGroup |
CellGroupConfig according to TS 38.508-1 [4], table 4.6.3-19 with condition PCell_change |
||
} |
|||
} |
|||
} |
Table 7.1.2.2.6.3.3-2: RRCConnectionReconfiguration for EN-DC (steps 4, 11 Table 7.1.2.2.6.3.2-1)
Derivation Path: 36.508 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 { |
|||||||
nr-Config-r15 CHOICE { |
|||||||
nr-SecondaryCellGroupConfig-r15 |
OCTET STRING including the RRCReconfiguration message and the IE secondaryCellGroup according TS 38.508-1 [67], table 4.6.1-13 with condition EN-DC_HO |
||||||
} |
|||||||
} |
|||||||
nr-RadioBearerConfig1-r15 |
OCTET STRING including RadioBearerConfig according TS 38.508-1 [67], table 4.6.3-132 with conditions EN-DC_DRB |
||||||
} |
|||||||
} |
|||||||
} |
|||||||
} |
|||||||
} |
|||||||
} |
7.1.2.3 RLC Acknowledged Mode
7.1.2.3.1 AM RLC / 12-bit SN / Segmentation and reassembly / Segmentation Info (SI) field
7.1.2.3.1.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives a 12 bit SN configured AMD PDU containing a SI field set to 00 }
then { UE correctly decodes the received AMD PDU }
}
(2)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives a 12 bit SN configured AMD PDU containing a SI field set to 01 }
then { UE correctly decodes the received AMD PDU }
}
(3)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives a 12 bit SN configured AMD PDU containing a SI field set to 11 and SO field }
then { UE correctly decodes the received AMD PDU }
}
(4)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives a 12 bit SN configured AMD PDU containing a SI field set to 10 and SO field }
then { UE correctly decodes the received AMD PDU }
}
(5)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE has UL RLC SDU to send and the UL Grant is sufficient to send complete PDU }
then { UE transmits AMD PDU containing a complete AMD SDU and SI field set to 00 }
}
(6)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE has UL RLC SDU to send and the UL Grant is sufficient to send first segment only }
then { UE transmits AMD PDU containing first segment of AMD SDU and SI field set to 01 }
}
(7)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE has UL RLC SDU to send and the UL Grant is sufficient to send middle segment only }
then { UE transmits AMD PDU containing middle segment of AMD SDU and SI field set to 11, including SO field }
}
(8)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE has UL RLC SDU to send and the UL Grant is sufficient to send last segment only }
then { UE transmits AMD PDU containing last segment of AMD SDU and SI field set to 10, including SO field }
}
7.1.2.3.1.2 Conformance requirements
References: The conformance requirements covered in the present TC are specified in: TS 38.322, clauses 6.2.2.4 and 6.2.3.4. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 6.2.2.4]
AMD PDU consists of a Data field and an AMD PDU header. The AMD PDU header is byte aligned.
An AM RLC entity is configured by RRC to use either a 12 bit SN or a 18 bit SN. The length of the AMD PDU header is two and three bytes respectively.
An AMD PDU header contains a D/C, a P, a SI, and a SN. An AMD PDU header contains the SO field only when the Data field consists of an RLC SDU segment which is not the first segment, in which case a 16 bit SO is present.
Figure 6.2.2.4-1: AMD PDU with 12 bit SN (No SO)
Figure 6.2.2.4-2: AMD PDU with 18 bit SN (No SO)
Figure 6.2.2.4-3: AMD PDU with 12 bit SN with SO
Figure 6.2.2.4-4: AMD PDU with 18 bit SN with SO
[TS 38.322, clause 6.2.3.4]
Length: 2 bits.
The SI field indicates whether an RLC PDU contains a complete RLC SDU or the first, middle, last segment of an RLC SDU.
Table 6.2.3.4-1: SI field interpretation
Value |
Description |
00 |
Data field contains all bytes of an RLC SDU |
01 |
Data field contains the first segment of an RLC SDU |
10 |
Data field contains the last segment of an RLC SDU |
11 |
Data field contains neither the first nor last segment of an RLC SDU |
7.1.2.3.1.3 Test description
7.1.2.3.1.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.1 with the exception that the AM DRB is configured according to Table 7.1.2.3.1.3.1-1.
Table 7.1.2.3.1.3.1-1: RLC parameters
Uplink SN-FieldLength-AM |
size12 |
Downlink SN-FieldLength-AM |
size12 |
7.1.2.3.1.3.2 Test procedure sequence
Table 7.1.2.3.1.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
||
U – S |
Message |
|||||
0 |
The SS stops allocating any UL grant. |
– |
– |
– |
– |
|
1 |
The SS transmits AMD PDU#1 containing a complete RLC SDU#1 (SI field = 00). |
<– |
AMD PDU#1 |
– |
– |
|
1A |
60 ms after Step1, SS allocates an UL grant sufficient to loop back RLC SDU#1 in one RLC/MAC PDU |
<– |
UL Grant |
– |
– |
|
2 |
Check: Does the UE transmit AMD PDU#1 containing a complete RLC SDU#1 (SI field = 00)? |
–> |
(RLC SDU#1) |
1,5 |
P |
|
3 |
The SS transmits a STATUS PDU. |
<– |
STATUS PDU (ACK SN=1) |
– |
– |
|
4 |
The SS transmits AMD PDU#2 containing the first segment of RLC SDU#2 (SI field = 01). Note 3 |
<– |
AMD PDU#2 |
– |
– |
|
5 |
The SS transmits AMD PDU#3 containing the second segment of RLC SDU#2 (SI field = 11) and including SO field. Note 3 |
<– |
AMD PDU#3 |
– |
– |
|
6 |
The SS transmits AMD PDU#4 containing the last segment of RLC SDU#2 (SI field = 10) and including SO field. Note 3 |
<– |
AMD PDU#4 |
– |
– |
|
6A |
SS allocates 3 UL grants at an interval of 20 ms so as to loop back RLC SDU#2 in 3 RLC/MAC PDUs. (Note 1 and Note 2) |
<– |
UL Grants |
– |
– |
|
7 |
Check: Does the UE transmit AMD PDU#2 containing the first segment of RLC SDU#2 (SI field = 01)? |
–> |
(RLC SDU#2) |
2,3,4,6 |
P |
|
8 |
Check: Does the UE transmit AMD PDU#3 containing the middle segment of RLC SDU#2 (SI field = 11) and including SO field? |
–> |
(RLC SDU#2) |
2,3,4,7 |
P |
|
9 |
Check: Does the UE transmit AMD PDU#4 containing the last segment of RLC SDU#2 (SI field = 10) and including SO field? |
–> |
(RLC SDU#2) |
2,3,4,8 |
P |
|
10 |
The SS transmits a STATUS PDU. |
<– |
STATUS PDU (ACK SN=2) |
– |
– |
|
Note 1: The UL grants for step 7,8,9 are sufficiently small (240 bits, LRBs & IMCS as per 38.523-3[3] annex B) that UE transmits RLC SDU#2 in 3 UL RLC PDUs by segmenting. Note 2: The RLC PDU containing a segment shall be of size 208 bits resp. 224 bits and a MAC sub PDU header of 16 bits and a 16-bit MAC BSR CE included in step 8 resulting in a MAC PDU of size 240 bits. Note 3: The data part in step 4 first segment not including SO is 192 bits (24 bytes). Step 5, second segment SO=24 and data is 192 bits (24 bytes). Step 6, third segment SO=24+24=48 and data is 192 bits (24 bytes). |
7.1.2.3.1.3.3 Specific message contents
None
7.1.2.3.2 AM RLC / 18-bit SN / Segmentation and reassembly / Segmentation Info (SI) field
7.1.2.3.2.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives a 18 bit SN configured AMD PDU containing a SI field set to 00 }
then { UE correctly decodes the received AMD PDU or AMD PDU segment }
}
(2)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives a 18 bit SN configured AMD PDU containing a SI field set to 01 }
then { UE correctly decodes the received AMD PDU or AMD PDU segment }
}
(3)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives a 18 bit SN configured AMD PDU containing a SI field set to 11 and SO field }
then { UE correctly decodes the received AMD PDU or AMD PDU segment }
}
(4)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives a 18 bit SN configured AMD PDU containing a SI field set to 10 and SO field }
then { UE correctly decodes the received AMD PDU or AMD PDU segment }
}
(5)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE has UL RLC SDU to send and the UL Grant is sufficient to send complete PDU }
then { UE transmits AMD PDU containing a complete AMD SDU and SI field set to 00 }
}
(6)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE has UL RLC SDU to send and the UL Grant is sufficient to send first segment only }
then { UE transmits AMD PDU containing first segment of AMD SDU and SI field set to 01 }
}
(7)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE has UL RLC SDU to send and the UL Grant is sufficient to send middle segment only }
then { UE transmits AMD PDU containing middle segment of AMD SDU and SI field set to 11, including SO field }
}
(8)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE has UL RLC SDU to send and the UL Grant is sufficient to send last segment only }
then { UE transmits AMD PDU containing last segment of AMD SDU and SI field set to 10, including SO field }
}
7.1.2.3.2.2 Conformance requirements
Same conformance requirements as in clause 7.1.2.3.1.2
7.1.2.3.2.3 Test description
7.1.2.3.2.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.1 with the exception that the AM DRB is configured according to Table 7.1.2.3.2.3.1-1.
Table 7.1.2.3.2.3.1-1: RLC parameters
Uplink SN-FieldLength-AM |
size18 |
Downlink SN-FieldLength-AM |
size18 |
7.1.2.3.2.3.2 Test procedure sequence
Same test procedure as in clause 7.1.2.3.1.3.2 except that SN is 18 bit and the data part in step 4 first segment not including SO is 184 bits (23 Bytes). Step 5, second segment SO=23 and data is 184 bits (23 bytes). Step 6, third segment SO=23+23=46 and data is 184 bits (23 bytes).
7.1.2.3.2.3.3 Specific message contents
None
7.1.2.3.3 AM RLC / 12-bit SN / Correct use of sequence numbering
7.1.2.3.3.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state with AM RLC 12 bit SN }ensure that {
when { UE transmits the PDU corresponding to first SDU } then { UE includes the SN field equal to 0 in PDU } }
(2)
with { UE in RRC_CONNECTED state with AM RLC 12 bit SN }ensure that {
when{ UE transmits subsequent SDUs } then { UE includes the SN field incremented by 1 per SDU of each PDU transmitted } }
(3)
with { UE in RRC_CONNECTED state with AM RLC 12 bit SN }ensure that {
with { UE transmits more than 4096 SDUs} then { UE wraps the SN after transmitting the 4096 SDUs}
}
(4)
with { UE in RRC_CONNECTED state with AM RLC 12 bit SNensure that {
with { more than 4096 SDUs are sent to UE } then { UE accepts PDUs with SNs that wrap around every 4096 SDUs }
}
7.1.2.3.3.2 Conformance requirements
References: The conformance requirements covered in the present TC are specified in: TS 38.322, clauses 5.2.3.1.1, 5.2.3.2.1, 5.2.3.2.2, 6.2.2.4 and 7.1. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 5.2.3.2.1]
The receiving side of an AM RLC entity shall maintain a receiving window according to the state variable RX_Next as follows:
– a SN falls within the receiving window if RX_Next <= SN < RX_Next + AM_Window_Size;
– a SN falls outside of the receiving window otherwise.
When receiving an AMD PDU from lower layer, the receiving side of an AM RLC entity shall:
– either discard the received AMD PDU or place it in the reception buffer (see sub clause 5.2.3.2.2);
– if the received AMD PDU was placed in the reception buffer:
– update state variables, reassemble and deliver RLC SDUs to upper layer and start/stop t-Reassembly as needed (see sub clause 5.2.3.2.3).
When t-Reassembly expires, the receiving side of an AM RLC entity shall:
– update state variables and start t-Reassembly as needed (see sub clause 5.2.3.2.4).
[TS 38.322, clause 5.2.3.2.2]
When an AMD PDU is received from lower layer, where the AMD PDU contains byte segment numbers y to z of an RLC SDU with SN = x, the receiving side of an AM RLC entity shall:
– if x falls outside of the receiving window; or
– if byte segment numbers y to z of the RLC SDU with SN = x have been received before:
– discard the received AMD PDU.
– else:
– place the received AMD PDU in the reception buffer;
– if some byte segments of the RLC SDU contained in the AMD PDU have been received before:
– discard the duplicate byte segments.
[TS 38.322, clause 6.2.2.4]
AMD PDU consists of a Data field and an AMD PDU header. The AMD PDU header is byte aligned.
An AM RLC entity is configured by RRC to use either a 12 bit SN or a 18 bit SN. The length of the AMD PDU header is two and three bytes respectively.
An AMD PDU header contains a D/C, a P, a SI, and a SN. An AMD PDU header contains the SO field only when the Data field consists of an RLC SDU segment which is not the first segment, in which case a 16 bit SO is present.
Figure 6.2.2.4-1: AMD PDU with 12 bit SN (No SO)
Figure 6.2.2.4-2: AMD PDU with 18 bit SN (No SO)
Figure 6.2.2.4-3: AMD PDU with 12 bit SN with SO
Figure 6.2.2.4-4: AMD PDU with 18 bit SN with SO
[TS 38.322, clause 7.1]
c) RETX_COUNT – Counter
This counter counts the number of retransmissions of an RLC SDU or RLC SDU segment (see subclause 5.3.2). There is one RETX_COUNT counter maintained per RLC SDU.
The receiving side of each AM RLC entity shall maintain the following state variables:
a) RX_Next – Receive state variable
This state variable holds the value of the SN following the last in-sequence completely received RLC SDU, and it serves as the lower edge of the receiving window. It is initially set to 0, and is updated whenever the AM RLC entity receives an RLC SDU with SN = RX_Next.
b) RX_Next_Status_Trigger – t-Reassembly state variable
This state variable holds the value of the SN following the SN of the RLC SDU which triggered t-Reassembly.
c) RX_Highest_Status – Maximum STATUS transmit state variable
This state variable holds the highest possible value of the SN which can be indicated by "ACK_SN" when a STATUS PDU needs to be constructed. It is initially set to 0.
d) RX_Next_Highest – Highest received state variable
This state variable holds the value of the SN following the SN of the RLC SDU with the highest SN among received RLC SDUs. It is initially set to 0.
Each transmitting UM RLC entity shall maintain the following state variables:
a) TX_Next
This state variable holds the value of the SN to be assigned for the next newly generated UMD PDU with segment. It is initially set to 0, and is updated after the UM RLC entity submits a UMD PDU including the last segment of an RLC SDU to lower layers.
Each receiving UM RLC entity shall maintain the following state variables and constant:
b) RX_Next_Reassembly – UM receive state variable
This state variable holds the value of the earliest SN that is still considered for reassembly. It is initially set to 0.
c) RX_Timer_Trigger – UM t-Reassembly state variable
This state variable holds the value of the SN following the SN which triggered t-Reassembly.
d) RX_Next_Highest– UM receive state variable
This state variable holds the value of the SN following the SN of the UMD PDU with the highest SN among received UMD PDUs. It serves as the higher edge of the reassembly window. It is initially set to 0.
7.1.2.3.3.3 Test description
7.1.2.3.3.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.1 with the exception that the AM DRB is configured according to Table 7.1.2.3.3.3.1-1.
Table 7.1.2.3.3.3.1-1: RLC parameters
Uplink SN-FieldLength-AM |
size12 |
Downlink SN-FieldLength-AM |
size12 |
pollPDU |
p2048 |
pollByte |
kB25 |
7.1.2.3.3.3.2 Test procedure sequence
Table 7.1.2.3.3.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
– |
EXCEPTION: Steps 1 – 3a1 shall be repeated from j=0 to j= FLOOR(Maximum_RLC_SN/iteration_size). (Note 1, 4, 6) |
– |
– |
– |
– |
1 |
SS transmits in one slot, several RLC PDUs in a RLC PDU List, the number of RLC PDUs sent is defined by the iteration_size. (Note 4, 5). Each RLC PDU contains one RLC SDU. |
<– |
RLC PDUs |
– |
– |
– |
EXCEPTION: In Step 2, SS may receive a RLC PDU or several RLC PDUs, then step 2 may be repeated multiple times until all RLC PDUs with SN=j*iteration_size to SN=(((j+1)*iteration_size)-1) for each iteration are received. |
– |
– |
– |
– |
2 |
CHECK: Does UE transmit RLC PDUs with SN=0 for the first iteration and all RLC PDUs for each iteration? (Note 2) (Note 7) |
–> |
RLC PDUs |
1,2 |
P |
– |
EXCEPTION: Step 3a1 describes behaviour that depends on the contents of the AMD PDU transmitted at Step 2. |
– |
– |
– |
– |
3a1 |
IF the UE has set the poll bit in the AMD PDU transmitted at Step 2 THEN the SS transmits a Status Report. |
<– |
STATUS PDU |
– |
– |
4 |
SS transmits a RLC PDU containing one RLC SDU. |
<– |
RLC PDU |
– |
– |
5 |
CHECK: Does UE transmit a RLC PDU with SN=0? |
–> |
RLC PDU |
3,4 |
P |
6 |
The SS transmits a STATUS PDU with ACK_SN = 1. |
<– |
STATUS PDU |
– |
– |
Note 1: Maximum_RLC_SN = 2[RLC-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 bit SN. Small RLC SDU size will be used. Note 5: SS shall transmit a RLC PDU list with size equal to iteration_size and incrementing SN by 1 till SN = ((j + 1) * iteration_size)-1. Note 6: The RLC SDU size shall be 4 octets(3 octets of PDCP header + 1 octet PDCP SDU). Note 7: All RLC PDUs may be received by the SS in the same slot or in multiple slots (max one MAC PDU in a slot). |
7.1.2.3.3.3.3 Specific message contents
None.
7.1.2.3.4 AM RLC / 18-bit SN / Correct use of sequence numbering
7.1.2.3.4.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state with AM RLC 18 bit SN }ensure that {
when { UE transmits the PDU corresponding to first SDU } then { UE includes the SN field equal to 0 in PDU } }
(2)
with { UE in RRC_CONNECTED state with AM RLC 18 bit SN }ensure that {
when{ UE transmits subsequent SDUs } then { UE includes the SN field incremented by 1 per SDU of each PDU transmitted } }
(3)
with { UE in RRC_CONNECTED state with AM RLC 18 bit SN }ensure that {
with { UE transmits more than 262144 SDUs } then { UE wraps the SN after transmitting the 262144 SDUs }
}
(4)
with { UE in RRC_CONNECTED state with AM RLC 18 bit SNensure that {
with { more than 262144 SDUs are sent to UE } then { UE accepts PDUs with SNs that wrap around every 262144 SDUs }
}
7.1.2.3.4.2 Conformance requirements
Same as conformance requirements in clause 7.1.2.3.3.2
7.1.2.3.4.3 Test description
7.1.2.3.4.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.1 with the exception that the AM DRB is configured according to Table 7.1.2.3.4.3.1-1.
Table 7.1.2.3.4.3.1-1: RLC parameters
Uplink SN-FieldLength-AM |
size18 |
Downlink SN-FieldLength-AM |
size18 |
pollPDU |
p2048 |
pollByte |
kB25 |
7.1.2.3.4.3.2 Test procedure sequence
Same as test procedure in clause 7.1.2.3.3.3.2
7.1.2.3.4.3.3 Specific message contents
None.
7.1.2.3.5 AM RLC / 12-bit SN / Control of transmit window / Control of receive window
7.1.2.3.5.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state with AM RLC 12 bit SN and pending uplink data for transmission }
ensure that {
when { AMD PDUs in transmission buffer fall outside TX_Next_Ack <= SN < TX_Next_Ack + AM_Window_Size }
then { UE does not transmit these AMD PDUs }
}
(2)
with { UE in RRC_CONNECTED state with AM RLC 12 bit SN and pending uplink data for transmission }
ensure that {
when { receiving a STATUS PDU where ACK_SN acknowledges at least one AMD PDU not yet acknowledged }
then { UE transmits AMD PDUs within updated window range }
}
(3)
with { UE in RRC_CONNECTED state with AM RLC 12 bit SN }
ensure that {
when { the UE receives AMD PDUs with SN outside the upper boundary of the receive window }
then { the UE discards these AMD PDUs }
}
(4)
with { UE in RRC_CONNECTED state with AM RLC 12 bit SN }
ensure that {
when { the receive window has been moved }
then { UE continues accepting AMD PDUs within updated window range }
}
7.1.2.3.5.2 Conformance requirements
References: The conformance requirements covered in the present TC are specified in: TS 38.322, clauses 5.2.3.2.1, 5.2.3.2.2, 5.2.3.2.3 and 7.2. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 5.2.3.2.2]
When an AMD PDU is received from lower layer, where the AMD PDU contains byte segment numbers y to z of an RLC SDU with SN = x, the receiving side of an AM RLC entity shall:
– if x falls outside of the receiving window; or
– if byte segment numbers y to z of the RLC SDU with SN = x have been received before:
– discard the received AMD PDU.
– else:
– place the received AMD PDU in the reception buffer;
– if some byte segments of the RLC SDU contained in the AMD PDU have been received before:
– discard the duplicate byte segments.
[TS 38.322, clause 5.2.3.2.3]
When an AMD PDU with SN = x is placed in the reception buffer, the receiving side of an AM RLC entity shall:
– if x >= RX_Next_Highest
– update RX_Next_Highest to x+ 1.
– if all bytes of the RLC SDU with SN = x are received:
– reassemble the RLC SDU from AMD PDU(s) with SN = x, remove RLC headers when doing so and deliver the reassembled RLC SDU to upper layer;
– if x = RX_Highest_Status,
– update RX_Highest_Status to the SN of the first RLC SDU with SN > current RX_Highest_Status for which not all bytes have been received.
– if x = RX_Next:
– update RX_Next to the SN of the first RLC SDU with SN > current RX_Next for which not all bytes have been received.
– if t-Reassembly is running:
– if RX_Next_Status_Trigger = RX_Next; or
– if RX_Next_Status_Trigger = RX_Next + 1 and there is no missing byte segment of the SDU associated with SN = RX_Next before the last byte of all received segments of this SDU; or
– if RX_Next_Status_Trigger falls outside of the receiving window and RX_Next_Status_Trigger is not equal to RX_Next + AM_Window_Size:
– stop and reset t-Reassembly.
– if t-Reassembly is not running (includes the case t-Reassembly is stopped due to actions above):
– if RX_Next_Highest> RX_Next +1; or
– if RX_Next_Highest = RX_Next + 1 and there is at least one missing byte segment of the SDU associated with SN = RX_Next before the last byte of all received segments of this SDU:
– start t-Reassembly;
– set RX_Next_Status_Trigger to RX_Next_Highest.
[TS 38.322, clause 7.2]
a) AM_Window_Size
This constant is used by both the transmitting side and the receiving side of each AM RLC entity. AM_Window_Size = 2048 when a 12 bit SN is used, AM_Window_Size = 131072 when an 18 bit SN is used.
7.1.2.3.5.3 Test description
7.1.2.3.5.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.1 with the exception that the AM DRB is configured according to Table 7.1.2.3.5.3.1-1.
Table 7.1.2.3.5.3.1-1: RLC parameters
t-PollRetransmit |
ms300 |
pollPDU |
infinity |
pollByte |
infinity |
sn-FieldLength(UL-AM-RLC) |
size12 |
sn-FieldLength(DL-AM-RLC) |
size12 |
7.1.2.3.5.3.2 Test procedure sequence
Table 7.1.2.3.5.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
0 |
The SS does not allocate any uplink grant. |
– |
– |
– |
– |
– |
EXCEPTION: The SS is configured for step 1 500 ms in advance. The transmissions are performed every second radio frame. Step 2 is started 100 ms after the first DL AMD PDU has been transmitted in step 1. |
– |
– |
– |
– |
– |
EXCEPTION: Step 1 a1 shall be repeated from j=0 to j= FLOOR((Maximum_RLC_SN/iteration size) -1, and the last repetition shall execute Step 1b1. (Note 1) (Note 3) (Note 4) (Note 6) |
– |
– |
– |
– |
1a1 |
The SS transmits several RLC PDUs in a RLC PDU List, the number of RLC PDUs sent is defined by the iteration_size. Each RLC Data PDU contains one RLC SDU. (Note 8) (Note 9) (Note 5) |
<– |
RLC Data PDU (SN = j*iteration_ size, SN=(((j+1)*iteration_size)-1) |
– |
– |
1b1 |
The SS transmits several RLC PDUs in a RLC PDU List, the number of RLC PDUs sent is defined by the iteration_size+1. Each RLC Data PDU contains one RLC SDU. The SS transmits AMD PDU(SN=W+1) as last packet (Note 8) (Note 9) (Note 5) |
<– |
RLC Data PDU (SN = j*iteration_ size, SN=(((j+1)*iteration_size)) |
– |
– |
1A |
Void |
– |
– |
– |
– |
2 |
In the following steps the SS transmits 1 UL grant in every second radio frame to enable the UE to return each received AMD PDU in one looped back AMD PDU. (Note 2) |
<– |
(UL grants) |
– |
– |
– |
EXCEPTION: Step 2A shall be repeated from j=0 to j=FLOOR((Maximum_RLC_SN/iteration size). (Note 1) (Note 3) (Note 4) (Note 6) |
– |
– |
– |
– |
– |
EXCEPTION: In Step 2A, SS shall receive a RLC PDU and step 2A is repeated from SN=j*iteration_size to SN=(((j+1)*iteration_ size)-1). (Note 1) (Note 3) (Note 4) (Note 6) (Note 8) (Note 9) |
– |
– |
– |
– |
2A |
Check: Does UE transmit a RLC Data PDU with the Poll bit not set and with SN=0 for the first RLC Data PDU and then incremented by 1 at each RLC Data PDU? (Note 7)(Note 10) |
–> |
RLC Data PDU (SN = j*iteration_ size, SN=(((j+1)*iteration_size)-1) |
1 |
P |
3 |
Check: Does the UE transmit the (W)st AMD PDU with the Poll bit set and with the contents of the SDU? |
–> |
AMD PDU(SN=W-1), Poll |
1 |
P |
4 |
The SS starts the UL default grant transmission. |
– |
– |
– |
– |
5 |
Check: Does the UE transmit an AMD PDU within t-PollRetransmit/2? |
–> |
AMD PDU |
1 |
F |
6 |
The SS transmits a STATUS PDU to acknowledge the W uplink AMD PDUs with SN=0 to SN=W-1. ACK_SN = W. |
<– |
STATUS PDU |
– |
– |
7 |
Check: Does the UE transmit an AMD PDU with the Poll bit set and with the contents of the SDU? |
–> |
AMD PDU(SN=W), Poll |
2 |
P |
8 |
The SS transmits a STATUS PDU with ACK_SN = W+1. |
<– |
STATUS PDU |
– |
– |
9 |
The SS transmits the (W+2)nd AMD PDU containing a SDU to the UE with the Sequence Number field set to ((2W+1 mod AM_Modulus) = 1) and the Polling bit set. (Note 3) (Note 5) |
<– |
AMD PDU |
– |
– |
10 |
Check: Does the UE transmit a STATUS PDU acknowledging W+1 SDUs? (ACK_SN = W+1). (Note 1) |
–> |
STATUS PDU |
3 |
P |
11 |
The SS transmits the (W+2)nd AMD PDU to the UE with the Sequence Number field set to W+1 and the Polling bit set. (Note 5) |
<– |
AMD PDU |
– |
– |
– |
EXCEPTION: Steps 12 and 13 can happen in any order |
– |
– |
– |
– |
12 |
Check: Does the UE transmit a STATUS PDU acknowledging W+1 PDUs? (ACK_SN field = W+2). (Note 11) |
–> |
STATUS PDU |
4 |
P |
13 |
Check: Does the UE transmit an AMD PDU with the same data as received in the corresponding DL AMD PDU in step 11? (Note 11) |
–> |
AMD PDU |
4 |
P |
14 |
The SS transmits a STATUS PDU with ACK_SN = W+2. |
<– |
STATUS PDU |
– |
– |
Note 1: PDUs are numbered 1,2, …, W+2. Note 2: 20 ms gap between transmissions both in DL and UL respectively allows TTCN to tolerate one HARQ retransmission (FDD/TDD) per transport block. Note 3: AM_Modulus is 4096 resp 262144 for SN size is size12 or size18. Note 4: The RLC SDU size shall be 4 octets(3 octets of PDCP header + 1 octet PDCP SDU). Note 5: PDCP SN=W+1 Note 6: Maximum_RLC_SN = W-1. Note 7: The verdict shall be provided each time (SN+1) mod 256 = 0 resp. (SN+1) mod 4096 = 0, if SN size is size12 or size18. Note 8: Iteration will be 211 in case of len12bits. Small RLC SDU size will be used and no repetition will be needed. Note 9: Iteration will be incremented by iteration_size of 211 for SN len18bits. Small RLC SDU size will be used and it shall be repeated FLOOR(Maximum_RLC_SN/iteration_size). Note 10: -2 for the last iteration, as the last reception will be handled by step 3. Note 11: STATUS PDU at step 12 and AMD PDU at step 13 may be received by SS in the same slot or in multiple slots |
7.1.2.3.5.3.3 Specific message contents
None
7.1.2.3.5a AM RLC / 18-bit SN / Control of transmit window / Control of receive window
7.1.2.3.5a.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state with AM RLC 18 bit SN and pending uplink data for transmission }
ensure that {
when { AMD PDUs in transmission buffer fall outside TX_Next_Ack <= SN < TX_Next_Ack + AM_Window_Size }
then { UE does not transmit these AMD PDUs }
}
(2)
with { UE in RRC_CONNECTED state with AM RLC 18 bit SN and pending uplink data for transmission }
ensure that {
when { receiving a STATUS PDU where ACK_SN acknowledges at least one AMD PDU not yet acknowledged }
then { UE transmits AMD PDUs within updated window range }
}
(3)
with { UE in RRC_CONNECTED state with AM RLC 18 bit SN }
ensure that {
when { the UE receives AMD PDUs with SN outside the upper boundary of the receive window }
then { the UE discards these AMD PDUs }
}
(4)
with { UE in RRC_CONNECTED state with AM RLC 18 bit SN }
ensure that {
when { the receive window has been moved }
then { UE continues accepting AMD PDUs within updated window range }
}
7.1.2.3.5a.2 Conformance requirements
Same as conformance requirements in clause 7.1.2.3.5.2.
7.1.2.3.5a.3 Test description
7.1.2.3.5a.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.1 with the exception that the AM DRB is configured according to Table 7.1.2.3.5a.3.1-1.
Table 7.1.2.3.5a.3.1-1: RLC parameters
t-PollRetransmit |
ms300 |
pollPDU |
infinity |
pollByte |
infinity |
sn-FieldLength(UL-AM-RLC) |
size18 |
sn-FieldLength(DL-AM-RLC) |
size18 |
7.1.2.3.5a.3.2 Test procedure sequence
Same as test procedure in clause 7.1.2.3.5.3.2
7.1.2.3.5a.3.3 Specific message contents
None.
7.1.2.3.6 AM RLC / Polling for status
7.1.2.3.6.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state and using AM RLC }
ensure that {
when { last data in the UL buffer is being transmitted }
then { UE transmits a Poll }
}
(2)
with { UE in RRC_CONNECTED state and using AM RLC }
ensure that {
when { the t-PollRetransmit timer expires }
then { UE transmits a Poll }
}
(3)
with { UE in RRC_CONNECTED state and using AM RLC }
ensure that {
when { PDU_WITHOUT_POLL >= pollPDU }
then { UE transmits a Poll }
}
(4)
with { UE in RRC_CONNECTED state and using AM RLC }
ensure that {
when { BYTE_WITHOUT_POLL >= pollByte }
then { UE transmits a Poll }
}
7.1.2.3.6.2 Conformance requirements
References: The conformance requirements covered in the present TC are specified in: TS 38.322, clauses 5.3.3.2, 7.3 and 7.4. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 5.3.3.2]
Upon notification of a transmission opportunity by lower layer, for each AMD PDU submitted for transmission such that the AMD PDU contains either a not previously transmitted RLC SDU or an RLC SDU segment containing not previously transmitted byte segment, the transmitting side of an AM RLC entity shall:
– increment PDU_WITHOUT_POLL by one;
– increment BYTE_WITHOUT_POLL by every new byte of Data field element that it maps to the Data field of the AMD PDU;
– if PDU_WITHOUT_POLL >= pollPDU; or
– if BYTE_WITHOUT_POLL >= pollByte:
– include a poll in the AMD PDU as described below.
Upon notification of a transmission opportunity by lower layer, for each AMD PDU submitted for transmission, the transmitting side of an AM RLC entity shall:
– if both the transmission buffer and the retransmission buffer becomes empty (excluding transmitted RLC SDUs or RLC SDU segments awaiting acknowledgements) after the transmission of the AMD PDU; or
– if no new RLC SDU can be transmitted after the transmission of the AMD PDU (e.g. due to window stalling);
– include a poll in the AMD PDU as described below.
NOTE: Empty RLC buffer (excluding transmitted RLC SDUs or RLC SDU segments awaiting acknowledgements) should not lead to unnecessary polling when data awaits in the upper layer. Details are left up to UE implementation.
To include a poll in an AMD PDU, the transmitting side of an AM RLC entity shall:
– set the P field of the AMD PDU to "1";
– set PDU_WITHOUT_POLL to 0;
– set BYTE_WITHOUT_POLL to 0.
After submitting an AMD PDU including a poll to lower layer and after incrementing of TX_Next if necessary, the transmitting side of an AM RLC entity shall:
– set POLL_SN to TX_Next – 1;
– if t-PollRetransmit is not running:
– start t-PollRetransmit.
– else:
– restart t-PollRetransmit.
[TS 38.322, clause 5.3.3.4]
Upon expiry of t-PollRetransmit, the transmitting side of an AM RLC entity shall:
– if both the transmission buffer and the retransmission buffer are empty (excluding transmitted RLC SDU or RLC SDU segment awaiting acknowledgements); or
– if no new RLC SDU or RLC SDU segment can be transmitted (e.g. due to window stalling):
– consider the RLC SDU with SN = TX_Next – 1 for retransmission; or
– consider any RLC SDU which has not been positively acknowledged for retransmission.
– include a poll in an AMD PDU as described in section 5.3.3.2.
[TS 38.322, clause 7.3]
a) t-PollRetransmit
This timer is used by the transmitting side of an AM RLC entity in order to retransmit a poll (see sub clause 5.3.3).
[TS 38.322, clause 7.4]
b) pollPDU
This parameter is used by the transmitting side of each AM RLC entity to trigger a poll for every pollPDU PDUs (see subclause 5.3.3).
c) pollByte
This parameter is used by the transmitting side of each AM RLC entity to trigger a poll for every pollByte bytes (see subclause 5.3.3).
7.1.2.3.6.3 Test description
7.1.2.3.6.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.1 with the exception that the AM DRB is configured according to Table 7.1.2.3.6.3.1-1.
Table 7.1.2.3.6.3.1-1: RLC parameters
t-PollRetransmit |
ms400 |
pollPDU |
p256 |
pollByte |
kB25 |
7.1.2.3.6.3.2 Test procedure sequence
Table 7.1.2.3.6.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
1 |
During the whole test sequence, the SS should not allocate UL grants unless when explicitly stated so in the procedure. |
– |
– |
– |
– |
2 |
The SS transmits 4 AMD PDUs such that 1 AMD PDU is sent every two radio frame, each containing an RLC SDU of 976 bits. (Note 2) |
<– |
AMD PDU (SN=0) AMD PDU (SN=1) AMD PDU (SN=2) AMD PDU (SN=3) |
– |
– |
– |
EXCEPTION: In parallel to the events described in step 3, the step specified in Table 7.1.2.3.6.3.2-2 should take place. |
– |
– |
– |
– |
3 |
The SS waits for 100 ms after the first DL AMD PDU has been transmitted in step 2, then starts assigning UL grants in every second radio frame of size 1032 bits. (Note 1) (Note 2) |
– |
– |
– |
– |
4 |
Check 1: Does the UE transmit an AMD PDU with a SN in range 0 to 3 and P=1? Record time TB. Check 2: Is (TB – TA) = t-PollRetransmit? |
–> |
AMD PDU |
2 |
P |
5 |
The SS starts the UL default grant transmission on reception of SR. |
– |
– |
– |
– |
6 |
The SS transmits an RLC Status Report ACKing reception of PDU’s 0-3. |
<– |
STATUS PDU |
– |
– |
7 |
Check: Does the UE retransmit an AMD PDU within 1 sec? |
–> |
AMD PDU |
2 |
F |
8 |
The SS transmits NR RRCReconfiguration message changing pollPDU to p4. (Note 3) |
<– |
RRCReconfiguration |
– |
– |
8A |
The UE transmits a NR RRCReconfigurationcomplete message. (Note 4) |
–> |
RRCReconfigurationComplete |
– |
– |
9 |
The SS stops allocating any UL grant. |
– |
– |
– |
– |
10 |
The SS transmits 8 AMD PDUs such that 1 AMD PDU is sent every second radio frame, each containing an RLC SDU of 976 bits. (Note 2) |
<– |
AMD PDU (SN=4) AMD PDU (SN=5) … AMD PDU (SN=11) |
– |
– |
– |
EXCEPTION: In parallel to the events described in step 11, the step specified in Table 7.1.2.3.6.3.2-3 should take place. |
– |
– |
– |
– |
11 |
The SS waits for 100 ms after the first DL AMD PDU has been transmitted in step 10, then starts assigning UL grants (UL grant allocation type 2) in every second radio frame of size 1032 bits. (Note 1) (Note 2) |
– |
– |
– |
– |
12 |
The SS transmits a Status Report with ACK_SN=12, NACK_SN=4, NACK_SN=5, NACK_SN=6 (constructed by NACK_SN Range), NACK_SN=8 and NACK_SN=9 (constructed by NACK_SN Range). |
<– |
STATUS PDU |
– |
– |
12A |
Void. |
– |
– |
– |
– |
13 |
Check: Does the UE transmit AMD PDUs with the following SN and P values? AMD PDU, SN=4, P=0 AMD PDU, SN=5, P=0 AMD PDU, SN=6, P=0 AMD PDU, SN=8, P=0 AMD PDU, SN=9, P=1 |
–> |
AMD PDU (SN=4, P=0) AMD PDU (SN=5, P=0) AMD PDU (SN=6, P=0) AMD PDU (SN=8, P=0) AMD PDU (SN=9, P=1) |
2 |
P |
14 |
The SS starts the UL default grant transmission on reception of SR. |
– |
– |
– |
– |
15 |
The SS transmits a Status Report with ACK_SN=12 and no NACK_SN. |
<– |
STATUS PDU |
– |
– |
16 |
The SS transmits NR RRCReconfiguration message changing pollPDU to p256. (Note 3) |
<– |
RRCReconfiguration |
– |
– |
16A |
The UE transmits a NR RRCReconfigurationcomplete message. (Note 4) |
–> |
RRCReconfigurationComplete |
– |
– |
17 |
The SS does not allocate any UL grant. |
– |
– |
– |
– |
18 |
After 500 ms the SS transmits 412 AMD PDUs such that 1 AMD PDU is sent every second radio frame, each containing an RLC SDU of size 976 bits. (Note 2) |
<– |
AMD PDU (SN=12) AMD PDU (SN=13) … AMD PDU (SN=423) |
– |
– |
– |
EXCEPTION: In parallel to the events described in step 19, the steps specified in Table 7.1.2.3.6.3.2-4 should take place. |
– |
– |
– |
– |
19 |
The SS waits for 100 ms after the first DL AMD PDU has been transmitted in step 10, then starts assigning UL grants (UL grant allocation type 2) in every second radio frame of size 1032 bits. (Note 1) (Note 2) |
– |
– |
– |
– |
20 |
The SS starts the UL default grant transmission |
– |
– |
– |
– |
Note 1: UL grant of 1032 bits (LRBs & IMCS as per 38.523-3[3] annex B) is chosen to allow the UE to loop back one SDU of size 976 bits and one short BSR (16 bits) into each MAC PDU sent in the uplink (1032 bits – 24 bit AMD PDU header – 16 bit MAC BSR CE- 16 bit MAC PDU subheader). The UE will include an SDU of size 976 bits and one short BSR in the looped back MAC PDU. Note 2: 20ms gap between transmissions both in DL and UL respectively allows TTCN to tolerate one HARQ retransmission (FDD/TDD) per transport block, if such happen (TS 38.523-3 [3]). Note 3: For EN-DC the NR RRCReconfiguration message is contained in RRCConnectionReconfiguration 36.508 [7] Table 4.6.1-8 using condition EN-DC_EmbedNR_RRCRecon. Note 4: For EN-DC the NR RRCReconfigurationComplete message is contained in RRCConnectionReconfigurationComplete. |
Table 7.1.2.3.6.3.2-2: Parallel behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
1 |
Check: Does the UE transmit 4 AMD PDUs, with only the last one having the poll bit set? Record time TA when the PDU with the poll bit set is received at the SS. |
–> |
AMD PDUs |
1 |
P |
Table 7.1.2.3.6.3.2-3: Parallel behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
1 |
Check: Does the UE transmit 8 AMD PDUs, with the poll bit set only in the 4th and the 8th PDUs? |
–> |
AMD PDUs |
3 |
P |
Table 7.1.2.3.6.3.2-4: Parallel behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
1 |
Check: Does the UE transmit 205 AMD PDUs, with the poll bit set only in the last (205th) one? (Note 1) |
–> |
AMD PDUs |
4 |
P |
2 |
The SS transmits an RLC Status Report. |
<– |
STATUS PDU |
– |
– |
3 |
Check: Does the UE transmit 205 AMD PDUs, with the poll bit set only in the last (410th) one? (Note 1) |
–> |
AMD PDUs |
4 |
P |
4 |
The SS transmits an RLC Status Report. |
<– |
STATUS PDU |
– |
– |
5 |
Check: Does the UE transmit 2 AMD PDUs, with the poll bit set only in the last (412th ) one? |
–> |
AMD PDUs |
1 |
P |
6 |
The SS transmits an RLC Status Report. |
<– |
STATUS PDU |
– |
– |
Note 1: (976 bits x 205PDUs) / 8 = 25010 > 25 KB, with 1 kB = 1000 bytes (TS 38.331 [12], clause 3.2) |
7.1.2.3.6.3.3 Specific message contents
Table 7.1.2.3.6.3.3-1: RRCReconfiguration (steps 8 and 16, Table 7.1.2.3.6.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 { |
|||
secondaryCellGroup |
CellGroupConfig |
EN-DC |
|
nonCriticalExtension SEQUENCE { |
NR |
||
masterCellGroup |
CellGroupConfig |
||
} |
|||
} |
|||
} |
|||
} |
Table 7.1.2.3.6.3.3-2: CellGroupConfig (Table 7.1.2.3.6.3.3-1)
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 |
entry 1 |
|
} |
|||
mac-CellGroupConfig |
Not present |
||
physicalCellGroupConfig |
Not present |
||
spCellConfig |
Not present |
||
} |
Table 7.1.2.3.6.3.3-3: RLC-BearerConfig (Table 7.1.2.3.6.3.3-2)
Derivation Path: 38.508-1 [4], Table 4.6.3-148 with condition AM |
|||
Information Element |
Value/remark |
Comment |
Condition |
RLC-BearerConfig ::= SEQUENCE { |
|||
logicalChannelIdentity |
Set to LCID of the DRB under test |
||
rlc-Config |
RLC-Config |
||
} |
Table 7.1.2.3.6.3.3-4: RLC-Config (Table 7.1.2.3.6.3.3-3)
Derivation Path: 38.508-1 [4], Table 4.6.3-149 with condition AM |
|||
Information Element |
Value/remark |
Comment |
Condition |
RLC-Config ::= CHOICE { |
|||
am SEQUENCE { |
|||
ul-AM-RLC SEQUENCE { |
|||
sn-FieldLength |
Not present |
||
t-PollRetransmit |
ms400 |
||
pollPDU |
p4 |
step 8 |
|
p256 |
step 16 |
||
pollByte |
kB25 |
||
} |
|||
dl-AM-RLC SEQUENCE { |
|||
sn-FieldLength |
Not present |
||
} |
7.1.2.3.7 AM RLC / Receiver status triggers
7.1.2.3.7.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state and using AM RLC }
ensure that {
when { Reception failure of an RLC data PDU is detected and t-Reassembly expires }
then { UE initiates Status Reporting }
}
(2)
with { UE in RRC_CONNECTED state and using AM RLC }
ensure that {
when { Status Reporting is triggered and t-StatusProhibit is running }
then { UE wait until t-StatusProhibit has expired to send Status Report}
}
(3)
with { UE in RRC_CONNECTED state and using AM RLC }
ensure that {
when { Polling from peer AM RLC entity is detected and the sequence number ‘x’ of the PDU that carries the Poll satisfies x < RX_Highest_Status or x >= RX_Next + AM_Window_Size }
then { UE initiates Status Reporting }
}
(4)
with { UE in RRC_CONNECTED state and using AM RLC }
ensure that {
when { Polling from peer AM RLC entity is detected and the sequence number ‘x’ of the PDU that carries the Poll does not satisfies x < RX_Highest_Status or x >= RX_Next + AM_Window_Size }
then { UE waits until ‘x < RX_Highest_Status or x >= RX_Next + AM_Window_Size’ before initiating Status Reporting}
}
(5)
with { UE in RRC_CONNECTED state and using AM RLC }
ensure that {
when { the UE needs to send a Status Report and the UL grant is not large enough to accommodate the whole report }
then { UE includes as many NACK_SNs in the Status Report as allowed by the UL grant }
}
(6)
with { UE in RRC_CONNECTED state and using AM RLC }
ensure that {
when { the UE needs to send a Status Report and continuous sequence of RLC SDUs that have not been received yet }
then { UE includes NACK_SN with NACK range }
}
7.1.2.3.7.2 Conformance requirements
References: The conformance requirements covered in the present TC are specified in: TS 38.322, clause 5.3.4. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 5.3.4]
An AM RLC entity sends STATUS PDUs to its peer AM RLC entity in order to provide positive and/or negative acknowledgements of RLC SDUs (or portions of them).
Triggers to initiate STATUS reporting include:
– Polling from its peer AM RLC entity:
– When an AMD PDU with SN = x and the P field set to "1" is received from lower layer, the receiving side of an AM RLC entity shall:
– if the AMD PDU is to be discarded as specified in subclause 5.2.3.2.2; or
– if x < RX_Highest_Status or x >= RX_Next + AM_Window_Size:
– trigger a STATUS report.
– else:
– delay triggering the STATUS report until x < RX_Highest_Status or x >= RX_Next + AM_Window_Size.
NOTE 1: This ensures that the RLC Status report is transmitted after HARQ reordering.
– Detection of reception failure of an AMD PDU
– The receiving side of an AM RLC entity shall trigger a STATUS report when t-Reassembly expires.
NOTE 2: The expiry of t-Reassembly triggers both RX_Highest_Status to be updated and a STATUS report to be triggered, but the STATUS report shall be triggered after RX_Highest_Status is updated.
When STATUS reporting has been triggered, the receiving side of an AM RLC entity shall:
– if t-StatusProhibit is not running:
– at the first transmission opportunity indicated by lower layer, construct a STATUS PDU and submit it to lower layer.
– else:
– at the first transmission opportunity indicated by lower layer after t-StatusProhibit expires, construct a single STATUS PDU even if status reporting was triggered several times while t-StatusProhibit was running and submit it to lower layer.
When a STATUS PDU has been submitted to lower layer, the receiving side of an AM RLC entity shall:
– start t-StatusProhibit.
When constructing a STATUS PDU, the AM RLC entity shall:
– for the RLC SDUs with SN such that RX_Next <= SN < RX_Highest_Status that has not been completely received yet, in increasing SN order of RLC SDUs and increasing byte segment order within RLC SDUs, starting with SN = RX_Next up to the point where the resulting STATUS PDU still fits to the total size of RLC PDU(s) indicated by lower layer:
– for an RLC SDU for which no byte segments have been received yet:
– include in the STATUS PDU a NACK_SN which is set to the SN of the RLC SDU.
– for a continuous sequence of byte segments of a partly received RLC SDU that have not been received yet:
– include in the STATUS PDU a set of NACK_SN, SOstart and SOend.
– for a continuous sequence of RLC SDUs that have not been received yet:
– include in the STATUS PDU a set of NACK_SN and NACK range;
– include in the STATUS PDU, if required, a pair of SOstart and SOend.
– set the ACK_SN to the SN of the next not received RLC SDU which is not indicated as missing in the resulting STATUS PDU.
7.1.2.3.7.3 Test description
7.1.2.3.7.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.1 with the exception that the AM DRB is configured according to Table 7.1.2.3.7.3.1-1.
Table 7.1.2.3.7.3.1-1: RLC parameters
t-Reassembly |
ms150 |
t-StatusProhibit |
ms300 |
t-PollRetransmit |
ms500 |
7.1.2.3.7.3.2 Test procedure sequence
Table 7.1.2.3.7.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
– |
The SS ignores scheduling requests and does not allocate any uplink grant. |
– |
– |
– |
– |
1 |
The SS transmits 4 AMD PDUs with SN=0, 1, 2, and 4. The SS sets the P field of all the AMD PDUs to 0. A time spacing of 20 ms is applied. Record time TA when the AMD PDU with SN=4 is sent. |
<– |
AMD PDU (SN=0, P=0) AMD PDU (SN=1, P=0) AMD PDU (SN=2, P=0) AMD PDU (SN=4, P=0) |
– |
– |
2 |
The SS waits for 70 ms after the transmission of the first AMD PDU to ensure UE RLC has all the required SDUs available and then assigns 3 UL grants (UL grant allocation type 2) with a time spacing of 20 ms of size 848 bits (UL Grant Allocation type 2). (Note 1) |
<– |
(UL grants, 848 bits) |
– |
– |
3 |
The UE transmits RLC SDU#1. |
–> |
(RLC SDU#1) |
– |
– |
4 |
The UE transmits RLC SDU#2. |
–> |
(RLC SDU#2) |
– |
– |
5 |
The UE transmits RLC SDU#3. |
–> |
(RLC SDU#3) |
– |
– |
6 |
60 ms after step 5, the SS transmits a STATUS PDU |
<– |
STATUS PDU |
– |
– |
7 |
80 ms after step 5, the SS starts the UL default grant transmission. |
– |
– |
– |
– |
8 |
Check 1: Does the UE transmit a Status Report with NACK_SN=3 and ACK_SN=5? Record time TB (Note 5) Check 2: (TB – TA) = t-Reassembly? |
–> |
STATUS PDU |
1 |
P |
9 |
100 ms after the Status Report is received at Step 8, the SS transmits 4 AMD PDUs with SN=5, 6, 8 and 9. The SS sets the P field of all the AMD PDUs to 0. A time spacing of 20 ms is applied. |
<– |
AMD PDU (SN=5, P=0) AMD PDU (SN=6, P=0) AMD PDU (SN=8, P=0) AMD PDU (SN=9, P=0) |
– |
– |
10 |
Check 1: Does the UE transmit a Status Report with NACK_SN=3 and ACK_SN=7? Record time TC Check 2: (TC – TB) = t-StatusProhibit? |
–> |
STATUS PDU |
2 |
P |
11 |
The SS ignores scheduling requests unless otherwise specified and does not allocate any uplink grant. |
– |
– |
– |
– |
12 |
200 ms after step 10, the SS transmits 2 AMD PDUs with SN=3, SN=7. The SS sets the P field of all the AMD PDUs to 0 except for that of the AMD PDU with SN=7. A time spacing of 20 ms is applied. |
<– |
AMD PDU (SN=3, P=0) AMD PDU (SN=7, P=1) |
– |
– |
13 |
The SS waits for 100 ms after the transmission of the last AMD PDU to ensure UE RLC has all the required SDUs available and then assigns 1 UL grant (UL grant allocation type 3) of size 88 bits. (Note 2) |
<– |
(UL grant, 88 bits) |
– |
– |
14 |
Check: Does the UE transmit a Status Report with no NACK_SN and ACK_SN = 10? |
–> |
STATUS PDU |
3 |
P |
15 |
In the second frame following the one scheduled in step 13 the SS assigns 7 UL grants (UL grant allocation type 2) with a time spacing of 20 ms of size 848 bits. (Note 1) |
<– |
(UL grant, 848 bits) |
– |
– |
16 |
The UE transmits RLC SDU#4. |
–> |
(RLC SDU#4) |
– |
– |
17 |
The UE transmits RLC SDU#5. |
–> |
(RLC SDU#5) |
– |
– |
18 |
The UE transmits RLC SDU#6. |
–> |
(RLC SDU#6) |
– |
– |
19 |
The UE transmits RLC SDU#7. |
–> |
(RLC SDU#7) |
– |
– |
20 |
The UE transmits RLC SDU#8. |
–> |
(RLC SDU#8) |
– |
– |
21 |
The UE transmits RLC SDU#9. |
–> |
(RLC SDU#9) |
– |
– |
22 |
The UE transmits RLC SDU#10. |
–> |
(RLC SDU#10) |
– |
– |
23 |
The SS transmits a STATUS PDU |
<– |
STATUS PDU |
– |
– |
24 |
After 300 ms the SS transmits an AMD PDU with SN=11 and P=0, and an AMD PDU with SN=12 and P=1.A time spacing of 20 ms is applied. |
<– |
AMD PDU (SN=11, P=0) AMD PDU (SN=12, P=1) |
– |
– |
25 |
Check: Does the UE transmit a scheduling request within t-Reassembly/ 2 ms after the transmission of the first AMD PDU of Step 24? |
–> |
(SR) |
4 |
F |
26 |
At t-Reassembly/ 2 ms after the transmission of the second AMD PDU of Step 24, the SS transmits an AMD PDU with SN=10 and P=0. |
<– |
AMD PDU (SN=10, P=0) |
– |
– |
27 |
The SS waits for 60 ms to ensure UE RLC has all the required SDUs available and then assigns 1 UL grant (UL grant allocation type 3) of size 88 bits. (Note 2) |
<– |
(UL grant, 88 bits) |
– |
– |
28 |
Check: Does the UE transmit a Status Report with no NACK_SN and ACK_SN=13? |
–> |
STATUS PDU |
4 |
P |
29 |
The SS assigns 3 UL grants (UL grant allocation type 2) with a time spacing of 20 ms of size 848 bits. (Note 1) |
<– |
(UL grant, 848 bits) |
– |
– |
30 |
The UE transmits RLC SDU#11. |
–> |
(RLC SDU#11) |
– |
– |
31 |
The UE transmits RLC SDU#12. |
–> |
(RLC SDU#12) |
– |
– |
32 |
The UE transmits RLC SDU#13. |
–> |
(RLC SDU#13) |
– |
– |
33 |
The SS transmits a STATUS PDU. |
<– |
STATUS PDU |
– |
– |
34 |
After 300 ms the SS transmits an AMD PDU with SN=17 and P=0, and an AMD PDU with SN=19 and P=1. A time spacing of 20 ms is applied. |
<– |
AMD PDU (SN=17, P=0) AMD PDU (SN=19, P=1) |
– |
– |
35 |
The SS waits for t-Reassembly ms to ensure expiry. |
– |
– |
– |
– |
36 |
60 ms after step 35 the SS assigns an UL grant (UL grant allocation type 3) of size 88 bits. (Note 3) |
<– |
(UL Grant, 88 bits) |
– |
– |
37 |
Check: Does the UE transmit a Status Report with ACK_SN=18 and NACK_SN: 13 including NACK Range 4 (SN 13, 14, 15, 16)? |
–> |
STATUS PDU |
5,6 |
P |
38 |
After 300 ms the SS transmits an AMD PDU with SN=16 and P=1. |
<– |
AMD PDU (SN=16, P=1) |
– |
– |
39 |
30 ms after step 38 the SS assigns an UL grant (UL grant allocation type 3) of size 112 bits. (Note 4) |
<– |
(UL Grant, size 112) |
– |
– |
40 |
Check: Does the UE transmit a Status Report with ACK_SN=20 and NACK_SN: 13 including NACK Range 3 (SN 13, 14, 15) and NACK_SN=18 without NACK Range? |
–> |
STATUS PDU |
5,6 |
P |
41 |
60 ms after step 38 the SS transmits 4 AMD PDUs with SN=13, 14, 15 and 18. A time spacing of 20 ms is applied. |
<– |
AMD PDU (SN=13, P=0) AMD PDU (SN=14, P=0) AMD PDU (SN=15, P=0) AMD PDU (SN=18, P=0) |
– |
– |
42 |
130 ms after the transmission of the first AMD PDU the SS assigns 7 UL grant (UL grant allocation type 3 with a time spacing of 20 ms of size 848 bits. (Note 1) |
<– |
(UL grant, 848 bits) |
– |
– |
43 |
The UE loopbacks the complete RLC SDU. |
–> |
(RLC SDU#14) |
– |
– |
44 |
The UE loopbacks the complete RLC SDU. |
–> |
(RLC SDU#15) |
– |
– |
45 |
The UE loopbacks the complete RLC SDU. |
–> |
(RLC SDU#16) |
– |
– |
46 |
The UE loopbacks the complete RLC SDU. |
–> |
(RLC SDU#17) |
– |
– |
47 |
The UE loopbacks the complete RLC SDU. |
–> |
(RLC SDU#18) |
– |
– |
48 |
The UE loopbacks the complete RLC SDU. |
–> |
(RLC SDU#19) |
– |
– |
49 |
The UE loopbacks the complete RLC SDU. |
–> |
(RLC SDU#20) |
– |
– |
50 |
The SS transmits a STATUS PDU. |
<– |
STATUS PDU |
– |
– |
Note 1: UL grant of 848 bits (LRBs & IMCS as per 38.523-3[3] annex B) is chosen to allow the UE to transmit one PDU at a time ( 99 bytes RLC SDU + 3 bytes RLC Header + 2 bytes MAC Sub PDU header + 2 bytes for short BSR or padding). Note 2: UL grant of 88 bits (LRBs & IMCS as per 38.523-3[3] annex B) is chosen to allow the UE to transmit a Status Report with ACK_SN(3 byte) + 2 byte MAC PDU subheader and (2 byte short BSR). 4 Bytes additional space provided to confirm UE does not include NACK_SN and conformant UE instead will include MAC Padding. Note 3: UL grant of 88 bits (LRBs & IMCS as per 38.523-3[3] annex B) is chosen to allow the UE to transmit (a Status Report with ACK_SN (3 Bytes)and 1 NACK_SNs with NACK Range(4 Bytes) + MAC PDU subheader (2 Bytes) + Short BSR (2 Byte). Note 4: UL grant of 112 bits (LRBs & IMCS as per 38.523-3[3] annex B) is chosen to allow the UE to transmit (a Status Report with ACK_SN (3 Bytes)and 1 NACK_SNs with NACK Range(4 Bytes) +NACK SN (3 Bytes) + MAC PDU subheader (2 Bytes) + Short BSR (2 Byte). Note 5: Time TB should be recorded by factoring in the SR-Periodicity as configured in the SchedulingRequestResourceConfig->periodicityAndOffset |
7.1.2.3.7.3.3 Specific message contents
None
7.1.2.3.8 AM RLC / Reconfiguration of RLC parameters by upper layers
7.1.2.3.8.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state and using AM RLC }
ensure that {
when { t-PollRetransmit value is changed during reconfiguration of RLC parameters by upper layers}
then { UE starts using new t-PollRetransmit value }
}
(2)
with { UE in RRC_CONNECTED state and using AM RLC }
ensure that {
when { t-Reassembly value is changed during reconfiguration of RLC parameters by upper layers }
then { UE starts using new t-Reassembly value }
}
(3)
with { UE in RRC_CONNECTED state and using AM RLC }
ensure that {
when { t-StatusProhibit value is changed during reconfiguration of RLC parameters by upper layers }
then { UE starts using new t-StatusProhibit value }
}
7.1.2.3.8.2 Conformance requirements
References: The conformance requirements covered in the present TC are specified in: TS 38.322, clauses 5.3.3.1, 5.3.3.2, 5.3.3.3, 5.3.4 and 7.3. TS 38.331 clause 5.3.5.5.4. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 5.3.3.1]
An AM RLC entity can poll its peer AM RLC entity in order to trigger STATUS reporting at the peer AM RLC entity.
[TS 38.322, clause 5.3.3.2]
Upon notification of a transmission opportunity by lower layer, for each AMD PDU submitted for transmission such that the AMD PDU contains either a not previously transmitted RLC SDU or an RLC SDU segment containing not previously transmitted byte segment, the transmitting side of an AM RLC entity shall:
– increment PDU_WITHOUT_POLL by one;
– increment BYTE_WITHOUT_POLL by every new byte of Data field element that it maps to the Data field of the AMD PDU;
– if PDU_WITHOUT_POLL >= pollPDU; or
– if BYTE_WITHOUT_POLL >= pollByte:
– include a poll in the AMD PDU as described below.
Upon notification of a transmission opportunity by lower layer, for each AMD PDU submitted for transmission, the transmitting side of an AM RLC entity shall:
– if both the transmission buffer and the retransmission buffer becomes empty (excluding transmitted RLC SDUs or RLC SDU segments awaiting acknowledgements) after the transmission of the AMD PDU; or
– if no new RLC SDU can be transmitted after the transmission of the AMD PDU (e.g. due to window stalling);
– include a poll in the AMD PDU as described below.
NOTE: Empty RLC buffer (excluding transmitted RLC SDUs or RLC SDU segments awaiting acknowledgements) should not lead to unnecessary polling when data awaits in the upper layer. Details are left up to UE implementation.
To include a poll in an AMD PDU, the transmitting side of an AM RLC entity shall:
– set the P field of the AMD PDU to "1";
– set PDU_WITHOUT_POLL to 0;
– set BYTE_WITHOUT_POLL to 0.
After submitting an AMD PDU including a poll to lower layer and after incrementing of TX_Next if necessary, the transmitting side of an AM RLC entity shall:
– set POLL_SN to TX_Next – 1;
– if t-PollRetransmit is not running:
– start t-PollRetransmit.
– else:
– restart t-PollRetransmit.
[TS 38.322, clause 5.3.3.3]
Upon reception of a STATUS report from the receiving RLC AM entity the transmitting side of an AM RLC entity shall:
– if the STATUS report comprises a positive or negative acknowledgement for the RLC SDU with sequence number equal to POLL_SN:
– if t-PollRetransmit is running:
– stop and reset t-PollRetransmit.
[TS 38.322, clause 5.3.4]
Upon expiry of t-PollRetransmit, the transmitting side of an AM RLC entity shall:
– if both the transmission buffer and the retransmission buffer are empty (excluding transmitted RLC SDU or RLC SDU segment awaiting acknowledgements); or
– if no new RLC SDU or RLC SDU segment can be transmitted (e.g. due to window stalling):
– consider the RLC SDU with SN = TX_Next – 1 for retransmission; or
– consider any RLC SDU which has not been positively acknowledged for retransmission.
– include a poll in an AMD PDU as described in section 5.3.3.2.
[TS 38.322, clause 7.3]
The following timers are configured by 3GPP TS 38.331 [5]:
a) t-PollRetransmit
This timer is used by the transmitting side of an AM RLC entity in order to retransmit a poll (see sub clause 5.3.3).
b) t-Reassembly
This timer is used by the receiving side of an AM RLC entity and receiving UM RLC entity in order to detect loss of RLC PDUs at lower layer (see sub clauses 5.2.2.2 and 5.2.3.2). If t-Reassembly is running, t-Reassembly shall not be started additionally, i.e. only one t-Reassembly per RLC entity is running at a given time.
c) t-StatusProhibit
This timer is used by the receiving side of an AM RLC entity in order to prohibit transmission of a STATUS PDU (see sub clause 5.3.4).
[TS 38.331, clause 5.3.5.5.4]
For each RLC-Bearer-Config received in the rlc-BearerToAddModList IE the UE shall:
1> if the UE’s current configuration contains a RLC bearer with the received logicalChannelIdentity:
2> if reestablishRLC is received:
3> re-establish the RLC entity as specified in TS 38.322 [4];
2> reconfigure the RLC entity or entities in accordance with the received rlc-Config;
2> reconfigure the logical channel in accordance with the received mac-LogicalChannelConfig;
NOTE: The network does not re-associate an already configured logical channel with another radio bearer. Hence servedRadioBearer is not present in this case.
7.1.2.3.8.3 Test description
7.1.2.3.8.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.1 with the exception that the AM DRB is configured according to Table 7.1.2.3.8.3.1-1.
Table 7.1.2.3.8.3.1-1: RLC parameters
Parameter |
Value |
t-Reassembly |
ms150 |
t-StatusProhibit |
ms300 |
t-PollRetransmit |
ms400 |
pollPDU |
infinity |
pollByte |
infinity |
7.1.2.3.8.3.2 Test procedure sequence
Table 7.1.2.3.8.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message/PDU/SDU |
||||
1-29 |
Same expected sequence as in Table 7.1.2.3.8.3.2-2 with (X=0, t-Reassembly = ms150, t-StatusProhibit = ms300, t-PollRetransmit=ms400) Note 1. |
– |
– |
1,2,3 |
– |
30 |
The SS transmits NR RRCReconfiguratioin message to reconfigure RLC in the UE and set: – t-Reassembly to ms200, – t-StatusProhibit to ms400, – t-PollRetransmit to ms500. (Note 1) |
<– |
RRCReconfiguration |
– |
– |
30A |
The UE transmits a NR RRCReconfigurationcomplete message. (Note 2) |
–> |
RRCReconfigurationComplete |
– |
– |
31-59 |
Same expected sequence as in Table 7.1.2.3.8.3.2-2 with (X=11, t-Reassembly = ms200, t-StatusProhibit = ms400, t-PollRetransmit=ms500). |
– |
– |
1,2,3 |
– |
Note 1: For EN-DC the NR RRCReconfiguration message is contained in RRCConnectionReconfiguration 36.508 [7], Table 4.6.1-8 using condition EN-DC_EmbedNR_RRCRecon. Note 2: For EN-DC the NR RRCReconfigurationComplete message is contained in RRCConnectionReconfigurationComplete. |
Table 7.1.2.3.8.3.2-2: Behaviour Sequence (X, t-Reassembly, t-StatusProhibit,t-PollRetransmit)
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message/PDU/SDU |
||||
1 |
The SS ignores scheduling requests and does not allocate any uplink grant. |
– |
– |
– |
– |
2 |
The SS transmits 4 AMD PDUs with P=0 and SN=X, X+1, X+2 and X+4. The SS record time TA when AMD PDU#5 (with SN=X+4) is sent. A time spacing of 20 ms is applied. |
<– |
AMD PDU#1 (SN=X, P=0) AMD PDU#2 (SN=X+1, P=0) AMD PDU#3 (SN=X+2, P=0) AMD PDU#5 (SN=X+4, P=0) |
– |
– |
3 |
The SS waits for 70 ms after the transmission of the first AMD PDU to ensure UE RLC has all the required SDUs available and then assigns 3 UL grants of size 848 bits with a time spacing of 20 ms. (Note 1) |
<– |
(UL grants, 848 bits) |
– |
– |
4 |
The UE transmits RLC SDU#1+X. |
–> |
(RLC SDU#1+X) |
– |
– |
5 |
The UE transmits RLC SDU#2+X. |
–> |
(RLC SDU#2+X) |
– |
– |
6 |
The UE transmits RLC SDU#3+X. |
–> |
(RLC SDU#3+X) |
– |
– |
7 |
60 ms after step 3 the SS transmits a STATUS PDU. |
<– |
STATUS PDU |
– |
– |
8 |
The SS starts the UL default grant transmission. |
– |
– |
– |
– |
9 |
Check 1: Does the UE transmit a STATUS PDU with NACK_SN=X+3 and ACK_SN=X+5? Record time TB (Note 5). Check 2: Is (TB – TA ) = t-Reassembly? |
–> |
STATUS PDU |
2 |
P |
10 |
100 ms after the Status Report received at Step 9, the SS sends 4 AMD PDUs with P=0 and SN=X+5, X+6, X+8 and X+9. A time spacing of 20 ms is applied. |
<– |
AMD PDU#6 (SN=X+5, P=0) AMD PDU#7 (SN=X+6, P=0) AMD PDU#9 (SN=X+8, P=0) AMD PDU#10 (SN=X+9, P=0) |
– |
– |
11 |
Check 1: Does the UE transmit a Status Report with NACK_SN=X+3 and ACK_SN=X+7? Record time TC Check 2: (TC – TB) = t-StatusProhibit? |
–> |
STATUS PDU |
3 |
P |
12 |
The SS ignores scheduling requests and does not allocate any uplink grant. |
– |
– |
– |
– |
13 |
After 250 ms the SS transmits 3 AMD PDUs with SN=X+3, X+7 and X+9. The SS sets the P field of all the AMD PDUs to 0 except for that of the AMD PDU with SN=X+9. A time spacing of 20 ms is applied. |
<– |
AMD PDU#4 (SN=X+3, P=0) AMD PDU#8 (SN=X+7, P=0) AMD PDU#10 (SN=X+9, P=1) |
– |
– |
14 |
The SS waits for 150 ms after AMD PDU#4 transmission to ensure UE RLC has all the required SDUs available and then assigns 1 UL grant of size 88 bits (UL Grant Allocation type 3). (Note 2)(Note 4) |
<– |
(UL grant, 88 bits) |
– |
– |
15 |
The UE transmits a Status Report with no NACK_SN and ACK_SN=X+10. |
–> |
STATUS PDU |
– |
– |
16 |
In the subframe following the one scheduled in step 14 the SS assigns 7 UL grants of size 848 bits (UL Grant Allocation type 2) with a time spacing of 20 ms. (Note 1) |
<– |
(UL grants, 848 bits) |
– |
– |
17 |
The UE transmits RLC SDU#4+X. |
–> |
(RLC SDU#4+X) |
– |
– |
18 |
The UE transmits RLC SDU#5+X. |
–> |
(RLC SDU#5+X) |
– |
– |
19 |
The UE transmits RLC SDU#6+X. |
–> |
(RLC SDU#6+X) |
– |
– |
20 |
The UE transmits RLC SDU#7+X. |
–> |
(RLC SDU#7+X) |
– |
– |
21 |
The UE transmits RLC SDU#8+X. |
–> |
(RLC SDU#8+X) |
– |
– |
22 |
The UE transmits RLC SDU#9+X. |
–> |
(RLC SDU#9+X) |
– |
– |
23 |
The UE transmits RLC SDU#10+X. |
–> |
(RLC SDU#10+X) |
– |
– |
24 |
The SS transmits a STATUS PDU. |
<– |
STATUS PDU |
– |
– |
25 |
The SS transmits an AMD PDU to the UE. |
<– |
AMD PDU#11 (SN=X+10, P=0) |
– |
– |
26 |
The SS starts the UL default grant transmission. |
– |
– |
– |
– |
27 |
The UE transmits an AMD PDU with the same data as received in the corresponding DL AMD PDU. Record time TD. |
–> |
AMD PDU#11 (SN=X+10, P=1) |
– |
– |
28 |
Check 1: Does the UE set the poll bit as both the transmission and retransmission buffers become empty? Record time TE. |
–> |
AMD PDU#11 (SN=X+10, P=1) |
1 |
P |
29 |
The SS transmits a STATUS PDU |
<– |
STATUS PDU |
– |
– |
Note 1: UL grant of 848 bits (LRBs & IMCS as per 38.523-3[3] annex B) is chosen to allow the UE to transmit one PDU at a time. Note 2: UL grant of 88 bits (LRBs & IMCS as per 38.523-3[3] annex B) is chosen to allow the UE to transmit a Status Report with ACK_SN(3 byte) + 2 byte MAC PDU subheader and (2 byte short BSR). 4 Bytes additional space provided to confirm UE does not include NACK_SN and conformant UE instead will include MAC Padding. Note 3: Every DL AMD PDU contains 1 RLC SDU size of 99 bytes. Note 4: Timing difference between step 11 to step 15 is equal to t-statusProhibit timer. UE starts SR from step 13 with AMD-PDU#4. 150 ms is chosen so that UE does not reach sr-transMax(n16) otherwise UE RACHes. Note 5: Time TB should be recorded by factoring in the SR-Periodicity as configured in the SchedulingRequestResourceConfig->periodicityAndOffset. |
7.1.2.3.8.3.3 Specific message contents
Table 7.1.2.3.8.3.3-1: RRCReconfiguration (step 30, Table 7.1.2.3.8.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 { |
|||
secondaryCellGroup |
CellGroupConfig |
EN-DC |
|
nonCriticalExtension SEQUENCE { |
NR |
||
masterCellGroup |
CellGroupConfig |
||
} |
|||
} |
|||
} |
|||
} |
Table 7.1.2.3.8.3.3-2: CellGroupConfig (Table 7.1.2.3.8.3.3-1)
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 |
entry 1 |
|
} |
|||
mac-CellGroupConfig |
Not present |
||
physicalCellGroupConfig |
Not present |
||
spCellConfig |
Not present |
||
} |
Table 7.1.2.2.8.3.3-3: RLC-BearerConfig (Table 7.1.2.3.8.3.3-2)
Derivation Path: 38.508-1 [4], Table 4.6.3-148 with condition AM |
|||
Information Element |
Value/remark |
Comment |
Condition |
RLC-BearerConfig ::= SEQUENCE { |
|||
logicalChannelIdentity |
Set to LCID of the DRB under test |
||
rlc-Config |
RLC-Config |
||
} |
Table 7.1.2.2.8.3.3-4: RLC-Config (Table 7.1.2.3.8.3.3-3)
Derivation Path: 38.508-1 [4], Table 4.6.3-149 with condition AM |
|||
Information Element |
Value/remark |
Comment |
Condition |
RLC-Config ::= CHOICE { |
|||
am SEQUENCE { |
|||
ul-AM-RLC SEQUENCE { |
|||
sn-FieldLength |
Not present |
||
t-PollRetransmit |
ms500 |
||
} |
|||
dl-AM-RLC SEQUENCE { |
|||
sn-FieldLength |
Not present |
||
t-Reassembly |
ms200 |
||
t-StatusProhibit |
ms400 |
||
} |
|||
} |
|||
} |
7.1.2.3.9 AM RLC / Reassembling of AMD PDUs
7.1.2.3.9.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives AMD PDUs,and all bytes of the RLC SDU(s) with SN = x are received }
then { UE reassembles the RLC SDU(s) from AMD PDU(s) with SN = x }
}
(2)
with { UE in RRC_CONNECTED state }
ensure that {
when { t-Reassembly expires }
then { update RX_Highest_Status to the SN of the first RLC SDU with SN >= RX_Next_Status_Trigger for which not all bytes have been received }
}
(3)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives AM PDU segments }
then { UE delivers reassembled RLC SDU to upper layer }
}
(4)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives duplicate RLC AM PDU segments }
then { UE discards duplicate RLC AMD PDU segments }
}
(5)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives RLC AMD PDU segments with segments lost }
then { UE transmits STATUS PDU to request retransmission of missing segments }
}
(6)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives overlapping RLC AMD PDU segments }
then { UE discards duplicate RLC AMD PDU byte segments }
}
(7)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives an AMD PDU with a SN gap }
then { UE sends STATUS PDU to request retransmissions of PDUs in the SN gap}
}
7.1.2.3.9.2 Conformance requirements
References: The conformance requirements covered in the present TC are specified in: 3GPP TS 38.322 clauses 4.2.1.3.3, 5.2.3.2.1, 5.2.3.2.2, 5.2.3.2.3, 5.2.3.2.4 and 5.3.4. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 4.2.1.3.3]
When the receiving side of an AM RLC entity receives AMD PDUs, it shall:
– detect whether or not the AMD PDUs have been received in duplication, and discard duplicated AMD PDUs;
– detect the loss of AMD PDUs at lower layers and request retransmissions to its peer AM RLC entity;
– reassemble RLC SDUs from the received AMD PDUs and deliver the RLC SDUs to upper layer as soon as they are available.
[TS 38.322, clause 5.2.3.2.1]
The receiving side of an AM RLC entity shall maintain a receiving window according to the state variable RX_Next as follows:
– a SN falls within the receiving window if RX_Next <= SN < RX_Next + AM_Window_Size;
– a SN falls outside of the receiving window otherwise.
When receiving an AMD PDU from lower layer, the receiving side of an AM RLC entity shall:
– either discard the received AMD PDU or place it in the reception buffer (see sub clause 5.2.3.2.2);
– if the received AMD PDU was placed in the reception buffer:
– update state variables, reassemble and deliver RLC SDUs to upper layer and start/stop t-Reassembly as needed (see sub clause 5.2.3.2.3).
When t-Reassembly expires, the receiving side of an AM RLC entity shall:
– update state variables and start t-Reassembly as needed (see sub clause 5.2.3.2.4).
[TS 38.322, clause 5.2.3.2.2]
When an AMD PDU is received from lower layer, where the AMD PDU contains byte segment numbers y to z of an RLC SDU with SN = x, the receiving side of an AM RLC entity shall:
– if x falls outside of the receiving window; or
– if byte segment numbers y to z of the RLC SDU with SN = x have been received before:
– discard the received AMD PDU.
– else:
– place the received AMD PDU in the reception buffer;
– if some byte segments of the RLC SDU contained in the AMD PDU have been received before:
– discard the duplicate byte segments.
[TS 38.322, clause 5.2.3.2.3]
When an AMD PDU with SN = x is placed in the reception buffer, the receiving side of an AM RLC entity shall:
– if x >= RX_Next_Highest
– update RX_Next_Highest to x+ 1.
– if all bytes of the RLC SDU with SN = x are received:
– reassemble the RLC SDU from AMD PDU(s) with SN = x, remove RLC headers when doing so and deliver the reassembled RLC SDU to upper layer;
– if x = RX_Highest_Status,
– update RX_Highest_Status to the SN of the first RLC SDU with SN > current RX_Highest_Status for which not all bytes have been received.
– if x = RX_Next:
– update RX_Next to the SN of the first RLC SDU with SN > current RX_Next for which not all bytes have been received.
– if t-Reassembly is running:
– if RX_Next_Status_Trigger = RX_Next; or
– if RX_Next_Status_Trigger = RX_Next + 1 and there is no missing byte segment of the SDU associated with SN = RX_Next before the last byte of all received segments of this SDU; or
– if RX_Next_Status_Trigger falls outside of the receiving window and RX_Next_Status_Trigger is not equal to RX_Next + AM_Window_Size:
– stop and reset t-Reassembly.
– if t-Reassembly is not running (includes the case t-Reassembly is stopped due to actions above):
– if RX_Next_Highest> RX_Next +1; or
– if RX_Next_Highest = RX_Next + 1 and there is at least one missing byte segment of the SDU associated with SN = RX_Next before the last byte of all received segments of this SDU:
– start t-Reassembly;
– set RX_Next_Status_Trigger to RX_Next_Highest.
[TS 38.322, clause 5.2.3.2.4]
When t-Reassembly expires, the receiving side of an AM RLC entity shall:
– update RX_Highest_Status to the SN of the first RLC SDU with SN >= RX_Next_Status_Trigger for which not all bytes have been received;
– if RX_Next_Highest> RX_Highest_Status +1: or
– if RX_Next_Highest = RX_Highest_Status + 1 and there is at least one missing byte segment of the SDU associated with SN = RX_Highest_Status before the last byte of all received segments of this SDU:
– start t-Reassembly;
– set RX_Next_Status_Trigger to RX_Next_Highest.
[TS 38.322, clause 5.3.4]
An AM RLC entity sends STATUS PDUs to its peer AM RLC entity in order to provide positive and/or negative acknowledgements of RLC SDUs (or portions of them).
Triggers to initiate STATUS reporting include:
– Polling from its peer AM RLC entity:
– When an AMD PDU with SN = x and the P field set to "1" is received from lower layer, the receiving side of an AM RLC entity shall:
– if the AMD PDU is to be discarded as specified in subclause 5.2.3.2.2; or
– if x < RX_Highest_Status or x >= RX_Next + AM_Window_Size:
– trigger a STATUS report.
– else:
– delay triggering the STATUS report until x < RX_Highest_Status or x >= RX_Next + AM_Window_Size.
NOTE 1: This ensures that the RLC Status report is transmitted after HARQ reordering.
– Detection of reception failure of an AMD PDU
– The receiving side of an AM RLC entity shall trigger a STATUS report when t-Reassembly expires.
NOTE 2: The expiry of t-Reassembly triggers both RX_Highest_Status to be updated and a STATUS report to be triggered, but the STATUS report shall be triggered after RX_Highest_Status is updated.
When STATUS reporting has been triggered, the receiving side of an AM RLC entity shall:
– if t-StatusProhibit is not running:
– at the first transmission opportunity indicated by lower layer, construct a STATUS PDU and submit it to lower layer.
– else:
– at the first transmission opportunity indicated by lower layer after t-StatusProhibit expires, construct a single STATUS PDU even if status reporting was triggered several times while t-StatusProhibit was running and submit it to lower layer.
When a STATUS PDU has been submitted to lower layer, the receiving side of an AM RLC entity shall:
– start t-StatusProhibit.
When constructing a STATUS PDU, the AM RLC entity shall:
– for the RLC SDUs with SN such that RX_Next <= SN < RX_Highest_Status that has not been completely received yet, in increasing SN order of RLC SDUs and increasing byte segment order within RLC SDUs, starting with SN = RX_Next up to the point where the resulting STATUS PDU still fits to the total size of RLC PDU(s) indicated by lower layer:
– for an RLC SDU for which no byte segments have been received yet:
– include in the STATUS PDU a NACK_SN which is set to the SN of the RLC SDU.
– for a continuous sequence of byte segments of a partly received RLC SDU that have not been received yet:
– include in the STATUS PDU a set of NACK_SN, SOstart and SOend.
– for a continuous sequence of RLC SDUs that have not been received yet:
– include in the STATUS PDU a set of NACK_SN and NACK range;
– include in the STATUS PDU, if required, a pair of SOstart and SOend.
– set the ACK_SN to the SN of the next not received RLC SDU which is not indicated as missing in the resulting STATUS PDU.
When STATUS reporting has been triggered, the receiving side of an AM RLC entity shall:
– if t-StatusProhibit is not running:
– at the first transmission opportunity indicated by lower layer, construct a STATUS PDU and submit it to lower layer.
– else:
– at the first transmission opportunity indicated by lower layer after t-StatusProhibit expires, construct a single STATUS PDU even if status reporting was triggered several times while t-StatusProhibit was running and submit it to lower layer.
When a STATUS PDU has been submitted to lower layer, the receiving side of an AM RLC entity shall:
– start t-StatusProhibit.
When constructing a STATUS PDU, the AM RLC entity shall:
– for the RLC SDUs with SN such that RX_Next <= SN < RX_Highest_Status that has not been completely received yet, in increasing SN order of RLC SDUs and increasing byte segment order within RLC SDUs, starting with SN = RX_Next up to the point where the resulting STATUS PDU still fits to the total size of RLC PDU(s) indicated by lower layer:
– for an RLC SDU for which no byte segments have been received yet:
– include in the STATUS PDU a NACK_SN which is set to the SN of the RLC SDU.
– for a continuous sequence of byte segments of a partly received RLC SDU that have not been received yet:
– include in the STATUS PDU a set of NACK_SN, SOstart and SOend.
– for a continuous sequence of RLC SDUs that have not been received yet:
– include in the STATUS PDU a set of NACK_SN and NACK range;
– include in the STATUS PDU, if required, a pair of SOstart and SOend.
– set the ACK_SN to the SN of the next not received RLC SDU which is not indicated as missing in the resulting STATUS PDU.
7.1.2.3.9.3 Test description
7.1.2.3.9.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.1 with the exception that the AM DRB is configured according to Table 7.1.2.3.9.3.1-1.
Table 7.1.2.3.9.3.1-1: RLC parameters
Parameter |
Value |
t-Reassembly |
ms150 |
t-StatusProhibit |
ms300 |
t-PollRetransmit |
ms500 |
7.1.2.3.9.3.2 Test procedure sequence
Table 7.1.2.3.9.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message/PDU/SDU |
||||
0 |
The SS stops the UL grant transmission. |
– |
– |
– |
– |
1 |
The SS transmits AMD PDU#1 containing a complete RLC SDU#4 (89 bytes and SI field=00). (Note 4) |
<– |
AMD PDU#1 (SN=3) |
– |
– |
2 |
The SS transmits AMD PDU#2 containing the last segment (44 bytes) of RLC SDU#1 (SI field=10, SO=45). |
<– |
AMD PDU#2 (SN=0) |
– |
– |
3 |
The SS transmits AMD PDU#3 containing the last segment (44 bytes) of RLC SDU#2 (SI field=10, SO=45). |
<– |
AMD PDU#3 (SN=1) |
– |
– |
4 |
The SS transmits AMD PDU#4 containing the first segment (45 bytes) of RLC SDU#2 (SI field=01). |
<– |
AMD PDU#4 (SN=1) |
– |
– |
5 |
The SS transmits AMD PDU#5 containing the first segment (45 bytes) of RLC SDU#1 (SI field =01). |
<– |
AMD PDU#5 (SN=0) |
– |
– |
6 |
The SS waits for 20 ms then SS transmits 2 uplink grants with a time spacing of 20 ms. (Note 1) |
<– |
UL Grants |
– |
– |
7 |
Check: Does the UE transmit an AMD PDU containing RLC SDU#1 in its data field? |
–> |
AMD PDU (RLC SDU#1) |
1,3 |
P |
8 |
Check: Does the UE transmit an AMD PDU containing RLC SDU#2 in its data field? |
–> |
AMD PDU (RLC SDU#2) |
1,3 |
P |
9 |
Void |
||||
9A |
110 ms after step 5 the SS starts the UL default grant transmission. |
<– |
UL Grant |
– |
– |
10 |
Wait for t-reassembly of UE side to expire. Check: Does the UE transmit an RLC STATUS PDU with NACK_SN=2 and ACK_SN=4 to correctly to inform SS of missing RLC SDU#3? |
–> |
STATUS PDU (ACK_SN=4, NACK_SN=2) |
2,7 |
P |
10A |
The SS stops the UL grant transmission. |
– |
– |
– |
– |
11 |
120 ms after step 10 the SS transmits AMD PDU#6 containing the first 45 bytes of SDU#3 in its data field. SO=0 and LSF=0. No header extension part is provided.(Note 5) |
<– |
AMD PDU#6 (SN=2) segment 1 |
– |
– |
11A |
20 ms after step 11 the SS transmits AMD PDU#6 containing the first 45 bytes of SDU#3 in its data field. SO=0 and LSF=0. No header extension part is provided. |
<– |
AMD PDU#6 (SN=2) segment 1 |
– |
– |
12 |
40 ms after step 11 the SS transmits AMD PDU#12 containing the last 44 bytes of SDU#3 in its data field, with the P-bit set. SO=45 and LSF=1. No header extension part is provided. |
<– |
AMD PDU#12 (SN=2, P=1) segment 2 |
– |
– |
13 |
After the expiry of t-StatusProhibit timer started at step 10, the SS assigns 1 UL grant (UL grant allocation type 3) of size 88 bits. (Note 2) |
<– |
UL Grant |
– |
– |
14 |
Check: Does the UE transmit a STATUS PDU with ACK_SN=4, thus acknowledging the reception of PDUs with SN=0 to SN=3, and no NACK_SN provided? |
–> |
STATUS PDU |
1,3,4 |
P |
14A |
The SS waits for 40 ms to ensure UE has all the required SDUs available and then assigns 2 UL grants of 768 bits (Note 1). |
<– |
UL Grant |
– |
– |
15 |
Check: Does the UE transmit RLC SDU#3? |
–> |
(RLC SDU#3) |
1,3,4 |
P |
15A |
Check: Does the UE transmit RLC SDU#4 with the P-bit set? |
–> |
(RLC SDU#4) |
1,3,4 |
P |
16 |
The SS transmits a STATUS PDU. |
<– |
STATUS PDU (ACK SN=4) |
– |
– |
17 |
The SS transmits AMD PDU#7 containing the last segment (44 bytes) of RLC SDU#5 (SI field=10, SO=45). |
<– |
AMD PDU#7 (SN=4) |
– |
– |
17A |
The SS starts the UL default grant transmission. |
<– |
UL Grant |
– |
– |
18 |
Wait for t-reassembly of UE side to expire. Check: Does the UE transmit an RLC STATUS PDU with ACK_SN=5, NACK_SN=4 with SOStart=0 and SOEnd=44? |
–> |
STATUS PDU (ACK_SN=5, NACK_SN=4 with SOStart=0 /SOEnd=44) |
2,5 |
P |
18A |
The SS stops the UL grant transmission. |
– |
– |
– |
– |
19 |
160 ms after step 18 The SS transmits AMD PDU#8 containing the first segment (45 bytes) of RLC SDU#5 (SI field=01). (Note 6) |
<– |
AMD PDU#8 (SN=4, P=1) |
– |
– |
20 |
Void |
||||
21 |
Void |
||||
21A |
After the expiry of t-StatusProhibit timer started at step 18, the SS assigns 1 UL grant (UL grant allocation type 3) of size 88 bits. (Note 2) |
<– |
UL Grant |
– |
– |
22 |
Check: Does the UE transmit an RLC STATUS PDU with ACK_SN=5? |
–> |
STATUS PDU (ACK_SN=5) |
1,3,5 |
P |
22A |
The SS waits for 100 ms then SS transmits one uplink grant. (Note 1) |
<– |
UL Grant |
– |
– |
22B |
Check: Does the UE transmit an AMD PDU containing RLC SDU#5 in its data field with the P-bit set? |
–> |
AMD PDU (RLC SDU#5) |
1,3,5 |
P |
22C |
The SS transmits a STATUS PDU |
<– |
STATUS PDU (ACK SN=5) |
||
23 |
The SS transmits AMD PDU#9 containing the last 29 bytes of RLC SDU#6 (SI field=10, SO=60). |
<– |
AMD PDU#9 (SN=5) |
– |
– |
23A |
The SS starts the UL default grant transmission. |
<– |
UL Grant |
– |
– |
24 |
Wait for t-reassembly of UE side to expire. Check: Does the UE transmit an RLC STATUS PDU with ACK_SN=6, NACK_SN=5 with SOStart=0 and SOEnd=59? |
–> |
STATUS PDU (ACK_SN=6, NACK_SN=5 with SOStart=0 / SOEnd=59) |
2,5 |
P |
25 |
The SS transmits AMD PDU#10 containing the last 49 byte of RLC SDU#6 (SI field=10, SO=40). |
<– |
AMD PDU#10 (SN=5) segment 2 |
– |
– |
25A |
Void. |
||||
26 |
Wait for t-reassembly of UE side to expire. Check: Does the UE transmit an RLC STATUS PDU with ACK_SN=6, NACK_SN=5 with SOStart=0 and SOEnd=39? |
–> |
STATUS PDU (ACK_SN=6, NACK_SN=5 with SOStart=0 / SOEnd=39) |
2,6 |
P |
26A |
The SS stops the UL grant transmission. |
– |
– |
– |
– |
27 |
160 ms after step 26 The SS transmits AMD PDU#11 containing the first 40 bytes of RLC SDU#6 (SI field =01). |
<– |
AMD PDU#11 (SN=5, P=1) segment 1 |
– |
– |
28 |
Void |
||||
29 |
Void |
||||
29A |
After the expiry of t-StatusProhibit timer started at step 26, the SS assigns 1 UL grant (UL grant allocation type 3) of size 88 bits. (Note 2, Note 7) |
<– |
UL Grant |
– |
– |
30 |
Check: Does the UE transmit an RLC STATUS PDU with ACK_SN=6, thus acknowledging the reception of RLC SDUs with SN=0 to SN=5, and no NACK_SN provided? |
–> |
STATUS PDU (ACK_SN=6) |
1,3,6 |
P |
30A |
The SS transmits one uplink grant. (Note 1) |
<– |
UL Grant |
– |
– |
30B |
Check: Does the UE transmit an AMD PDU containing RLC SDU#6 in its data field with the P-bit set? |
–> |
AMD PDU (RLC SDU#6) |
1,3,6 |
P |
31 |
The SS transmits a STATUS PDU. |
<– |
STATUS PDU (ACK SN=6) |
– |
– |
Note 1: UL grant of 768 bits(LRBs & IMCS as per 38.523-3[3] annex B) is chosen to allow the UE to transmit one PDU at a time( 89 bytes RLC SDU + 3 bytes RLC Header + 2 bytes MAC Sub PDU header + 2 bytes for short BSR or padding). Note 2: UL grant of 88 bits (LRBs & IMCS as per 38.523-3 [3] annex B) is chosen to allow the UE to transmit a Status Report with ACK_SN(3 byte) + 2 Bytes MAC PDU subheader and (2 Bytes short BSR). 4 Bytes additional space provided to confirm UE does include resp. does not include NACK_SN and conformant UE instead will include MAC Padding. Note 3: Void Note 4: The PDUs in steps 1-5 are scheduled with a 20 ms time spacing. The UL grant provision in step 6 is scheduled 20 ms later That way this step sequence takes less than t-Reassembly. Note 5: Timing difference between step 10 to step 14 is equal to t-statusProhibit timer. UE starts SR from step 12. 120 ms is chosen so that UE does not reach sr-transMax(n16) otherwise UE RACHes. Note 6: Timing difference between step 18 to step 22 is equal to t-statusProhibit timer. UE starts SR from step 19. 160 ms is chosen so that UE does not reach sr-transMax(n16) otherwise UE RACHes. Note 7: Timing difference between step 26 to step 30 is equal to t-statusProhibit timer. UE starts SR from step 27. 160 ms is chosen so that UE does not reach sr-transMax(n16) otherwise UE RACHes. |
7.1.2.3.9.3.3 Specific message contents
None.
7.1.2.3.10 AM RLC / Re-transmission of RLC PDU with and without re-segmentation
7.1.2.3.10.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state }
ensure that {
when { UE receives a STATUS PDU including a NACK_SN for missing AMD PDUs and missing AMD PDUs can be transmitted as indicated by lower layer at the particular transmission opportunity }
then { UE successfully retransmits missing AMD PDUs without re-segmentation }
}
(2)
with { UE in RRC_CONNECTED state }
ensure that {
when { NACK received for missing AMD PDUs and RETX_COUNT < maxRetxThreshold }
then { UE retransmits AMD PDUs }
}
(3)
with { UE in RRC_CONNECTED state }
ensure that {
when { AMD PDU to be retransmitted does not fit in new allocated TBS }
then { UE segments AMD PDU }
}
(4)
with { UE in RRC_CONNECTED state }
ensure that {
when { AMD PDU segment to be retransmitted does not fit in new allocated TBS }
then { UE re-segments AMD PDU segment to fit TBS }
}
7.1.2.3.10.2 Conformance requirements
References: The conformance requirements covered in the present test case are specified in: TS 38.322, clauses 5.3.2, 6.2.2.5, 6.2.3.3, 6.2.3.4, 6.2.3.5, 6.2.3.7, 6.2.3.10, 6.2.3.12, 6.2.3.14 and 6.2.3.15. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 5.3.2]
The transmitting side of an AM RLC entity can receive a negative acknowledgement (notification of reception failure by its peer AM RLC entity) for an RLC SDU or an RLC SDU segment by the following:
– STATUS PDU from its peer AM RLC entity.
When receiving a negative acknowledgement for an RLC SDU or an RLC SDU segment by a STATUS PDU from its peer AM RLC entity, the transmitting side of the AM RLC entity shall:
– if the SN of the corresponding RLC SDU falls within the range TX_Next_Ack <= SN < = the highest SN of the AMD PDU among the AMD PDUs submitted to lower layer:
– consider the RLC SDU or the RLC SDU segment for which a negative acknowledgement was received for retransmission.
When an RLC SDU or an RLC SDU segment is considered for retransmission, the transmitting side of the AM RLC entity shall:
– if the RLC SDU or RLC SDU segment is considered for retransmission for the first time:
– set the RETX_COUNT associated with the RLC SDU to zero.
– else, if it (the RLC SDU or the RLC SDU segment that is considered for retransmission) is not pending for retransmission already and the RETX_COUNT associated with the RLC SDU has not been incremented due to another negative acknowledgment in the same STATUS PDU:
– increment the RETX_COUNT.
– if RETX_COUNT = maxRetxThreshold:
– indicate to upper layers that max retransmission has been reached.
When retransmitting an RLC SDU or an RLC SDU segment, the transmitting side of an AM RLC entity shall:
– if needed, segment the RLC SDU or the RLC SDU segment;
– form a new AMD PDU which will fit within the total size of AMD PDU(s) indicated by lower layer at the particular transmission opportunity;
– submit the new AMD PDU to lower layer.
When forming a new AMD PDU, the transmitting side of an AM RLC entity shall:
– only map the original RLC SDU or RLC SDU segment to the Data field of the new AMD PDU;
– modify the header of the new AMD PDU in accordance with the description in sub clause 6.2.2.4;
– set the P field according to sub clause 5.3.3.
[TS 38.322, clause 6.2.2.4]
AMD PDU consists of a Data field and an AMD PDU header. The AMD PDU header is byte aligned.
An AM RLC entity is configured by RRC to use either a 12 bit SN or a 18 bit SN. The length of the AMD PDU header is two and three bytes respectively.
An AMD PDU header contains a D/C, a P, a SI, and a SN. An AMD PDU header contains the SO field only when the Data field consists of an RLC SDU segment which is not the first segment, in which case a 16 bit SO is present.
Figure 6.2.2.4-1: AMD PDU with 12 bit SN (No SO)
Figure 6.2.2.4-2: AMD PDU with 18 bit SN (No SO)
Figure 6.2.2.4-3: AMD PDU with 12 bit SN with SO
Figure 6.2.2.4-4: AMD PDU with 18 bit SN with SO
[TS 38.322, clause 6.2.2.5]
STATUS PDU consists of a STATUS PDU payload and an RLC control PDU header.
RLC control PDU header consists of a D/C and a CPT field.
The STATUS PDU payload starts from the first bit following the RLC control PDU header, and it consists of one ACK_SN and one E1, zero or more sets of a NACK_SN, an E1, an E2 and an E3, and possibly a pair of a SOstart and a SOend or a NACK range field for each NACK_SN.
Figure 6.2.2.5-1: STATUS PDU with 12 bit SN
Figure 6.2.2.5-2: STATUS PDU with 18 bit SN
[TS 38.322, clause 6.2.3.3]
Length: 12 bits or 18 bits (configurable) for AMD PDU. 6 bits or 12 bits (configurable) for UMD PDU.
The SN field indicates the sequence number of the corresponding RLC SDU. For RLC AM, the sequence number is incremented by one for every RLC SDU. For RLC UM, the sequence number is incremented by one for every segmented RLC SDU.
[TS 38.322, clause 6.2.3.4]
Length: 2 bits.
The SI field indicates whether an RLC PDU contains a complete RLC SDU or the first, middle, last segment of an RLC SDU.
Table 6.2.3.4-1: SI field interpretation
Value |
Description |
00 |
Data field contains all bytes of an RLC SDU |
01 |
Data field contains the first segment of an RLC SDU |
10 |
Data field contains the last segment of an RLC SDU |
11 |
Data field contains neither the first nor last segment of an RLC SDU |
[TS 38.322, clause 6.2.3.5]
Length: 16 bits
The SO field indicates the position of the RLC SDU segment in bytes within the original RLC SDU. Specifically, the SO field indicates the position within the original RLC SDU to which the first byte of the RLC SDU segment in the Data field corresponds. The first byte of the original RLC SDU is referred by the SO field value "0000000000000000", i.e., numbering starts at zero.
[TS 38.322, clause 6.2.3.7]
Length: 1 bit.
The P field indicates whether or not the transmitting side of an AM RLC entity requests a STATUS report from its peer AM RLC entity. The interpretation of the P field is provided in Table 6.2.3.7-1.
Table 6.2.3.7-1: P field interpretation
Value |
Description |
0 |
Status report not requested |
1 |
Status report is requested |
[TS 38.322, clause 6.2.3.10]
Length: 12 bits or 18 bits (configurable).
The ACK_SN field indicates the SN of the next not received RLC SDU which is not reported as missing in the STATUS PDU. When the transmitting side of an AM RLC entity receives a STATUS PDU, it interprets that all RLC SDUs up to but not including the RLC SDU with SN = ACK_SN have been received by its peer AM RLC entity, excluding those RLC SDUs indicated in the STATUS PDU with NACK_SN, portions of RLC SDUs indicated in the STATUS PDU with NACK_SN, SOstart and SOend, RLC SDUs indicated in the STATUS PDU with NACK_SN and NACK_range, and portions of RLC SDUs indicated in the STATUS PDU with NACK_SN, NACK range, SOstart and SOend.
[TS 38.322, clause 6.2.3.12]
Length: 12 bits or 18 bits (configurable).
The NACK_SN field indicates the SN of the RLC SDU (or RLC SDU segment) that has been detected as lost at the receiving side of the AM RLC entity.
[TS 38.322, clause 6.2.3.14]
Length: 16 bits.
The SOstart field (together with the SOend field) indicates the portion of the RLC SDU with SN = NACK_SN (the NACK_SN for which the SOstart is related to) that has been detected as lost at the receiving side of the AM RLC entity. Specifically, the SOstart field indicates the position of the first byte of the portion of the RLC SDU in bytes within the original RLC SDU. The first byte of the original RLC SDU is referred by the SOstart field value "0000000000000000", i.e., numbering starts at zero.
[TS 38.322, clause 6.2.3.15]
Length: 16 bits.
When E3 is 0, the SOend field (together with the SOstart field) indicates the portion of the RLC SDU with SN = NACK_SN (the NACK_SN for which the SOend is related to) that has been detected as lost at the receiving side of the AM RLC entity. Specifically, the SOend field indicates the position of the last byte of the portion of the RLC SDU in bytes within the original RLC SDU. The first byte of the original RLC SDU is referred by the SOend field value "0000000000000000", i.e., numbering starts at zero. The special SOend value "1111111111111111" is used to indicate that the missing portion of the RLC SDU includes all bytes to the last byte of the RLC SDU.
When E3 is 1, the SOend field indicates the portion of the RLC SDU with SN = NACK_SN + NACK range – 1 that has been detected as lost at the receiving side of the AM RLC entity. Specifically, the SOend field indicates the position of the last byte of the portion of the RLC SDU in bytes within the original RLC SDU. The first byte of the original RLC SDU is referred by the SOend field value "0000000000000000", i.e., numbering starts at zero. The special SOend value "1111111111111111" is used to indicate that the missing portion of the RLC SDU includes all bytes to the last byte of the RLC SDU.
7.1.2.3.10.3 Test description
7.1.2.3.10.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.1 with the exception for the AM DRB is configured according to Tables 7.1.2.3.10.3.1-1.
Table 7.1.2.3.10.3.1-1: RLC settings
Parameter |
Value |
t-PollRetransmit |
ms150 |
7.1.2.3.10.3.2 Test procedure sequence
Table 7.1.2.3.10.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
1 |
The SS transmits one AMD PDU containing SDU#1 (91 bytes) in its data field. |
<– |
AMD PDU#1 |
– |
– |
2 |
The UE transmits one AMD PDU containing SDU#1 in its data field. |
–> |
AMD PDU#1 (SN=0) |
– |
– |
3 |
The SS transmits one AMD PDU containing SDU#2 (91 bytes) in its data field. |
<– |
AMD PDU#2 |
– |
– |
4 |
The UE transmits one AMD PDU containing SDU#2 in its data field. |
–> |
AMD PDU#2 (SN=1) |
– |
– |
5 |
The SS transmits a RLC STATUS PDU. ACK_SN=2, NACK_SN=0. |
<– |
STATUS PDU |
– |
– |
6 |
Check: Does the UE transmit the AMD PDU not yet acknowledged? |
–> |
AMD PDU#1 (SN=0) |
1 |
P |
7 |
The SS transmits a RLC STATUS PDU. ACK_SN=2. |
<– |
STATUS PDU |
– |
– |
8 |
The SS transmits one AMD PDU containing SDU#3 (91 bytes) in its data field. |
<– |
AMD PDU#3 |
– |
– |
9 |
The UE transmits an AMD PDU containing SDU#3 in its data field. |
–> |
AMD PDU#3 (SN=2) |
– |
– |
– |
EXCEPTION: Steps 10 to 11 shall be repeated until RETX_COUNT= maxRetxThreshold-1. |
– |
– |
– |
– |
10 |
The SS transmits a RLC STATUS PDU. ACK_SN=3 and NACK_SN=2. |
<– |
STATUS PDU |
– |
– |
11 |
Check: Does the UE retransmit the AMD PDU not yet acknowledged? |
–> |
AMD PDU#3 (SN=2) |
2 |
P |
12 |
The SS transmits a RLC STATUS PDU. ACK_SN=3. |
<– |
STATUS PDU |
– |
– |
13 |
The SS stops the UL grant transmission. |
– |
– |
– |
– |
14 |
The SS transmits one AMD PDU containing SDU#4 (91 bytes) in its data field. |
<– |
AMD PDU#4 (SN=3) |
– |
– |
15 |
The SS waits for 60 ms and allocates one UL grant of size 808 bits. (Note 1) |
<– |
(UL grant, 808 bits) |
– |
– |
16 |
The UE transmits an AMD PDU with the same data contents as received in the corresponding part of SDU#4? |
–> |
AMD PDU#4 (SN=3) |
– |
– |
17 |
The SS transmits a STATUS PDU. This PDU nacks the AMD PDU with SN=3. ACK_SN=4 and NACK_SN=3. |
<– |
STATUS PDU |
– |
– |
18 |
The SS waits for 100 ms and then allocates 1 UL grant of size 408 bits (Note 2) |
<– |
(UL grant, 408 bits) |
– |
– |
18A |
The SS waits for 20 ms and then allocates 1 UL grant of size 456 bits (Note 5) |
<– |
(UL grant, 456 bits) |
– |
– |
19 |
Check: Does the UE transmit an SDU segment with SI=01 and SOEnd=43 and the same data contents at the received positions as in the original SDU#4? |
–> |
SDU#4 segment 1 (SN=3) |
3 |
P |
20 |
Check: Does the UE transmit an SDU segment with SI=10 and SOStart=44 and the same data contents at the received positions as in the original SDU#4? |
–> |
SDU#4 segment 2 (SN=3) |
3 |
P |
21 |
After 100 ms SS transmits a STATUS PDU. This PDU nacks the SDU with SN=3. NACK_SN=3, SOStart=0, SOEnd=43 and ACK_SN=4. |
<– |
STATUS PDU |
– |
– |
22 |
The SS waits for 100 ms and then allocates 2 UL grants (UL grant allocation type 2) at an interval of 20 ms of size 240 bits (Note 3, Note 6) |
<– |
(UL grant, 240 bits) |
– |
– |
22A |
Void |
– |
– |
||
23 |
Check: Does the UE transmit an AMD PDU segment with SI=01 and SOEnd=22 and the same data contents at the received positions as in the original SDU#4? |
–> |
SDU#4 segment 1, first part (SN=3) |
4 |
P |
24 |
Check: Does the UE transmit an AMD PDU segment with SI=11, SOStart=23 and the same data contents at the received positions as in the original SDU#4? |
–> |
SDU#4 segment 1, second part (SN=3) |
4 |
P |
25 |
The SS transmits a STATUS PDU. This PDU acks the AMD PDUs with SN=3. ACK_SN=4. |
<– |
STATUS PDU |
– |
– |
Note 1: UL grant of 808 bits=101 bytes (LRBs & IMCS as per 38.523-3[3] annex B) is chosen to allow the UE to transmit one PDU and 2 bytes short BSR + 3 bytes padding or 5 bytes padding at a time. Note 2: UL grant of 408 bits (LRBs & IMCS as per 38.523-3[3] annex B) is chosen such that UE will segment into 2 AMD PDUs. MAC PDU of 408 bits=51 bytes fit an AMD PDU payload of 44 bytes + 3 bytes for the first segment of the AMD PDU header + 2 bytes for MAC header + 2 bytes of MAC BSR CE. Note 3: UL grant of 240 bits (LRBs & IMCS as per 38.523-3[3] annex B) is chosen such that UE will segment into 2 AMD PDUs. MAC PDU of 240 bits=30 bytes fit an AMD PDU payload of = 23 bytes + 3 bytes for the first segment of the AMD PDU header + 2 bytes for MAC header + 2 bytes for MAC BSR CE. Note 4: Void. Note 5: UL grant of 456 bits (LRBs & IMCS as per 38.523-3[3] annex B) is chosen such that UE will segment into 2 AMD PDUs. MAC PDU of 456 bits=57 bytes fit an AMD PDU payload of 46 bytes + 5 bytes for the first segment of the AMD PDU header + 2 bytes for MAC header +2 bytes for possible short BSR or padding Note 6: UL grant of 240 bits (LRBs & IMCS as per 38.523-3[3] annex B) is chosen such that UE will segment into 2 AMD PDUs. MAC PDU of 240 bits=28 bytes fit an AMD PDU payload of 21 bytes + 3 bytes for the first segment of the AMD PDU header + 2 bytes for MAC header +2 bytes for possible short BSR or padding |
7.1.2.3.10.3.3 Specific message contents
None.
7.1.2.3.11 AM RLC / RLC re-establishment procedure
7.1.2.3.11.1 Test Purpose (TP)
(1)
with { UE in RRC_CONNECTED state }
ensure that {
when { RLC re-establishment is performed upon request by RRC }
then { The UE discards all RLC SDUs, RLC SDU segments, and RLC PDUs, if any }
}
(2)
with { UE in RRC_CONNECTED state }
ensure that {
when { RLC re-establishment is performed upon request by RRC }
then { The UE resets all state variables to their initial values }
}
7.1.2.3.11.2 Conformance requirements
References:
The conformance requirements covered in the present test case are specified in: TS 38.322, clauses 5.1.2, 7.1 and TS 38.331 clause 5.3.11. Unless otherwise stated these are Rel-15 requirements.
[TS 38.322, clause 5.1.2]
When upper layers request an RLC entity re-establishment, the UE shall:
– discard all RLC SDUs, RLC SDU segments, and RLC PDUs, if any;
– stop and reset all timers;
– reset all state variables to their initial values.
[TS 38.322, clause 7.1]
This sub clause describes the state variables used in AM and UM entities in order to specify the RLC protocol. The state variables defined in this subclause are normative.
All state variables and all counters are non-negative integers.
All state variables related to AM data transfer can take values from 0 to 4095 for 12 bit SN or from 0 to 262143 for 18 bit SN. All arithmetic operations contained in the present document on state variables related to AM data transfer are affected by the AM modulus (i.e. final value = [value from arithmetic operation] modulo 4096 for 12 bit SN and 262144 for 18 bit SN).
All state variables related to UM data transfer can take values from 0 to 63 for 6 bit SN or from 0 to 4095 for 12 bit SN. All arithmetic operations contained in the present document on state variables related to UM data transfer are affected by the UM modulus (i.e. final value = [value from arithmetic operation] modulo 64 for 6 bit SN and 4096 for 12 bit SN).
When performing arithmetic comparisons of state variables or SN values, a modulus base shall be used.
TX_Next_Ack and RX_Next shall be assumed as the modulus base at the transmitting side and receiving side of an AM RLC entity, respectively. This modulus base is subtracted from all the values involved, and then an absolute comparison is performed (e.g. RX_Next <= SN < RX_Next + AM_Window_Size is evaluated as [RX_Next – RX_Next] modulo 2[sn-FieldLength] <= [SN – RX_Next] modulo 2[sn-FieldLength] < [RX_Next + AM_Window_Size – RX_Next] modulo 2[sn-FieldLength]), where sn-FieldLength is 12 or 18 for 12 bit SN and 18 bit SN, respectively.
RX_Next_Highest– UM_Window_Size shall be assumed as the modulus base at the receiving side of an UM RLC entity. This modulus base is subtracted from all the values involved, and then an absolute comparison is performed (e.g. (RX_Next_Highest– UM_Window_Size) <= SN < RX_Next_Highest is evaluated as [(RX_Next_Highest– UM_Window_Size) – (RX_Next_Highest– UM_Window_Size)] modulo 2[sn-FieldLength] <= [SN – (RX_Next_Highest– UM_Window_Size)] modulo 2[sn-FieldLength] < [RX_Next_Highest– (RX_Next_Highest– UM_Window_Size)] modulo 2[sn-FieldLength]), where sn-FieldLength is 6 or 12 for 6 bit SN and 12 bit SN, respectively.
The transmitting side of each AM RLC entity shall maintain the following state variables:
a) TX_Next_Ack – Acknowledgement state variable
This state variable holds the value of the SN of the next RLC SDU for which a positive acknowledgment is to be received in-sequence, and it serves as the lower edge of the transmitting window. It is initially set to 0, and is updated whenever the AM RLC entity receives a positive acknowledgment for an RLC SDU with SN = TX_Next_Ack.
b) TX_Next – Send state variable
This state variable holds the value of the SN to be assigned for the next newly generated AMD PDU. It is initially set to 0, and is updated whenever the AM RLC entity constructs an AMD PDU with SN = TX_Next and contains an RLC SDU or the last segment of a RLC SDU.
c) POLL_SN – Poll send state variable
This state variable holds the value of the highest SN of the AMD PDU among the AMD PDUs submitted to lower layer when POLL_SN is set according to sub clause 5.3.3.2. It is initially set to 0.
The transmitting side of each AM RLC entity shall maintain the following counters:
a) PDU_WITHOUT_POLL – Counter
This counter is initially set to 0. It counts the number of AMD PDUs sent since the most recent poll bit was transmitted.
b) BYTE_WITHOUT_POLL – Counter
This counter is initially set to 0. It counts the number of data bytes sent since the most recent poll bit was transmitted.
c) RETX_COUNT – Counter
This counter counts the number of retransmissions of an RLC SDU or RLC SDU segment (see subclause 5.3.2). There is one RETX_COUNT counter maintained per RLC SDU.
The receiving side of each AM RLC entity shall maintain the following state variables:
a) RX_Next – Receive state variable
This state variable holds the value of the SN following the last in-sequence completely received RLC SDU, and it serves as the lower edge of the receiving window. It is initially set to 0, and is updated whenever the AM RLC entity receives an RLC SDU with SN = RX_Next.
b) RX_Next_Status_Trigger – t-Reassembly state variable
This state variable holds the value of the SN following the SN of the RLC SDU which triggered t-Reassembly.
c) RX_Highest_Status – Maximum STATUS transmit state variable
This state variable holds the highest possible value of the SN which can be indicated by "ACK_SN" when a STATUS PDU needs to be constructed. It is initially set to 0.
d) RX_Next_Highest – Highest received state variable
This state variable holds the value of the SN following the SN of the RLC SDU with the highest SN among received RLC SDUs. It is initially set to 0.
Each transmitting UM RLC entity shall maintain the following state variables:
a) TX_Next
This state variable holds the value of the SN to be assigned for the next newly generated UMD PDU with segment. It is initially set to 0, and is updated after the UM RLC entity submits a UMD PDU including the last segment of an RLC SDU to lower layers.
Each receiving UM RLC entity shall maintain the following state variables and constant:
b) RX_Next_Reassembly – UM receive state variable
This state variable holds the value of the earliest SN that is still considered for reassembly. It is initially set to 0.
c) RX_Timer_Trigger – UM t-Reassembly state variable
This state variable holds the value of the SN following the SN which triggered t-Reassembly.
d) RX_Next_Highest– UM receive state variable
This state variable holds the value of the SN following the SN of the UMD PDU with the highest SN among received UMD PDUs. It serves as the higher edge of the reassembly window. It is initially set to 0.
[TS 38.331, clause 5.3.11]
UE shall:
1> reset MAC;
1> if T302 is running:
2> stop timer T302;
2> perform the actions as specified in 5.3.14.4;
1> stop all timers that are running except T320 and T325;
1> discard the UE Inactive AS context;
1> set the variable pendingRnaUpdate to false, if that is set to true;
1> discard the KgNB, the KRRCenc key, the KRRCint, the KUPint key and the KUPenc key, if any;
1> release all radio resources, including release of the RLC entity, the MAC configuration and the associated PDCP entity and SDAP for all established RBs;
1> indicate the release of the RRC connection to upper layers together with the release cause;
1> enter RRC_IDLE and perform cell selection as specified in TS 38.304 [20], except if going to RRC_IDLE was triggered by selecting an inter-RAT cell while T311 was running;
1> if going to RRC_IDLE was triggered by reception of the RRCRelease message including a waitTime:
2> start timer T302 with the value set to the waitTime;
2> inform the upper layer that access barring is applicable for all access categories except categories ‘0’ and ‘2’.
7.1.2.3.11.3 Test description
7.1.2.3.11.3.1 Pre-test conditions
Same Pre-test conditions as in clause 7.1.2.1.1 with the exception for the AM DRB is configured according to Table 7.1.2.3.11.3.1-1.
Table 7.1.2.3.11.3.1-1: RLC parameters
Parameter |
Value |
t-Reassembly |
ms200 |
t-PollRetransmit |
ms4000 |
Table 7.1.2.3.11.3.1-2: PDCP parameters
Parameter |
Value |
t-Reordering |
ms160 |
statusReportRequired |
Not present |
7.1.2.3.11.3.2 Test procedure sequence
Table 7.1.2.3.11.3.2-1: Main behaviour
St |
Procedure |
Message Sequence |
TP |
Verdict |
|
U – S |
Message |
||||
– |
The SS ignores scheduling requests and does not allocate any uplink grant. |
– |
– |
– |
– |
1 |
The SS creates 2 RLC SDUs of size 40 bytes segmented into two AMD PDUs each. AMD PDU#1 and AMD PDU#2 belong to RLC SDU#1, AMD PDU#3 and #4 belong to RLC SDU#2. SS transmits AMD PDU#1 (SN=0), AMD PDU#2 (SN=0) and AMD PDU#4 (SN=1). |
<– |
AMD PDU#1 AMD PDU#2 AMD PDU#4 |
– |
– |
2 |
60 ms after sending PDU#1 in step 1 the SS allocates 1 UL grant of default size. |
<– |
(UL grant) |
– |
– |
3 |
The UE returns RLC SDU#1. |
–> |
(RLC SDU#1) |
– |
– |
4 |
The SS does not acknowledge the reception of RLC SDU#1. |
– |
– |
– |
– |
5 |
The SS transmits NR RRCReconfiguration message to trigger RLC re-establishment on DRB using Reconfig with sync procedure. (Note 1) (Note 4) (Note 6) (Note 7) |
<– |
RRCReconfiguration |
– |
– |
6 |
The SS starts the UL default grant transmissions |
– |
– |
– |
– |
– |
EXCEPTION: Steps 7 and 8 can occur in any order. (Note 8) |
– |
– |
– |
– |
7 |
The UE transmits a NR RRCReconfigurationComplete message. (Note 5) |
–> |
RRCReconfigurationComplete |
– |
– |
8 |
The UE retransmits RLC SDU #1 (SN=0). (Note 2) |
–> |
(RLC SDU#1) |
– |
– |
9 |
SS transmits a STATUS PDU (ACK_SN = 1). |
<– |
STATUS PDU |
– |
– |
10 |
SS transmits AMD PDU#3 with SN=0 and the P field set to "1" |
<– |
AMD PDU#3 |
– |
– |
11 |
Void |
||||
12 |
Check: For 1 second, does the UE return RLC SDU#2 (Note 3) |
–> |
(RLC SDU#2) |
1 |
F |
13 |
SS transmits AMD PDU#4 with SN=0 |
<– |
AMD PDU#4 |
– |
– |
13A |
UE transmits a STATUS PDU (ACK_SN=1) (Note 9) |
–> |
STATUS PDU |
– |
– |
14 |
Check: Does the UE return RLC SDU#2 with SN=1? (Note 9) |
–> |
(RLC SDU#2) |
2 |
P |
15 |
SS transmits a STATUS PDU (ACK_SN = 2) |
<– |
STATUS PDU |
– |
– |
Note 1: Upon a RLC re-establishment a conformant UE discards any remaining AMD PDUs in the receiver and transmitter side, stops and resets all timers and resets all state variables to their initial values. Note 2: The UE will retransmit the PDCP SDU associated with RLC SDU#1 in accordance to TS 38.323 clause 5.5 Note 3: AMD PDU#4 is discarded by a conformant UE in step 5. Note 4: For EN-DC the NR RRCReconfiguration message is contained in RRCConnectionReconfiguration 36.508 [7], Table 4.6.1-8 using condition EN-DC_EmbedNR_RRCRecon, EN-DC_PSCell_HO and RBConfig_NoKeyChange. Note 5: For EN-DC the NR RRCReconfigurationComplete message is contained in RRCConnectionReconfigurationComplete. Note 6: For NR, the RRCReconfiguration message is as per RRCReconfiguration-HO with condition RBConfig_NoKeyChange according to 38.508-1 [4], Table 4.8.1-1A. Note 7: The expiry of t-Reassembly timer started in step 1 will trigger STATUS PDU from the UE. This starts SR. The RRC reconfiguration is scheduled 300 ms in advance. sr-transMax is therefore set to n32 so that the UE does not reach sr-transMax and then RACHes before reconfiguring. Note 8: 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 9 RLC PDUs at steps 13A and 14 may be received by the SS in the same slot or in multiple slots (max one MAC PDU in a slot). |
7.1.2.3.11.3.3 Specific message contents
Table 7.1.2.3.11.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 |
n32 |
7.1.2.3.11.3.2-1 Note 7 |
Table 7.1.2.3.11.3.3-1: RRCReconfiguration-HO (step 5, Table 7.1.2.3.11.3.3-1)
Derivation Path: 38.508-1 [4], Table 4.8.1-1A with condition RBConfig_NoKeyChange |
Table 7.1.2.3.11.3.3-2: Void