This commit allows IP traffic to work for 2 UEs in NSA mode

The nr_rrc_ue_process_RadioBearerConfig() function
call in the RRC layer of the NRUE was removed when
it should not have been for NSA mode. This is now
added back in for NSA mode. Also, the call to
pdcp_run should only be when were NOT in NOS1 mode
and ARE in SA mode. This was fixed as well.

Ue-to-Ue IP traffic in NSA works, but eventually
the NSA UE will crash due to an incorrect PDCCH
configuration. This is a bug we will need to look
into. It doesnt always crash, only about 40% of
the time. And even when the NRUE does crash, it
happens towards the end of the simulation.
This commit is contained in:
Melissa Elkadi
2021-11-18 11:45:47 -08:00
parent 16d82de9cf
commit 6f69e836a8
2 changed files with 14 additions and 2 deletions
+1 -1
View File
@@ -492,7 +492,7 @@ static void *NRUE_phy_stub_standalone_pnf_task(void *arg)
nr_ue_ul_indication(&ul_info);
check_nr_prach(mac, &ul_info, &prach_resources);
}
if(IS_SOFTMODEM_NOS1 && get_softmodem_params()->sa) {
if (!IS_SOFTMODEM_NOS1 && get_softmodem_params()->sa) {
NR_UE_MAC_INST_t *mac = get_mac_inst(0);
protocol_ctxt_t ctxt;
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, 0, ENB_FLAG_NO, mac->crnti, frame, slot, 0);
+13 -1
View File
@@ -397,7 +397,19 @@ void process_nsa_message(NR_UE_RRC_INST_t *rrc, nsa_message_t nsa_message_type,
SEQUENCE_free( &asn_DEF_NR_RadioBearerConfig, RadioBearerConfig, 1 );
return;
}
if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
if (get_softmodem_params()->nsa) {
protocol_ctxt_t ctxt;
NR_UE_MAC_INST_t *mac = get_mac_inst(module_id);
PROTOCOL_CTXT_SET_BY_MODULE_ID(&ctxt, module_id, ENB_FLAG_YES, mac->crnti, 0, 0, 0);
xer_fprint(stdout, &asn_DEF_NR_RadioBearerConfig, (const void*)RadioBearerConfig);
LOG_D(NR_RRC, "Calling fill_default_rbconfig_ue at %d with: e_rab_id = %ld, drbID = %ld, cipher_algo = %ld, key = %ld \n",
__LINE__, RadioBearerConfig->drb_ToAddModList->list.array[0]->cnAssociation->choice.eps_BearerIdentity,
RadioBearerConfig->drb_ToAddModList->list.array[0]->drb_Identity,
RadioBearerConfig->securityConfig->securityAlgorithmConfig->cipheringAlgorithm,
*RadioBearerConfig->securityConfig->keyToUse);
nr_rrc_ue_process_RadioBearerConfig(&ctxt, 0, RadioBearerConfig);
}
else if ( LOG_DEBUGFLAG(DEBUG_ASN1) ) {
xer_fprint(stdout, &asn_DEF_NR_RadioBearerConfig, (const void *) RadioBearerConfig);
}
}