Merge remote-tracking branch 'origin/issue_1063' into integration_2026_w16 (!4039)
Verify consistency of CSI report in L2 instead of RRC Closes #1063
This commit is contained in:
@@ -155,6 +155,13 @@ void process_msg_rcc_to_mac(nr_mac_rrc_message_t *msg, int instance_id)
|
||||
}
|
||||
}
|
||||
|
||||
void nr_mac_rrc_verification_failed(const module_id_t mod_id)
|
||||
{
|
||||
MessageDef *message_p = itti_alloc_new_message(TASK_MAC_UE, 0, NR_RRC_MAC_VERIFY);
|
||||
NR_RRC_MAC_VERIFY (message_p).L2_RRC_verification_failed = true;
|
||||
itti_send_msg_to_task(TASK_RRC_NRUE, GNB_MODULE_ID_TO_INSTANCE(mod_id), message_p);
|
||||
}
|
||||
|
||||
void nr_mac_rrc_inactivity_timer_ind(const module_id_t mod_id)
|
||||
{
|
||||
MessageDef *message_p = itti_alloc_new_message(TASK_MAC_UE, 0, NR_RRC_MAC_INAC_IND);
|
||||
|
||||
@@ -30,5 +30,6 @@ void nr_mac_rrc_msg3_ind(const module_id_t mod_id, const int rnti, bool prepare_
|
||||
void nr_ue_rrc_timer_trigger(int instance, int hfn, int frame, int gnb_id);
|
||||
void nr_mac_rrc_ra_ind(const module_id_t mod_id, bool success);
|
||||
void process_msg_rcc_to_mac(nr_mac_rrc_message_t *msg, int instance_id);
|
||||
void nr_mac_rrc_verification_failed(const module_id_t mod_id);
|
||||
#endif
|
||||
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
#include "rrc_defs.h"
|
||||
#include "rrc_proto.h"
|
||||
#include "verify_RRC.h"
|
||||
#include "L2_interface_ue.h"
|
||||
#include "LAYER2/NR_MAC_UE/mac_proto.h"
|
||||
|
||||
@@ -3115,6 +3116,11 @@ void *rrc_nrue(void *notUsed)
|
||||
}
|
||||
break;
|
||||
|
||||
case NR_RRC_MAC_VERIFY:
|
||||
LOG_W(NR_RRC, "L2 verification of RRC consistency failed\n");
|
||||
handle_rlf_detection(rrc);
|
||||
break;
|
||||
|
||||
case NR_RRC_MAC_INAC_IND:
|
||||
LOG_D(NR_RRC, "Received data inactivity indication from lower layers\n");
|
||||
NR_Release_Cause_t release_cause = RRC_CONNECTION_FAILURE;
|
||||
|
||||
@@ -72,7 +72,6 @@ void nr_rrc_ue_decode_NR_SBCCH_SL_BCH_Message(NR_UE_RRC_INST_t *rrc,
|
||||
const uint16_t rx_slss_id);
|
||||
|
||||
void nr_rrc_set_mac_queue(instance_t instance, notifiedFIFO_t *mac_input_nf);
|
||||
bool check_cellgroup_config(const NR_CellGroupConfig_t *cgConfig);
|
||||
/** @}*/
|
||||
#endif
|
||||
|
||||
|
||||
@@ -188,7 +188,7 @@ static bool check_csi_resourceMapping_consistency(NR_CSI_RS_ResourceMapping_t re
|
||||
return true;
|
||||
}
|
||||
|
||||
static bool check_csi_report_consistency(const NR_CSI_MeasConfig_t *meas)
|
||||
bool check_csi_report_consistency(const NR_CSI_MeasConfig_t *meas)
|
||||
{
|
||||
if (!meas || !meas->csi_ReportConfigToAddModList)
|
||||
return true;
|
||||
@@ -223,8 +223,6 @@ static bool check_csi_resource_consistency(const NR_CSI_MeasConfig_t *meas)
|
||||
static bool check_csi_MeasConfig(struct NR_SetupRelease_CSI_MeasConfig *csi_MeasConfig)
|
||||
{
|
||||
const NR_CSI_MeasConfig_t *meas = csi_MeasConfig->choice.setup;
|
||||
if (!check_csi_report_consistency(meas))
|
||||
return false;
|
||||
if (!check_csi_resource_consistency(meas))
|
||||
return false;
|
||||
return true;
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
/*
|
||||
* SPDX-License-Identifier: LicenseRef-CSSL-1.0
|
||||
*/
|
||||
|
||||
/*
|
||||
* \brief RRC functions prototypes for eNB and UE
|
||||
*/
|
||||
|
||||
#ifndef _VERIFY_RRC_H_
|
||||
#define _VERIFY_RRC_H_
|
||||
|
||||
#include "NR_MeasConfig.h"
|
||||
|
||||
bool check_csi_report_consistency(const NR_CSI_MeasConfig_t *meas);
|
||||
bool check_cellgroup_config(const NR_CellGroupConfig_t *cgConfig);
|
||||
#endif
|
||||
Reference in New Issue
Block a user