Cleanup rrc_gNB_modify_dedicatedRRCReconfiguration: pass UE context directly
This commit is contained in:
@@ -567,16 +567,10 @@ static void rrc_gNB_generate_dedicatedRRCReconfiguration(gNB_RRC_INST *rrc, gNB_
|
|||||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DCCH, buffer, size);
|
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DCCH, buffer, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
void rrc_gNB_modify_dedicatedRRCReconfiguration(gNB_RRC_INST *rrc, gNB_RRC_UE_t *ue_p)
|
||||||
void
|
|
||||||
rrc_gNB_modify_dedicatedRRCReconfiguration(
|
|
||||||
const protocol_ctxt_t *const ctxt_pP,
|
|
||||||
rrc_gNB_ue_context_t *ue_context_pP)
|
|
||||||
//-----------------------------------------------------------------------------
|
|
||||||
{
|
{
|
||||||
gNB_RRC_UE_t *ue_p = &ue_context_pP->ue_context;
|
|
||||||
int qos_flow_index = 0;
|
int qos_flow_index = 0;
|
||||||
uint8_t xid = rrc_gNB_get_next_transaction_identifier(ctxt_pP->module_id);
|
uint8_t xid = rrc_gNB_get_next_transaction_identifier(rrc->module_id);
|
||||||
ue_p->xids[xid] = RRC_PDUSESSION_MODIFY;
|
ue_p->xids[xid] = RRC_PDUSESSION_MODIFY;
|
||||||
|
|
||||||
struct NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList *dedicatedNAS_MessageList =
|
struct NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList *dedicatedNAS_MessageList =
|
||||||
@@ -678,18 +672,7 @@ rrc_gNB_modify_dedicatedRRCReconfiguration(
|
|||||||
for (int i = 0; i < ue_p->nb_of_pdusessions; i++)
|
for (int i = 0; i < ue_p->nb_of_pdusessions; i++)
|
||||||
clear_nas_pdu(&ue_p->pduSession[i].param.nas_pdu);
|
clear_nas_pdu(&ue_p->pduSession[i].param.nas_pdu);
|
||||||
|
|
||||||
LOG_I(NR_RRC, "[gNB %d] Frame %d, Logical Channel DL-DCCH, Generate RRCReconfiguration (bytes %d, UE RNTI %x)\n", ctxt_pP->module_id, ctxt_pP->frame, size, ue_p->rnti);
|
LOG_I(NR_RRC, "UE %d: Generate RRCReconfiguration (bytes %d)\n", ue_p->rrc_ue_id, size);
|
||||||
LOG_D(NR_RRC,
|
|
||||||
"[FRAME %05d][RRC_gNB][MOD %u][][--- PDCP_DATA_REQ/%d Bytes (rrcReconfiguration to UE %x MUI %d) --->][PDCP][MOD %u][RB %u]\n",
|
|
||||||
ctxt_pP->frame,
|
|
||||||
ctxt_pP->module_id,
|
|
||||||
size,
|
|
||||||
ue_p->rnti,
|
|
||||||
rrc_gNB_mui,
|
|
||||||
ctxt_pP->module_id,
|
|
||||||
DCCH);
|
|
||||||
|
|
||||||
gNB_RRC_INST *rrc = RC.nrrrc[ctxt_pP->module_id];
|
|
||||||
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DCCH, buffer, size);
|
nr_rrc_transfer_protected_rrc_message(rrc, ue_p, DCCH, buffer, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -879,18 +879,16 @@ int rrc_gNB_process_NGAP_PDUSESSION_MODIFY_REQ(MessageDef *msg_p, instance_t ins
|
|||||||
{
|
{
|
||||||
rrc_gNB_ue_context_t *ue_context_p = NULL;
|
rrc_gNB_ue_context_t *ue_context_p = NULL;
|
||||||
|
|
||||||
protocol_ctxt_t ctxt;
|
|
||||||
ngap_pdusession_modify_req_t *req = &NGAP_PDUSESSION_MODIFY_REQ(msg_p);
|
ngap_pdusession_modify_req_t *req = &NGAP_PDUSESSION_MODIFY_REQ(msg_p);
|
||||||
|
|
||||||
ue_context_p = rrc_gNB_get_ue_context(RC.nrrrc[instance], req->gNB_ue_ngap_id);
|
gNB_RRC_INST *rrc = RC.nrrrc[instance];
|
||||||
|
ue_context_p = rrc_gNB_get_ue_context(rrc, req->gNB_ue_ngap_id);
|
||||||
if (ue_context_p == NULL) {
|
if (ue_context_p == NULL) {
|
||||||
LOG_W(NR_RRC, "[gNB %ld] In NGAP_PDUSESSION_MODIFY_REQ: unknown UE from NGAP ids (%u)\n", instance, req->gNB_ue_ngap_id);
|
LOG_W(NR_RRC, "[gNB %ld] In NGAP_PDUSESSION_MODIFY_REQ: unknown UE from NGAP ids (%u)\n", instance, req->gNB_ue_ngap_id);
|
||||||
// TO implement return setup failed
|
// TO implement return setup failed
|
||||||
return (-1);
|
return (-1);
|
||||||
}
|
}
|
||||||
gNB_RRC_UE_t *UE = &ue_context_p->ue_context;
|
gNB_RRC_UE_t *UE = &ue_context_p->ue_context;
|
||||||
PROTOCOL_CTXT_SET_BY_INSTANCE(&ctxt, instance, GNB_FLAG_YES, UE->rrc_ue_id, 0, 0);
|
|
||||||
ctxt.eNB_index = 0;
|
|
||||||
bool all_failed = true;
|
bool all_failed = true;
|
||||||
for (int i = 0; i < req->nb_pdusessions_tomodify; i++) {
|
for (int i = 0; i < req->nb_pdusessions_tomodify; i++) {
|
||||||
rrc_pdu_session_param_t *sess;
|
rrc_pdu_session_param_t *sess;
|
||||||
@@ -925,8 +923,7 @@ int rrc_gNB_process_NGAP_PDUSESSION_MODIFY_REQ(MessageDef *msg_p, instance_t ins
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!all_failed) {
|
if (!all_failed) {
|
||||||
LOG_D(NR_RRC, "generate RRCReconfiguration \n");
|
rrc_gNB_modify_dedicatedRRCReconfiguration(rrc, UE);
|
||||||
rrc_gNB_modify_dedicatedRRCReconfiguration(&ctxt, ue_context_p);
|
|
||||||
} else {
|
} else {
|
||||||
LOG_I(NR_RRC,
|
LOG_I(NR_RRC,
|
||||||
"pdu session modify failed, fill NGAP_PDUSESSION_MODIFY_RESP with the pdu session information that failed to modify \n");
|
"pdu session modify failed, fill NGAP_PDUSESSION_MODIFY_RESP with the pdu session information that failed to modify \n");
|
||||||
|
|||||||
@@ -58,11 +58,7 @@ int rrc_gNB_process_NGAP_PDUSESSION_MODIFY_REQ(MessageDef *msg_p, instance_t ins
|
|||||||
|
|
||||||
int rrc_gNB_send_NGAP_PDUSESSION_MODIFY_RESP(gNB_RRC_INST *rrc, gNB_RRC_UE_t *UE, uint8_t xid);
|
int rrc_gNB_send_NGAP_PDUSESSION_MODIFY_RESP(gNB_RRC_INST *rrc, gNB_RRC_UE_t *UE, uint8_t xid);
|
||||||
|
|
||||||
void
|
void rrc_gNB_modify_dedicatedRRCReconfiguration(gNB_RRC_INST *rrc, gNB_RRC_UE_t *ue_p);
|
||||||
rrc_gNB_modify_dedicatedRRCReconfiguration(
|
|
||||||
const protocol_ctxt_t *const ctxt_pP,
|
|
||||||
rrc_gNB_ue_context_t *ue_context_pP
|
|
||||||
);
|
|
||||||
|
|
||||||
void rrc_gNB_send_NGAP_UE_CONTEXT_RELEASE_REQ(const module_id_t gnb_mod_idP, const rrc_gNB_ue_context_t *const ue_context_pP, const ngap_Cause_t causeP, const long cause_valueP);
|
void rrc_gNB_send_NGAP_UE_CONTEXT_RELEASE_REQ(const module_id_t gnb_mod_idP, const rrc_gNB_ue_context_t *const ue_context_pP, const ngap_Cause_t causeP, const long cause_valueP);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user