ARQ procedure is performed by RCL AM entity
For ARQ procedure, we need to concentrate on 3 topics:
1. Retransmission
2. Polling
3. Status Reporting
1. Retransmission:
1. The Tx side of AM RLC entity can receive NACK for an AMD PDU or a portion of AMD PDU in the STATUS PDU from its peer AM RLC entity.
2. Once Tx side receives a NACK, if the SN is between the Tx window, if it is a 1st time re-transmission set RETX_COUNT = 0 and re-transmit the AMD PDU.
If it is not the first time, then increment the count of RETX_COUNT.
If the RETX_COUNT = maxRetxThreshold, indicate to upper layer.
3. While retransmitting, if the AMD PDU entirely fit within the total size of RLC PDU as indicated by lower layer, then update P-bit otherwise segmentation is done before delivering to lower layer.
4. while retransmitting a portion of an AMD PDU, the Tx RLC entity shall, the data field is copied but RLC header us updated according to new segment and P-bit is also updated accordingly.
2. Polling
Polling is raised to trigger STATUS reporting.
1. The Tx side of AM RLC entity, upon transmission of AMD PDU, update PDU_WITHOUT_POLL, BYTE_WITHOUT_POLL.
2. If PDU_WITHOUT_POLL >= pollPDU or BYTE_WITHOUT_POLL >= pollByte, then poll bit is inserted. Then reset the PDU_WITHOUT_POLL, BYTE_WITHOUT_POLL.
3. Poll bit is also included if both the transmission buffer and retransmission buffer becomes empty or if no new RLC data PDU can be transmitted.
4. After delivering a RLC data PDU including a poll to lower layer, update POLL_SN = VT(S) – 1 and start/restart t-PollRetransmit.
5. Upon reception of STATUS report from the receiving RLC AM entity, the transmitting side of AM RLC entity shall, stop and reset the t-PollRetransmit timer.
3. Status Reporting
An AM RLC entity sends STATUS PDU to its peer AM RLC in order to provide positive/negative ACK.
RRC configured whether or not the status prohibit function is to be used for an AM RLC entity.
Status Reporting is triggered by:
1. Polling from peer AM entity
2. AMD DPU with p-bit = 1
Once STATUS_REPORT is sent, AM Rx entity sets the status prohibit.