Commit 08511b82 authored by Xue Song's avatar Xue Song

fix some warnings

modify some issues
add f1ap ue context procedure
parent ec29831e
...@@ -33,4 +33,5 @@ MESSAGE_DEF(RRC_DCCH_DATA_IND, MESSAGE_PRIORITY_MED_PLUS, RrcDcchDataIn ...@@ -33,4 +33,5 @@ MESSAGE_DEF(RRC_DCCH_DATA_IND, MESSAGE_PRIORITY_MED_PLUS, RrcDcchDataIn
MESSAGE_DEF(RRC_PCCH_DATA_REQ, MESSAGE_PRIORITY_MED_PLUS, RrcPcchDataReq, rrc_pcch_data_req) MESSAGE_DEF(RRC_PCCH_DATA_REQ, MESSAGE_PRIORITY_MED_PLUS, RrcPcchDataReq, rrc_pcch_data_req)
// gNB // gNB
MESSAGE_DEF(NR_RRC_DCCH_DATA_REQ, MESSAGE_PRIORITY_MED_PLUS, NRRrcDcchDataReq, nr_rrc_dcch_data_req)
MESSAGE_DEF(NR_RRC_DCCH_DATA_IND, MESSAGE_PRIORITY_MED_PLUS, NRRrcDcchDataInd, nr_rrc_dcch_data_ind) MESSAGE_DEF(NR_RRC_DCCH_DATA_IND, MESSAGE_PRIORITY_MED_PLUS, NRRrcDcchDataInd, nr_rrc_dcch_data_ind)
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
#define RRC_PCCH_DATA_REQ(mSGpTR) (mSGpTR)->ittiMsg.rrc_pcch_data_req #define RRC_PCCH_DATA_REQ(mSGpTR) (mSGpTR)->ittiMsg.rrc_pcch_data_req
// gNB // gNB
#define NR_RRC_DCCH_DATA_REQ(mSGpTR) (mSGpTR)->ittiMsg.nr_rrc_dcch_data_req
#define NR_RRC_DCCH_DATA_IND(mSGpTR) (mSGpTR)->ittiMsg.nr_rrc_dcch_data_ind #define NR_RRC_DCCH_DATA_IND(mSGpTR) (mSGpTR)->ittiMsg.nr_rrc_dcch_data_ind
//-------------------------------------------------------------------------------------------// //-------------------------------------------------------------------------------------------//
...@@ -64,6 +65,20 @@ typedef struct RrcDcchDataInd_s { ...@@ -64,6 +65,20 @@ typedef struct RrcDcchDataInd_s {
uint8_t eNB_index; // LG: needed in UE uint8_t eNB_index; // LG: needed in UE
} RrcDcchDataInd; } RrcDcchDataInd;
typedef struct NRRrcDcchDataReq_s {
uint32_t frame;
uint8_t gnb_flag;
rb_id_t rb_id;
uint32_t muip;
uint32_t confirmp;
uint32_t sdu_size;
uint8_t *sdu_p;
uint8_t mode;
uint16_t rnti;
uint8_t module_id;
uint8_t gNB_index;
} NRRrcDcchDataReq;
typedef struct NRRrcDcchDataInd_s { typedef struct NRRrcDcchDataInd_s {
uint32_t frame; uint32_t frame;
uint8_t dcch_index; uint8_t dcch_index;
......
...@@ -729,15 +729,13 @@ int CU_send_UE_CONTEXT_SETUP_REQUEST(instance_t instance, ...@@ -729,15 +729,13 @@ int CU_send_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
/* OPTIONAL */ /* OPTIONAL */
/* RRCContainer */ /* RRCContainer */
if (0) {
ie = (F1AP_UEContextSetupRequestIEs_t *)calloc(1, sizeof(F1AP_UEContextSetupRequestIEs_t)); ie = (F1AP_UEContextSetupRequestIEs_t *)calloc(1, sizeof(F1AP_UEContextSetupRequestIEs_t));
ie->id = F1AP_ProtocolIE_ID_id_RRCContainer; ie->id = F1AP_ProtocolIE_ID_id_RRCContainer;
ie->criticality = F1AP_Criticality_reject; ie->criticality = F1AP_Criticality_reject;
ie->value.present = F1AP_UEContextSetupRequestIEs__value_PR_RRCContainer; ie->value.present = F1AP_UEContextSetupRequestIEs__value_PR_RRCContainer;
OCTET_STRING_fromBuf(&ie->value.choice.RRCContainer, "asdsa1d32sa1d31asd31as", OCTET_STRING_fromBuf(&ie->value.choice.RRCContainer, (const char*)f1ap_ue_context_setup_req->rrc_container,
strlen("asdsa1d32sa1d31asd31as")); f1ap_ue_context_setup_req->rrc_container_length);
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie); ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
}
/* OPTIONAL */ /* OPTIONAL */
/* MaskedIMEISV */ /* MaskedIMEISV */
...@@ -763,7 +761,42 @@ int CU_handle_UE_CONTEXT_SETUP_RESPONSE(instance_t instance, ...@@ -763,7 +761,42 @@ int CU_handle_UE_CONTEXT_SETUP_RESPONSE(instance_t instance,
uint32_t assoc_id, uint32_t assoc_id,
uint32_t stream, uint32_t stream,
F1AP_F1AP_PDU_t *pdu) { F1AP_F1AP_PDU_t *pdu) {
AssertFatal(1==0,"Not implemented yet\n"); F1AP_UEContextSetupResponse_t *container;
F1AP_UEContextSetupResponseIEs_t *ie;
DevAssert(pdu);
container = &pdu->choice.successfulOutcome->value.choice.UEContextSetupResponse;
/* GNB_CU_UE_F1AP_ID */
F1AP_FIND_PROTOCOLIE_BY_ID(F1AP_UEContextSetupResponseIEs_t, ie, container,
F1AP_ProtocolIE_ID_id_gNB_CU_UE_F1AP_ID, true);
/* GNB_DU_UE_F1AP_ID */
F1AP_FIND_PROTOCOLIE_BY_ID(F1AP_UEContextSetupResponseIEs_t, ie, container,
F1AP_ProtocolIE_ID_id_gNB_DU_UE_F1AP_ID, true);
/* DUtoCURRCInformation */
F1AP_FIND_PROTOCOLIE_BY_ID(F1AP_UEContextSetupResponseIEs_t, ie, container,
F1AP_ProtocolIE_ID_id_DUtoCURRCInformation, true);
/* DRBs_Setup_List */
F1AP_FIND_PROTOCOLIE_BY_ID(F1AP_UEContextSetupResponseIEs_t, ie, container,
F1AP_ProtocolIE_ID_id_DRBs_Setup_List, true);
/* SRBs_FailedToBeSetup_List */
F1AP_FIND_PROTOCOLIE_BY_ID(F1AP_UEContextSetupResponseIEs_t, ie, container,
F1AP_ProtocolIE_ID_id_SRBs_FailedToBeSetup_List, true);
/* DRBs_FailedToBeSetup_List */
F1AP_FIND_PROTOCOLIE_BY_ID(F1AP_UEContextSetupResponseIEs_t, ie, container,
F1AP_ProtocolIE_ID_id_DRBs_FailedToBeSetup_List, true);
/* SCell_FailedtoSetup_List */
F1AP_FIND_PROTOCOLIE_BY_ID(F1AP_UEContextSetupResponseIEs_t, ie, container,
F1AP_ProtocolIE_ID_id_SCell_FailedtoSetup_List, true);
return 0;
} }
int CU_handle_UE_CONTEXT_SETUP_FAILURE(instance_t instance, int CU_handle_UE_CONTEXT_SETUP_FAILURE(instance_t instance,
......
...@@ -1242,19 +1242,19 @@ int DU_handle_DL_NR_RRC_MESSAGE_TRANSFER(instance_t instance, ...@@ -1242,19 +1242,19 @@ int DU_handle_DL_NR_RRC_MESSAGE_TRANSFER(instance_t instance,
NR_RRCSetup_IEs_t *rrcSetup_ies = rrcSetup->criticalExtensions.choice.rrcSetup; NR_RRCSetup_IEs_t *rrcSetup_ies = rrcSetup->criticalExtensions.choice.rrcSetup;
// get SRB logical channel information // get SRB logical channel information
NR_SRB_ToAddModList_t *SRB_configList; // NR_SRB_ToAddModList_t *SRB_configList;
NR_SRB_ToAddMod_t *SRB1_config; // NR_SRB_ToAddMod_t *SRB1_config;
NR_CellGroupConfig_t *cellGroupConfig = NULL; NR_CellGroupConfig_t *cellGroupConfig = NULL;
NR_LogicalChannelConfig_t *logicalChannelConfig = NULL; // NR_LogicalChannelConfig_t *logicalChannelConfig = NULL;
AssertFatal(rrcSetup_ies->masterCellGroup.buf!=NULL,"masterCellGroup is null\n"); AssertFatal(rrcSetup_ies->masterCellGroup.buf!=NULL,"masterCellGroup is null\n");
cellGroupConfig = rrcSetup_ies->masterCellGroup.buf; cellGroupConfig = (NR_CellGroupConfig_t *)rrcSetup_ies->masterCellGroup.buf;
// SRB_configList = rrcSetup_ies->radioBearerConfig.srb_ToAddModList; // SRB_configList = rrcSetup_ies->radioBearerConfig.srb_ToAddModList;
// AssertFatal(SRB_configList!=NULL,"SRB_configList is null\n"); // AssertFatal(SRB_configList!=NULL,"SRB_configList is null\n");
for (int cnt = 0; cnt < cellGroupConfig->rlc_BearerToAddModList->list.count; cnt++) { for (int cnt = 0; cnt < cellGroupConfig->rlc_BearerToAddModList->list.count; cnt++) {
if (cellGroupConfig->rlc_BearerToAddModList->list.array[cnt]) { if (cellGroupConfig->rlc_BearerToAddModList->list.array[cnt]) {
logicalChannelConfig = cellGroupConfig->rlc_BearerToAddModList->list.array[cnt]; // logicalChannelConfig = (NR_LogicalChannelConfig_t *)cellGroupConfig->rlc_BearerToAddModList->list.array[cnt];
} }
} // for } // for
...@@ -1275,9 +1275,9 @@ int DU_handle_DL_NR_RRC_MESSAGE_TRANSFER(instance_t instance, ...@@ -1275,9 +1275,9 @@ int DU_handle_DL_NR_RRC_MESSAGE_TRANSFER(instance_t instance,
ue_p->Srb0.Tx_buffer.payload_size = rrc_dl_sdu_len; ue_p->Srb0.Tx_buffer.payload_size = rrc_dl_sdu_len;
NR_MAC_CellGroupConfig_t *mac_CellGroupConfig = NULL; // NR_MAC_CellGroupConfig_t *mac_CellGroupConfig = NULL;
if (cellGroupConfig->mac_CellGroupConfig) // if (cellGroupConfig->mac_CellGroupConfig)
mac_CellGroupConfig = cellGroupConfig->mac_CellGroupConfig; // mac_CellGroupConfig = cellGroupConfig->mac_CellGroupConfig;
// rrc_mac_config_req_gNB // rrc_mac_config_req_gNB
break; break;
...@@ -1328,7 +1328,7 @@ int DU_handle_DL_NR_RRC_MESSAGE_TRANSFER(instance_t instance, ...@@ -1328,7 +1328,7 @@ int DU_handle_DL_NR_RRC_MESSAGE_TRANSFER(instance_t instance,
du_ue_f1ap_id, du_ue_f1ap_id,
f1ap_get_rnti_by_du_id(&f1ap_du_inst[instance], du_ue_f1ap_id)); f1ap_get_rnti_by_du_id(&f1ap_du_inst[instance], du_ue_f1ap_id));
NR_RRCReconfiguration_t* rrcReconfiguration = &dl_dcch_msg->message.choice.c1->choice.rrcReconfiguration; NR_RRCReconfiguration_t* rrcReconfiguration = dl_dcch_msg->message.choice.c1->choice.rrcReconfiguration;
if (rrcReconfiguration->criticalExtensions.present == NR_RRCReconfiguration__criticalExtensions_PR_rrcReconfiguration) { if (rrcReconfiguration->criticalExtensions.present == NR_RRCReconfiguration__criticalExtensions_PR_rrcReconfiguration) {
NR_RRCReconfiguration_IEs_t* rrcReconfiguration_ies = NR_RRCReconfiguration_IEs_t* rrcReconfiguration_ies =
...@@ -1345,7 +1345,7 @@ int DU_handle_DL_NR_RRC_MESSAGE_TRANSFER(instance_t instance, ...@@ -1345,7 +1345,7 @@ int DU_handle_DL_NR_RRC_MESSAGE_TRANSFER(instance_t instance,
int i; int i;
NR_DRB_ToAddModList_t *DRB_configList = rrcReconfiguration_ies->radioBearerConfig->drb_ToAddModList; NR_DRB_ToAddModList_t *DRB_configList = rrcReconfiguration_ies->radioBearerConfig->drb_ToAddModList;
NR_SRB_ToAddModList_t *SRB_configList = rrcReconfiguration_ies->radioBearerConfig->srb_ToAddModList; NR_SRB_ToAddModList_t *SRB_configList = rrcReconfiguration_ies->radioBearerConfig->srb_ToAddModList;
NR_DRB_ToReleaseList_t *DRB_ReleaseList = rrcReconfiguration_ies->radioBearerConfig->drb_ToReleaseList; // NR_DRB_ToReleaseList_t *DRB_ReleaseList = rrcReconfiguration_ies->radioBearerConfig->drb_ToReleaseList;
for (i = 0; i< 8; i++){ for (i = 0; i< 8; i++){
DRB2LCHAN[i] = 0; DRB2LCHAN[i] = 0;
...@@ -1433,6 +1433,7 @@ int DU_handle_DL_NR_RRC_MESSAGE_TRANSFER(instance_t instance, ...@@ -1433,6 +1433,7 @@ int DU_handle_DL_NR_RRC_MESSAGE_TRANSFER(instance_t instance,
} }
LOG_I(F1AP, "Received DL RRC Transfer on srb_id %ld\n", srb_id); LOG_I(F1AP, "Received DL RRC Transfer on srb_id %ld\n", srb_id);
#if(0)
rlc_op_status_t rlc_status; rlc_op_status_t rlc_status;
boolean_t ret = TRUE; boolean_t ret = TRUE;
mem_block_t *pdcp_pdu_p = NULL; mem_block_t *pdcp_pdu_p = NULL;
...@@ -1446,7 +1447,6 @@ int DU_handle_DL_NR_RRC_MESSAGE_TRANSFER(instance_t instance, ...@@ -1446,7 +1447,6 @@ int DU_handle_DL_NR_RRC_MESSAGE_TRANSFER(instance_t instance,
//for (int i=0;i<rrc_dl_sdu_len;i++) printf("%2x ",pdcp_pdu_p->data[i]); //for (int i=0;i<rrc_dl_sdu_len;i++) printf("%2x ",pdcp_pdu_p->data[i]);
//printf("\n"); //printf("\n");
#if(0)
if (pdcp_pdu_p != NULL) { if (pdcp_pdu_p != NULL) {
memset(pdcp_pdu_p->data, 0, rrc_dl_sdu_len); memset(pdcp_pdu_p->data, 0, rrc_dl_sdu_len);
memcpy(&pdcp_pdu_p->data[0], ie->value.choice.RRCContainer.buf, rrc_dl_sdu_len); memcpy(&pdcp_pdu_p->data[0], ie->value.choice.RRCContainer.buf, rrc_dl_sdu_len);
......
...@@ -152,6 +152,17 @@ int DU_handle_UE_CONTEXT_SETUP_REQUEST(instance_t instance, ...@@ -152,6 +152,17 @@ int DU_handle_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
} }
} }
/* RRCContainer */
F1AP_FIND_PROTOCOLIE_BY_ID(F1AP_UEContextSetupRequestIEs_t, ie, container,
F1AP_ProtocolIE_ID_id_RRCContainer, false);
if (ie) {
/* correct here */
f1ap_ue_context_setup_req->rrc_container = malloc(ie->value.choice.RRCContainer.size);
memcpy(f1ap_ue_context_setup_req->rrc_container, ie->value.choice.RRCContainer.buf, ie->value.choice.RRCContainer.size);
} else {
LOG_E(F1AP, "can't find RRCContainer in UEContextSetupRequestIEs by id %d \n", F1AP_ProtocolIE_ID_id_RRCContainer);
}
AssertFatal(0, "check configuration, send to appropriate handler\n"); AssertFatal(0, "check configuration, send to appropriate handler\n");
return 0; return 0;
} }
......
...@@ -64,7 +64,7 @@ nr_rrc_data_req( ...@@ -64,7 +64,7 @@ nr_rrc_data_req(
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------
{ {
if(sdu_sizeP == 255) { if(sdu_sizeP == 255) {
LOG_I(RRC,"sdu_sizeP == 255"); LOG_I(NR_RRC,"sdu_sizeP == 255");
return FALSE; return FALSE;
} }
...@@ -86,19 +86,19 @@ nr_rrc_data_req( ...@@ -86,19 +86,19 @@ nr_rrc_data_req(
ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE, ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE,
sdu_sizeP); sdu_sizeP);
memcpy (message_buffer, buffer_pP, sdu_sizeP); memcpy (message_buffer, buffer_pP, sdu_sizeP);
message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_RRC_GNB : TASK_RRC_UE, NR_RRC_DCCH_DATA_IND); message_p = itti_alloc_new_message (ctxt_pP->enb_flag ? TASK_RRC_GNB : TASK_RRC_UE, NR_RRC_DCCH_DATA_REQ);
NR_RRC_DCCH_DATA_IND (message_p).frame = ctxt_pP->frame; NR_RRC_DCCH_DATA_REQ (message_p).frame = ctxt_pP->frame;
// NR_RRC_DCCH_DATA_IND (message_p).gnb_flag = ctxt_pP->enb_flag; NR_RRC_DCCH_DATA_REQ (message_p).gnb_flag = ctxt_pP->enb_flag;
// NR_RRC_DCCH_DATA_IND (message_p).rb_id = rb_idP; NR_RRC_DCCH_DATA_REQ (message_p).rb_id = rb_idP;
// NR_RRC_DCCH_DATA_IND (message_p).muip = muiP; NR_RRC_DCCH_DATA_REQ (message_p).muip = muiP;
// NR_RRC_DCCH_DATA_IND (message_p).confirmp = confirmP; NR_RRC_DCCH_DATA_REQ (message_p).confirmp = confirmP;
NR_RRC_DCCH_DATA_IND (message_p).sdu_size = sdu_sizeP; NR_RRC_DCCH_DATA_REQ (message_p).sdu_size = sdu_sizeP;
NR_RRC_DCCH_DATA_IND (message_p).sdu_p = message_buffer; NR_RRC_DCCH_DATA_REQ (message_p).sdu_p = message_buffer;
//memcpy (NR_RRC_DCCH_DATA_IND (message_p).sdu_p, buffer_pP, sdu_sizeP); //memcpy (NR_RRC_DCCH_DATA_REQ (message_p).sdu_p, buffer_pP, sdu_sizeP);
// NR_RRC_DCCH_DATA_IND (message_p).mode = modeP; NR_RRC_DCCH_DATA_REQ (message_p).mode = modeP;
NR_RRC_DCCH_DATA_IND (message_p).module_id = ctxt_pP->module_id; NR_RRC_DCCH_DATA_REQ (message_p).module_id = ctxt_pP->module_id;
NR_RRC_DCCH_DATA_IND (message_p).rnti = ctxt_pP->rnti; NR_RRC_DCCH_DATA_REQ (message_p).rnti = ctxt_pP->rnti;
NR_RRC_DCCH_DATA_IND (message_p).gNB_index = ctxt_pP->eNB_index; NR_RRC_DCCH_DATA_REQ (message_p).gNB_index = ctxt_pP->eNB_index;
itti_send_msg_to_task ( itti_send_msg_to_task (
ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE, ctxt_pP->enb_flag ? TASK_PDCP_ENB : TASK_PDCP_UE,
ctxt_pP->instance, ctxt_pP->instance,
......
...@@ -1624,7 +1624,6 @@ rrc_gNB_generate_SecurityModeCommand( ...@@ -1624,7 +1624,6 @@ rrc_gNB_generate_SecurityModeCommand(
{ {
uint8_t buffer[100]; uint8_t buffer[100];
uint8_t size; uint8_t size;
MessageDef *message_p;
T(T_ENB_RRC_SECURITY_MODE_COMMAND, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame), T(T_ENB_RRC_SECURITY_MODE_COMMAND, T_INT(ctxt_pP->module_id), T_INT(ctxt_pP->frame),
T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti)); T_INT(ctxt_pP->subframe), T_INT(ctxt_pP->rnti));
...@@ -1644,19 +1643,8 @@ rrc_gNB_generate_SecurityModeCommand( ...@@ -1644,19 +1643,8 @@ rrc_gNB_generate_SecurityModeCommand(
switch (RC.nrrrc[ctxt_pP->module_id]->node_type) { switch (RC.nrrrc[ctxt_pP->module_id]->node_type) {
case ngran_gNB_CU: case ngran_gNB_CU:
// create an ITTI message // create an ITTI message
// F1AP_DL_RRC_MESSAGE memcpy(ue_context_pP->ue_context.Srb1.Srb_info.Tx_buffer.Payload, buffer, size);
message_p = itti_alloc_new_message (TASK_RRC_GNB, F1AP_DL_RRC_MESSAGE); ue_context_pP->ue_context.Srb1.Srb_info.Tx_buffer.payload_size = size;
F1AP_DL_RRC_MESSAGE (message_p).rrc_container = buffer;
F1AP_DL_RRC_MESSAGE (message_p).rrc_container_length = size;
F1AP_DL_RRC_MESSAGE (message_p).gNB_CU_ue_id = 0;
F1AP_DL_RRC_MESSAGE (message_p).gNB_DU_ue_id = 0;
F1AP_DL_RRC_MESSAGE (message_p).old_gNB_DU_ue_id = 0xFFFFFFFF; // unknown
F1AP_DL_RRC_MESSAGE (message_p).rnti = ue_context_pP->ue_context.rnti;
F1AP_DL_RRC_MESSAGE (message_p).srb_id = DCCH;
F1AP_DL_RRC_MESSAGE (message_p).execute_duplication = 1;
F1AP_DL_RRC_MESSAGE (message_p).RAT_frequency_priority_information.en_dc = 0;
itti_send_msg_to_task (TASK_CU_F1, ctxt_pP->module_id, message_p);
LOG_D(NR_RRC, "Send F1AP_DL_RRC_MESSAGE with ITTI\n");
LOG_I(NR_RRC,"calling rrc_data_req :securityModeCommand\n"); LOG_I(NR_RRC,"calling rrc_data_req :securityModeCommand\n");
nr_rrc_data_req(ctxt_pP, nr_rrc_data_req(ctxt_pP,
...@@ -1691,6 +1679,7 @@ rrc_gNB_generate_SecurityModeCommand( ...@@ -1691,6 +1679,7 @@ rrc_gNB_generate_SecurityModeCommand(
rrc_gNB_mui, rrc_gNB_mui,
size); size);
#ifdef ITTI_SIM #ifdef ITTI_SIM
MessageDef *message_p;
uint8_t *message_buffer; uint8_t *message_buffer;
message_buffer = itti_malloc (TASK_RRC_GNB_SIM, TASK_RRC_UE_SIM,size); message_buffer = itti_malloc (TASK_RRC_GNB_SIM, TASK_RRC_UE_SIM,size);
memcpy (message_buffer, buffer, size); memcpy (message_buffer, buffer, size);
......
...@@ -576,25 +576,18 @@ rrc_gNB_process_NGAP_INITIAL_CONTEXT_SETUP_REQ( ...@@ -576,25 +576,18 @@ rrc_gNB_process_NGAP_INITIAL_CONTEXT_SETUP_REQ(
rrc_gNB_send_NGAP_INITIAL_CONTEXT_SETUP_RESP(&ctxt,ue_context_p); rrc_gNB_send_NGAP_INITIAL_CONTEXT_SETUP_RESP(&ctxt,ue_context_p);
} }
#if(0) if (RC.nrrrc[ctxt.module_id]->node_type == ngran_gNB_CU) {
if (RC.nrrrc[ctxt.module_id]->node_type == ngran_gNB_CU) {
MessageDef *message_p; MessageDef *message_p;
message_p = itti_alloc_new_message (TASK_RRC_GNB, F1AP_UE_CONTEXT_SETUP_REQ); message_p = itti_alloc_new_message (TASK_RRC_GNB, F1AP_UE_CONTEXT_SETUP_REQ);
F1AP_UE_CONTEXT_SETUP_REQ (message_p).rrc_container = ue_context_p->Srb0.Tx_buffer.Payload; F1AP_UE_CONTEXT_SETUP_REQ (message_p).rrc_container = (uint8_t *)ue_context_p->ue_context.Srb1.Srb_info.Tx_buffer.Payload;
F1AP_UE_CONTEXT_SETUP_REQ (message_p).rrc_container_length = ue_context_p->ue_context.Srb1.Srb_info.Tx_buffer.payload_size;
F1AP_UE_CONTEXT_SETUP_REQ (message_p).rrc_container_length = ue_context_p->Srb0.Tx_buffer.payload_size;
F1AP_UE_CONTEXT_SETUP_REQ (message_p).gNB_CU_ue_id = 0; F1AP_UE_CONTEXT_SETUP_REQ (message_p).gNB_CU_ue_id = 0;
F1AP_UE_CONTEXT_SETUP_REQ (message_p).gNB_DU_ue_id = 0; F1AP_UE_CONTEXT_SETUP_REQ (message_p).gNB_DU_ue_id = 0;
F1AP_UE_CONTEXT_SETUP_REQ (message_p).old_gNB_DU_ue_id = 0xFFFFFFFF; // unknown F1AP_UE_CONTEXT_SETUP_REQ (message_p).rnti = ue_context_p->ue_context.rnti;
F1AP_UE_CONTEXT_SETUP_REQ (message_p).rnti = ue_context_p->rnti;
F1AP_UE_CONTEXT_SETUP_REQ (message_p).srb_id = CCCH;
F1AP_UE_CONTEXT_SETUP_REQ (message_p).execute_duplication = 1;
F1AP_UE_CONTEXT_SETUP_REQ (message_p).RAT_frequency_priority_information.en_dc = 0;
itti_send_msg_to_task (TASK_CU_F1, ctxt_pP->module_id, message_p);
LOG_D(NR_RRC, "Send F1AP_UE_CONTEXT_SETUP_REQ with ITTI\n");
itti_send_msg_to_task (TASK_CU_F1, ctxt.module_id, message_p);
LOG_D(NR_RRC, "Send F1AP_UE_CONTEXT_SETUP_REQ with ITTI\n");
} }
#endif
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment