Add some comments on the code and update documentation
This commit is contained in:
+4
-2
@@ -307,8 +307,10 @@ The following features are valid for the gNB and the 5G-NR UE.
|
|||||||
- MAC <-> PHY data interface using FAPI P7 interface for BCH PDU, DCI PDU, PDSCH PDU
|
- MAC <-> PHY data interface using FAPI P7 interface for BCH PDU, DCI PDU, PDSCH PDU
|
||||||
- Scheduler procedures for SIB1
|
- Scheduler procedures for SIB1
|
||||||
- Scheduler procedures for RA
|
- Scheduler procedures for RA
|
||||||
- Contention free RA procedure
|
- Contention Free RA procedure
|
||||||
- Contention based RA procedure
|
- Contention Based RA procedure
|
||||||
|
- Msg3 can transfer uplink CCCH, DTCH or DCCH messages
|
||||||
|
- CBRA can be performed using MAC CE or C-RNTI
|
||||||
- Scheduler procedures for CSI-RS
|
- Scheduler procedures for CSI-RS
|
||||||
- MAC downlink scheduler
|
- MAC downlink scheduler
|
||||||
- phy-test scheduler (fixed allocation and usable also without UE)
|
- phy-test scheduler (fixed allocation and usable also without UE)
|
||||||
|
|||||||
@@ -824,13 +824,17 @@ void nr_rx_sdu(const module_id_t gnb_mod_idP,
|
|||||||
ra->Msg4_slot = 1;
|
ra->Msg4_slot = 1;
|
||||||
|
|
||||||
if (ra->msg3_dcch_dtch) {
|
if (ra->msg3_dcch_dtch) {
|
||||||
// Check if the C-RNTI still exists in the network
|
// Check if the UE identified by C-RNTI still exists at the gNB
|
||||||
int UE_id_C = find_nr_UE_id(gnb_mod_idP, ra->crnti);
|
int UE_id_C = find_nr_UE_id(gnb_mod_idP, ra->crnti);
|
||||||
if (UE_id_C < 0) {
|
if (UE_id_C < 0) {
|
||||||
|
// The UE identified by C-RNTI no longer exists at the gNB
|
||||||
|
// Let's abort the current RA, so the UE will trigger a new RA later but using RRCSetupRequest instead. A better solution may be implemented
|
||||||
mac_remove_nr_ue(gnb_mod_idP, ra->rnti);
|
mac_remove_nr_ue(gnb_mod_idP, ra->rnti);
|
||||||
nr_clear_ra_proc(gnb_mod_idP, CC_idP, frameP, ra);
|
nr_clear_ra_proc(gnb_mod_idP, CC_idP, frameP, ra);
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
|
// The UE identified by C-RNTI still exists at the gNB
|
||||||
|
// Reset uplink failure flags/counters/timers at MAC and at RRC so gNB will resume again scheduling resources for this UE
|
||||||
UE_info->UE_sched_ctrl[UE_id_C].pusch_consecutive_dtx_cnt = 0;
|
UE_info->UE_sched_ctrl[UE_id_C].pusch_consecutive_dtx_cnt = 0;
|
||||||
UE_info->UE_sched_ctrl[UE_id_C].ul_failure = 0;
|
UE_info->UE_sched_ctrl[UE_id_C].ul_failure = 0;
|
||||||
nr_mac_gNB_rrc_ul_failure_reset(gnb_mod_idP, frameP, slotP, ra->crnti);
|
nr_mac_gNB_rrc_ul_failure_reset(gnb_mod_idP, frameP, slotP, ra->crnti);
|
||||||
|
|||||||
Reference in New Issue
Block a user