Merge remote-tracking branch 'origin/hotfix-uint8_t-size' into integration_2024_w21c
This commit is contained in:
@@ -157,7 +157,8 @@ extern RAN_CONTEXT_t RC;
|
||||
* This is a helper function for xer_sprint, which directs all incoming data
|
||||
* into the provided string.
|
||||
*/
|
||||
static int xer__nr_print2s (const void *buffer, size_t size, void *app_key) {
|
||||
static int xer__nr_print2s(const void *buffer, size_t size, void *app_key)
|
||||
{
|
||||
xer_sprint_string_t *string_buffer = (xer_sprint_string_t *) app_key;
|
||||
size_t string_remaining = string_buffer->string_size - string_buffer->string_index;
|
||||
|
||||
@@ -173,7 +174,8 @@ static int xer__nr_print2s (const void *buffer, size_t size, void *app_key) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
int xer_nr_sprint (char *string, size_t string_size, asn_TYPE_descriptor_t *td, void *sptr) {
|
||||
int xer_nr_sprint(char *string, size_t string_size, asn_TYPE_descriptor_t *td, void *sptr)
|
||||
{
|
||||
asn_enc_rval_t er;
|
||||
xer_sprint_string_t string_buffer;
|
||||
string_buffer.string = string;
|
||||
@@ -196,7 +198,7 @@ int xer_nr_sprint (char *string, size_t string_size, asn_TYPE_descriptor_t *td,
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
uint8_t do_SIB23_NR(rrc_gNB_carrier_data_t *carrier)
|
||||
int do_SIB23_NR(rrc_gNB_carrier_data_t *carrier)
|
||||
{
|
||||
asn_enc_rval_t enc_rval;
|
||||
SystemInformation_IEs__sib_TypeAndInfo__Member *sib2 = NULL;
|
||||
@@ -516,13 +518,12 @@ int do_RRCSetup(rrc_gNB_ue_context_t *const ue_context_pP,
|
||||
return ((enc_rval.encoded + 7) / 8);
|
||||
}
|
||||
|
||||
uint8_t do_NR_SecurityModeCommand(
|
||||
int do_NR_SecurityModeCommand(
|
||||
const protocol_ctxt_t *const ctxt_pP,
|
||||
uint8_t *const buffer,
|
||||
const uint8_t Transaction_id,
|
||||
const uint8_t cipheringAlgorithm,
|
||||
NR_IntegrityProtAlgorithm_t integrityProtAlgorithm
|
||||
)
|
||||
NR_IntegrityProtAlgorithm_t integrityProtAlgorithm)
|
||||
//------------------------------------------------------------------------------
|
||||
{
|
||||
NR_DL_DCCH_Message_t dl_dcch_msg={0};
|
||||
@@ -562,9 +563,9 @@ uint8_t do_NR_SecurityModeCommand(
|
||||
|
||||
/*TODO*/
|
||||
//------------------------------------------------------------------------------
|
||||
uint8_t do_NR_SA_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP,
|
||||
uint8_t *const buffer,
|
||||
const uint8_t Transaction_id)
|
||||
int do_NR_SA_UECapabilityEnquiry(const protocol_ctxt_t *const ctxt_pP,
|
||||
uint8_t *const buffer,
|
||||
const uint8_t Transaction_id)
|
||||
//------------------------------------------------------------------------------
|
||||
{
|
||||
NR_UE_CapabilityRequestFilterNR_t *sa_band_filter;
|
||||
@@ -663,17 +664,17 @@ int do_NR_RRCRelease(uint8_t *buffer, size_t buffer_size, uint8_t Transaction_id
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
int16_t do_RRCReconfiguration(const gNB_RRC_UE_t *UE,
|
||||
uint8_t *buffer,
|
||||
size_t buffer_size,
|
||||
uint8_t Transaction_id,
|
||||
NR_SRB_ToAddModList_t *SRB_configList,
|
||||
NR_DRB_ToAddModList_t *DRB_configList,
|
||||
NR_DRB_ToReleaseList_t *DRB_releaseList,
|
||||
NR_SecurityConfig_t *security_config,
|
||||
NR_MeasConfig_t *meas_config,
|
||||
struct NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList *dedicatedNAS_MessageList,
|
||||
NR_CellGroupConfig_t *cellGroupConfig)
|
||||
int do_RRCReconfiguration(const gNB_RRC_UE_t *UE,
|
||||
uint8_t *buffer,
|
||||
size_t buffer_size,
|
||||
uint8_t Transaction_id,
|
||||
NR_SRB_ToAddModList_t *SRB_configList,
|
||||
NR_DRB_ToAddModList_t *DRB_configList,
|
||||
NR_DRB_ToReleaseList_t *DRB_releaseList,
|
||||
NR_SecurityConfig_t *security_config,
|
||||
NR_MeasConfig_t *meas_config,
|
||||
struct NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList *dedicatedNAS_MessageList,
|
||||
NR_CellGroupConfig_t *cellGroupConfig)
|
||||
//------------------------------------------------------------------------------
|
||||
{
|
||||
NR_DL_DCCH_Message_t dl_dcch_msg={0};
|
||||
@@ -816,12 +817,10 @@ int do_RRCSetupRequest(uint8_t *buffer, size_t buffer_size, uint8_t *rv)
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
uint8_t
|
||||
do_NR_RRCReconfigurationComplete_for_nsa(
|
||||
int do_NR_RRCReconfigurationComplete_for_nsa(
|
||||
uint8_t *buffer,
|
||||
size_t buffer_size,
|
||||
NR_RRC_TransactionIdentifier_t Transaction_id
|
||||
)
|
||||
NR_RRC_TransactionIdentifier_t Transaction_id)
|
||||
//------------------------------------------------------------------------------
|
||||
{
|
||||
NR_RRCReconfigurationComplete_t rrc_complete_msg;
|
||||
@@ -849,7 +848,7 @@ do_NR_RRCReconfigurationComplete_for_nsa(
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------
|
||||
uint8_t do_NR_RRCReconfigurationComplete(uint8_t *buffer, size_t buffer_size, const uint8_t Transaction_id)
|
||||
int do_NR_RRCReconfigurationComplete(uint8_t *buffer, size_t buffer_size, const uint8_t Transaction_id)
|
||||
//------------------------------------------------------------------------------
|
||||
{
|
||||
NR_UL_DCCH_Message_t ul_dcch_msg = {0};
|
||||
@@ -874,12 +873,12 @@ uint8_t do_NR_RRCReconfigurationComplete(uint8_t *buffer, size_t buffer_size, co
|
||||
return((enc_rval.encoded+7)/8);
|
||||
}
|
||||
|
||||
uint8_t do_RRCSetupComplete(uint8_t *buffer,
|
||||
size_t buffer_size,
|
||||
const uint8_t Transaction_id,
|
||||
uint8_t sel_plmn_id,
|
||||
const int dedicatedInfoNASLength,
|
||||
const char *dedicatedInfoNAS)
|
||||
int do_RRCSetupComplete(uint8_t *buffer,
|
||||
size_t buffer_size,
|
||||
const uint8_t Transaction_id,
|
||||
uint8_t sel_plmn_id,
|
||||
const int dedicatedInfoNASLength,
|
||||
const char *dedicatedInfoNAS)
|
||||
{
|
||||
NR_UL_DCCH_Message_t ul_dcch_msg = {0};
|
||||
ul_dcch_msg.message.present = NR_UL_DCCH_MessageType_PR_c1;
|
||||
@@ -914,11 +913,11 @@ uint8_t do_RRCSetupComplete(uint8_t *buffer,
|
||||
return((enc_rval.encoded+7)/8);
|
||||
}
|
||||
|
||||
uint8_t do_NR_DLInformationTransfer(uint8_t *buffer,
|
||||
size_t buffer_len,
|
||||
uint8_t transaction_id,
|
||||
uint32_t pdu_length,
|
||||
uint8_t *pdu_buffer)
|
||||
int do_NR_DLInformationTransfer(uint8_t *buffer,
|
||||
size_t buffer_len,
|
||||
uint8_t transaction_id,
|
||||
uint32_t pdu_length,
|
||||
uint8_t *pdu_buffer)
|
||||
{
|
||||
NR_DL_DCCH_Message_t dl_dcch_msg = {0};
|
||||
dl_dcch_msg.message.present = NR_DL_DCCH_MessageType_PR_c1;
|
||||
@@ -944,7 +943,8 @@ uint8_t do_NR_DLInformationTransfer(uint8_t *buffer,
|
||||
return (r.encoded + 7) / 8;
|
||||
}
|
||||
|
||||
uint8_t do_NR_ULInformationTransfer(uint8_t **buffer, uint32_t pdu_length, uint8_t *pdu_buffer) {
|
||||
int do_NR_ULInformationTransfer(uint8_t **buffer, uint32_t pdu_length, uint8_t *pdu_buffer)
|
||||
{
|
||||
ssize_t encoded;
|
||||
NR_UL_DCCH_Message_t ul_dcch_msg;
|
||||
memset(&ul_dcch_msg, 0, sizeof(NR_UL_DCCH_Message_t));
|
||||
@@ -967,10 +967,10 @@ uint8_t do_NR_ULInformationTransfer(uint8_t **buffer, uint32_t pdu_length, uint8
|
||||
return encoded;
|
||||
}
|
||||
|
||||
uint8_t do_RRCReestablishmentRequest(uint8_t *buffer,
|
||||
NR_ReestablishmentCause_t cause,
|
||||
uint32_t cell_id,
|
||||
uint16_t c_rnti)
|
||||
int do_RRCReestablishmentRequest(uint8_t *buffer,
|
||||
NR_ReestablishmentCause_t cause,
|
||||
uint32_t cell_id,
|
||||
uint16_t c_rnti)
|
||||
{
|
||||
asn_enc_rval_t enc_rval;
|
||||
NR_UL_CCCH_Message_t ul_ccch_msg;
|
||||
@@ -1182,7 +1182,7 @@ void free_defaultMeasConfig(NR_MeasConfig_t *mc)
|
||||
ASN_STRUCT_FREE(asn_DEF_NR_MeasConfig, mc);
|
||||
}
|
||||
|
||||
uint8_t do_NR_Paging(uint8_t Mod_id, uint8_t *buffer, uint32_t tmsi)
|
||||
int do_NR_Paging(uint8_t Mod_id, uint8_t *buffer, uint32_t tmsi)
|
||||
{
|
||||
LOG_D(NR_RRC, "[gNB %d] do_NR_Paging start\n", Mod_id);
|
||||
NR_PCCH_Message_t pcch_msg;
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
*/
|
||||
int xer_sprint_NR(char *string, size_t string_size, struct asn_TYPE_descriptor_s *td, void *sptr);
|
||||
|
||||
uint8_t do_SIB23_NR(rrc_gNB_carrier_data_t *carrier);
|
||||
int do_SIB23_NR(rrc_gNB_carrier_data_t *carrier);
|
||||
|
||||
int do_RRCReject(uint8_t *const buffer);
|
||||
|
||||
@@ -81,58 +81,58 @@ int do_RRCSetup(rrc_gNB_ue_context_t *const ue_context_pP,
|
||||
const gNB_RrcConfigurationReq *configuration,
|
||||
NR_SRB_ToAddModList_t *SRBs);
|
||||
|
||||
uint8_t do_NR_SecurityModeCommand(
|
||||
int do_NR_SecurityModeCommand(
|
||||
const protocol_ctxt_t *const ctxt_pP,
|
||||
uint8_t *const buffer,
|
||||
const uint8_t Transaction_id,
|
||||
const uint8_t cipheringAlgorithm,
|
||||
NR_IntegrityProtAlgorithm_t integrityProtAlgorithm);
|
||||
|
||||
uint8_t do_NR_SA_UECapabilityEnquiry( const protocol_ctxt_t *const ctxt_pP,
|
||||
uint8_t *const buffer,
|
||||
const uint8_t Transaction_id);
|
||||
int do_NR_SA_UECapabilityEnquiry(const protocol_ctxt_t *const ctxt_pP,
|
||||
uint8_t *const buffer,
|
||||
const uint8_t Transaction_id);
|
||||
|
||||
int do_NR_RRCRelease(uint8_t *buffer, size_t buffer_size, uint8_t Transaction_id);
|
||||
|
||||
int16_t do_RRCReconfiguration(const gNB_RRC_UE_t *UE,
|
||||
uint8_t *buffer,
|
||||
size_t buffer_size,
|
||||
uint8_t Transaction_id,
|
||||
NR_SRB_ToAddModList_t *SRB_configList,
|
||||
NR_DRB_ToAddModList_t *DRB_configList,
|
||||
NR_DRB_ToReleaseList_t *DRB_releaseList,
|
||||
NR_SecurityConfig_t *security_config,
|
||||
NR_MeasConfig_t *meas_config,
|
||||
struct NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList *dedicatedNAS_MessageList,
|
||||
NR_CellGroupConfig_t *cellGroupConfig);
|
||||
int do_RRCReconfiguration(const gNB_RRC_UE_t *UE,
|
||||
uint8_t *buffer,
|
||||
size_t buffer_size,
|
||||
uint8_t Transaction_id,
|
||||
NR_SRB_ToAddModList_t *SRB_configList,
|
||||
NR_DRB_ToAddModList_t *DRB_configList,
|
||||
NR_DRB_ToReleaseList_t *DRB_releaseList,
|
||||
NR_SecurityConfig_t *security_config,
|
||||
NR_MeasConfig_t *meas_config,
|
||||
struct NR_RRCReconfiguration_v1530_IEs__dedicatedNAS_MessageList *dedicatedNAS_MessageList,
|
||||
NR_CellGroupConfig_t *cellGroupConfig);
|
||||
|
||||
uint8_t do_RRCSetupComplete(uint8_t *buffer,
|
||||
size_t buffer_size,
|
||||
const uint8_t Transaction_id,
|
||||
uint8_t sel_plmn_id,
|
||||
const int dedicatedInfoNASLength,
|
||||
const char *dedicatedInfoNAS);
|
||||
int do_RRCSetupComplete(uint8_t *buffer,
|
||||
size_t buffer_size,
|
||||
const uint8_t Transaction_id,
|
||||
uint8_t sel_plmn_id,
|
||||
const int dedicatedInfoNASLength,
|
||||
const char *dedicatedInfoNAS);
|
||||
|
||||
int do_RRCSetupRequest(uint8_t *buffer, size_t buffer_size, uint8_t *rv);
|
||||
|
||||
uint8_t do_NR_RRCReconfigurationComplete_for_nsa(uint8_t *buffer, size_t buffer_size, NR_RRC_TransactionIdentifier_t Transaction_id);
|
||||
int do_NR_RRCReconfigurationComplete_for_nsa(uint8_t *buffer, size_t buffer_size, NR_RRC_TransactionIdentifier_t Transaction_id);
|
||||
|
||||
uint8_t do_NR_RRCReconfigurationComplete(uint8_t *buffer, size_t buffer_size, const uint8_t Transaction_id);
|
||||
int do_NR_RRCReconfigurationComplete(uint8_t *buffer, size_t buffer_size, const uint8_t Transaction_id);
|
||||
|
||||
uint8_t do_NR_DLInformationTransfer(uint8_t *buffer,
|
||||
size_t buffer_len,
|
||||
uint8_t transaction_id,
|
||||
uint32_t pdu_length,
|
||||
uint8_t *pdu_buffer);
|
||||
int do_NR_DLInformationTransfer(uint8_t *buffer,
|
||||
size_t buffer_len,
|
||||
uint8_t transaction_id,
|
||||
uint32_t pdu_length,
|
||||
uint8_t *pdu_buffer);
|
||||
|
||||
uint8_t do_NR_ULInformationTransfer(uint8_t **buffer,
|
||||
uint32_t pdu_length,
|
||||
uint8_t *pdu_buffer);
|
||||
int do_NR_ULInformationTransfer(uint8_t **buffer,
|
||||
uint32_t pdu_length,
|
||||
uint8_t *pdu_buffer);
|
||||
|
||||
uint8_t do_RRCReestablishmentRequest(uint8_t *buffer,
|
||||
NR_ReestablishmentCause_t cause,
|
||||
uint32_t cell_id,
|
||||
uint16_t c_rnti);
|
||||
int do_RRCReestablishmentRequest(uint8_t *buffer,
|
||||
NR_ReestablishmentCause_t cause,
|
||||
uint32_t cell_id,
|
||||
uint16_t c_rnti);
|
||||
|
||||
int do_RRCReestablishment(rrc_gNB_ue_context_t *const ue_context_pP,
|
||||
uint8_t *const buffer,
|
||||
@@ -145,6 +145,6 @@ int do_RRCReestablishmentComplete(uint8_t *buffer, size_t buffer_size, int64_t r
|
||||
|
||||
NR_MeasConfig_t *get_defaultMeasConfig(const NR_MeasTiming_t *mt, int band, int scs);
|
||||
void free_defaultMeasConfig(NR_MeasConfig_t *mc);
|
||||
uint8_t do_NR_Paging(uint8_t Mod_id, uint8_t *buffer, uint32_t tmsi);
|
||||
int do_NR_Paging(uint8_t Mod_id, uint8_t *buffer, uint32_t tmsi);
|
||||
|
||||
#endif /* __RRC_NR_MESSAGES_ASN1_MSG__H__ */
|
||||
|
||||
@@ -301,7 +301,7 @@ typedef struct gNB_RRC_UE_s {
|
||||
ngap_security_capabilities_t security_capabilities;
|
||||
//NSA block
|
||||
/* Number of NSA e_rab */
|
||||
uint8_t nb_of_e_rabs;
|
||||
int nb_of_e_rabs;
|
||||
/* list of pdu session to be setup by RRC layers */
|
||||
nr_e_rab_param_t e_rab[NB_RB_MAX];//[S1AP_MAX_E_RAB];
|
||||
uint32_t nsa_gtp_teid[S1AP_MAX_E_RAB];
|
||||
@@ -339,7 +339,7 @@ typedef struct rrc_gNB_ue_context_s {
|
||||
typedef struct {
|
||||
|
||||
uint8_t *SIB23;
|
||||
uint8_t sizeof_SIB23;
|
||||
int sizeof_SIB23;
|
||||
|
||||
} rrc_gNB_carrier_data_t;
|
||||
//---------------------------------------------------
|
||||
|
||||
@@ -2366,7 +2366,6 @@ void rrc_gNB_generate_SecurityModeCommand(const protocol_ctxt_t *const ctxt_pP,
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
uint8_t buffer[100];
|
||||
uint8_t size;
|
||||
gNB_RRC_UE_t *ue_p = &ue_context_pP->ue_context;
|
||||
AssertFatal(!ue_p->as_security_active, "logic error: security already active\n");
|
||||
|
||||
@@ -2376,11 +2375,11 @@ void rrc_gNB_generate_SecurityModeCommand(const protocol_ctxt_t *const ctxt_pP,
|
||||
T_INT(ctxt_pP->subframe),
|
||||
T_INT(ctxt_pP->rntiMaybeUEid));
|
||||
NR_IntegrityProtAlgorithm_t integrity_algorithm = (NR_IntegrityProtAlgorithm_t)ue_p->integrity_algorithm;
|
||||
size = do_NR_SecurityModeCommand(ctxt_pP,
|
||||
buffer,
|
||||
rrc_gNB_get_next_transaction_identifier(ctxt_pP->module_id),
|
||||
ue_p->ciphering_algorithm,
|
||||
integrity_algorithm);
|
||||
int size = do_NR_SecurityModeCommand(ctxt_pP,
|
||||
buffer,
|
||||
rrc_gNB_get_next_transaction_identifier(ctxt_pP->module_id),
|
||||
ue_p->ciphering_algorithm,
|
||||
integrity_algorithm);
|
||||
LOG_DUMPMSG(NR_RRC, DEBUG_RRC, (char *)buffer, size, "[MSG] RRC Security Mode Command\n");
|
||||
LOG_I(NR_RRC, "UE %u Logical Channel DL-DCCH, Generate SecurityModeCommand (bytes %d)\n", ue_p->rrc_ue_id, size);
|
||||
|
||||
@@ -2395,14 +2394,13 @@ rrc_gNB_generate_UECapabilityEnquiry(
|
||||
)
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
uint8_t buffer[100];
|
||||
uint8_t size;
|
||||
uint8_t buffer[100];
|
||||
|
||||
T(T_ENB_RRC_UE_CAPABILITY_ENQUIRY, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame), T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rntiMaybeUEid));
|
||||
gNB_RRC_UE_t *ue = &ue_context_pP->ue_context;
|
||||
uint8_t xid = rrc_gNB_get_next_transaction_identifier(ctxt_pP->module_id);
|
||||
ue->xids[xid] = RRC_UECAPABILITY_ENQUIRY;
|
||||
size = do_NR_SA_UECapabilityEnquiry(ctxt_pP, buffer, xid);
|
||||
int size = do_NR_SA_UECapabilityEnquiry(ctxt_pP, buffer, xid);
|
||||
LOG_I(NR_RRC, "UE %d: Logical Channel DL-DCCH, Generate NR UECapabilityEnquiry (bytes %d, xid %d)\n", ue->rrc_ue_id, size, xid);
|
||||
|
||||
gNB_RRC_INST *rrc = RC.nrrrc[ctxt_pP->module_id];
|
||||
@@ -2470,7 +2468,6 @@ int rrc_gNB_generate_pcch_msg(sctp_assoc_t assoc_id, const NR_SIB1_t *sib1, uint
|
||||
uint32_t N; /* N: min(T,nB). total count of PF in one DRX cycle */
|
||||
uint32_t Ns = 0; /* Ns: max(1,nB/T) */
|
||||
uint32_t T; /* DRX cycle */
|
||||
uint32_t length;
|
||||
uint8_t buffer[RRC_BUF_SIZE];
|
||||
|
||||
/* get default DRX cycle from configuration */
|
||||
@@ -2535,9 +2532,7 @@ int rrc_gNB_generate_pcch_msg(sctp_assoc_t assoc_id, const NR_SIB1_t *sib1, uint
|
||||
(void) pfoffset; /* not used, suppress warning */
|
||||
|
||||
/* Create message for PDCP (DLInformationTransfer_t) */
|
||||
length = do_NR_Paging (instance,
|
||||
buffer,
|
||||
tmsi);
|
||||
int length = do_NR_Paging(instance, buffer, tmsi);
|
||||
|
||||
if (length == -1) {
|
||||
LOG_I(NR_RRC, "do_Paging error\n");
|
||||
|
||||
Reference in New Issue
Block a user