Remove 4G F1
This commit is contained in:
@@ -142,15 +142,9 @@ int CU_handle_F1_SETUP_REQUEST(instance_t instance,
|
||||
req->cell[i].nr_pci = servedCellInformation->nRPCI;
|
||||
LOG_D(F1AP, "req->nr_pci[%d] %d \n", i, req->cell[i].nr_pci);
|
||||
|
||||
// LTS: FIXME data model failure: we don't KNOW if we receive a 4G or a 5G cell
|
||||
// Furthermore, cell_type is not a attribute of a cell in the data structure !!!!!!!!!!
|
||||
if (RC.nrrrc &&
|
||||
( RC.nrrrc[GNB_INSTANCE_TO_MODULE_ID(instance)]->node_type == ngran_gNB_CU ||
|
||||
RC.nrrrc[GNB_INSTANCE_TO_MODULE_ID(instance)]->node_type == ngran_gNB_CUCP) )
|
||||
f1ap_req(true, instance)->cell_type=CELL_MACRO_GNB;
|
||||
else
|
||||
f1ap_req(true, instance)->cell_type=CELL_MACRO_ENB;
|
||||
|
||||
// LTS: FIXME cell_type is not a attribute of a cell in the data structure !!!!!!!!!!
|
||||
f1ap_req(true, instance)->cell_type = CELL_MACRO_GNB;
|
||||
|
||||
// FDD Cells
|
||||
if (servedCellInformation->nR_Mode_Info.present==F1AP_NR_Mode_Info_PR_fDD) {
|
||||
struct fdd_s *FDDs=&req->nr_mode_info[i].fdd;
|
||||
@@ -558,198 +552,6 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
|
||||
}
|
||||
}
|
||||
|
||||
// c3. Cells_to_be_Deactivated_List
|
||||
//
|
||||
/*
|
||||
if(!RC.nrrrc) {
|
||||
// mandatory
|
||||
// c3. Cells_to_be_Deactivated_List
|
||||
asn1cSequenceAdd(cfgUpdate->protocolIEs.list, F1AP_GNBCUConfigurationUpdateIEs_t, ieC3);
|
||||
ieC3->id = F1AP_ProtocolIE_ID_id_Cells_to_be_Deactivated_List;
|
||||
ieC3->criticality = F1AP_Criticality_reject;
|
||||
ieC3->value.present = F1AP_GNBCUConfigurationUpdateIEs__value_PR_Cells_to_be_Deactivated_List;
|
||||
|
||||
for (int i=0; i<1; i++) {
|
||||
asn1cSequenceAdd(ieC3->value.choice.Cells_to_be_Deactivated_List.list,
|
||||
F1AP_Cells_to_be_Deactivated_List_ItemIEs_t, cells_to_be_deactivated);
|
||||
cells_to_be_deactivated->id = F1AP_ProtocolIE_ID_id_Cells_to_be_Activated_List_Item;
|
||||
cells_to_be_deactivated->criticality = F1AP_Criticality_reject;
|
||||
cells_to_be_deactivated->value.present = F1AP_Cells_to_be_Deactivated_List_ItemIEs__value_PR_Cells_to_be_Deactivated_List_Item;
|
||||
// 3.1 cells to be Deactivated list item
|
||||
F1AP_Cells_to_be_Deactivated_List_Item_t *cells_to_be_deactivated_list=
|
||||
cells_to_be_deactivated->value.choice.Cells_to_be_Deactivated_List_Item;
|
||||
addnRCGI(cells_to_be_deactivated_item->nRCGI, f1ap_setup_resp->cells_to_deactivate+i);
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
// c4. GNB_CU_TNL_Association_To_Add_List
|
||||
/*
|
||||
asn1cSequenceAdd(cfgUpdate->protocolIEs.list, F1AP_GNBCUConfigurationUpdateIEs_t, ieC4);
|
||||
ieC4->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Add_List;
|
||||
ieC4->criticality = F1AP_Criticality_reject;
|
||||
ieC4->value.present = F1AP_GNBCUConfigurationUpdateIEs__value_PR_GNB_CU_TNL_Association_To_Add_List;
|
||||
|
||||
for (int i=0; i<1; i++) {
|
||||
asn1cSequenceAdd(ieC4->value.choice.GNB_CU_TNL_Association_To_Add_List.list,
|
||||
F1AP_GNB_CU_TNL_Association_To_Add_ItemIEs_t, gnb_cu_tnl_association_to_add;
|
||||
gnb_cu_tnl_association_to_add->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Add_Item;
|
||||
gnb_cu_tnl_association_to_add->criticality = F1AP_Criticality_reject;
|
||||
gnb_cu_tnl_association_to_add->value.present = F1AP_GNB_CU_TNL_Association_To_Add_ItemIEs__value_PR_GNB_CU_TNL_Association_To_Add_Item;
|
||||
|
||||
// 4.1 GNB_CU_TNL_Association_To_Add_Item
|
||||
F1AP_GNB_CU_TNL_Association_To_Add_Item_t *gnb_cu_tnl_association_to_add_item=
|
||||
&gnb_cu_tnl_association_to_add_item_ies->value.choice.GNB_CU_TNL_Association_To_Add_Item;
|
||||
|
||||
// 4.1.1 tNLAssociationTransportLayerAddress
|
||||
F1AP_CP_TransportLayerAddress_t *transportLayerAddress=;
|
||||
gnb_cu_tnl_association_to_add->value.choice.GNB_CU_TNL_Association_To_Add_Item;
|
||||
|
||||
transportLayerAddress->present = F1AP_CP_TransportLayerAddress_PR_endpoint_IP_address;
|
||||
TRANSPORT_LAYER_ADDRESS_IPv4_TO_BIT_STRING(1234, &transportLayerAddress->choice.endpoint_IP_address);
|
||||
|
||||
// memset((void *)&transportLayerAddress, 0, sizeof(F1AP_CP_TransportLayerAddress_t));
|
||||
// transportLayerAddress.present = F1AP_CP_TransportLayerAddress_PR_endpoint_IP_address_and_port;
|
||||
// transportLayerAddress.choice.endpoint_IP_address_and_port = (F1AP_Endpoint_IP_address_and_port_t *)calloc(1, sizeof(F1AP_Endpoint_IP_address_and_port_t));
|
||||
// TRANSPORT_LAYER_ADDRESS_IPv4_TO_BIT_STRING(1234, &transportLayerAddress.choice.endpoint_IP_address_and_port.endpoint_IP_address);
|
||||
|
||||
// 4.1.2 tNLAssociationUsage
|
||||
gnb_cu_tnl_association_to_add_item->tNLAssociationUsage = F1AP_TNLAssociationUsage_non_ue;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// c5. GNB_CU_TNL_Association_To_Remove_List
|
||||
asn1cSequenceAdd(cfgUpdate->protocolIEs.list, F1AP_GNBCUConfigurationUpdateIEs_t, ieC5);
|
||||
ieC5->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Remove_List;
|
||||
ieC5->criticality = F1AP_Criticality_reject;
|
||||
ieC5->value.present = F1AP_GNBCUConfigurationUpdateIEs__value_PR_GNB_CU_TNL_Association_To_Remove_List;
|
||||
for (int i=0; i<1; i++) {
|
||||
asn1cSequenceAdd(ieC5->value.choice.GNB_CU_TNL_Association_To_Remove_List.list,
|
||||
F1AP_GNB_CU_TNL_Association_To_Remove_ItemIEs_t, gnb_cu_tnl_association_to_remove);
|
||||
gnb_cu_tnl_association_to_remove->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Remove_Item;
|
||||
gnb_cu_tnl_association_to_remove->criticality = F1AP_Criticality_reject;
|
||||
gnb_cu_tnl_association_to_remove->value.present = F1AP_GNB_CU_TNL_Association_To_Remove_ItemIEs__value_PR_GNB_CU_TNL_Association_To_Remove_Item;
|
||||
|
||||
// 4.1 GNB_CU_TNL_Association_To_Remove_Item
|
||||
F1AP_GNB_CU_TNL_Association_To_Remove_Item_t *gnb_cu_tnl_association_to_remove_item=
|
||||
&gnb_cu_tnl_association_to_remove->value.choice.GNB_CU_TNL_Association_To_Remove_Item;
|
||||
|
||||
// 4.1.1 tNLAssociationTransportLayerAddress
|
||||
F1AP_CP_TransportLayerAddress_t *transportLayerAddress=
|
||||
&gnb_cu_tnl_association_to_remove_item->tNLAssociationTransportLayerAddress;
|
||||
transportLayerAddress->present = F1AP_CP_TransportLayerAddress_PR_endpoint_IP_address;
|
||||
TRANSPORT_LAYER_ADDRESS_IPv4_TO_BIT_STRING(1234, &transportLayerAddress->choice.endpoint_IP_address);
|
||||
|
||||
// memset((void *)&transportLayerAddress, 0, sizeof(F1AP_CP_TransportLayerAddress_t));
|
||||
// transportLayerAddress.present = F1AP_CP_TransportLayerAddress_PR_endpoint_IP_address_and_port;
|
||||
// transportLayerAddress.choice.endpoint_IP_address_and_port = (F1AP_Endpoint_IP_address_and_port_t *)calloc(1, sizeof(F1AP_Endpoint_IP_address_and_port_t));
|
||||
// TRANSPORT_LAYER_ADDRESS_IPv4_TO_BIT_STRING(1234, &transportLayerAddress.choice.endpoint_IP_address_and_port.endpoint_IP_address);
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
//mandatory
|
||||
// c6. GNB_CU_TNL_Association_To_Update_List
|
||||
asn1cSequenceAdd(cfgUpdate->protocolIEs.list, F1AP_GNBCUConfigurationUpdateIEs_t, ieC6);
|
||||
ieC6->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Update_List;
|
||||
ieC6->criticality = F1AP_Criticality_reject;
|
||||
ieC6->value.present = F1AP_GNBCUConfigurationUpdateIEs__value_PR_GNB_CU_TNL_Association_To_Update_List;
|
||||
|
||||
for (int i=0; i<1; i++) {
|
||||
asn1cSequenceAdd(ieC3->value.choice.GNB_CU_TNL_Association_To_Update_List.list,
|
||||
F1AP_GNB_CU_TNL_Association_To_Update_ItemIEs_t, gnb_cu_tnl_association_to_update);
|
||||
gnb_cu_tnl_association_to_update->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Update_Item;
|
||||
gnb_cu_tnl_association_to_update->criticality = F1AP_Criticality_reject;
|
||||
gnb_cu_tnl_association_to_update->value.present = F1AP_GNB_CU_TNL_Association_To_Update_ItemIEs__value_PR_GNB_CU_TNL_Association_To_Update_Item;
|
||||
// 4.1 GNB_CU_TNL_Association_To_Update_Item
|
||||
F1AP_GNB_CU_TNL_Association_To_Update_Item_t *gnb_cu_tnl_association_to_update_item=
|
||||
&gnb_cu_tnl_association_to_update->value.choice.GNB_CU_TNL_Association_To_Update_Item;
|
||||
// 4.1.1 tNLAssociationTransportLayerAddress
|
||||
F1AP_CP_TransportLayerAddress_t *transportLayerAddress=
|
||||
&gnb_cu_tnl_association_to_update_item.tNLAssociationTransportLayerAddress;
|
||||
transportLayerAddress->present = F1AP_CP_TransportLayerAddress_PR_endpoint_IP_address;
|
||||
TRANSPORT_LAYER_ADDRESS_IPv4_TO_BIT_STRING(1234, &transportLayerAddress->choice.endpoint_IP_address);
|
||||
// memset((void *)&transportLayerAddress, 0, sizeof(F1AP_CP_TransportLayerAddress_t));
|
||||
// transportLayerAddress.present = F1AP_CP_TransportLayerAddress_PR_endpoint_IP_address_and_port;
|
||||
// transportLayerAddress.choice.endpoint_IP_address_and_port = (F1AP_Endpoint_IP_address_and_port_t *)calloc(1, sizeof(F1AP_Endpoint_IP_address_and_port_t));
|
||||
// TRANSPORT_LAYER_ADDRESS_IPv4_TO_BIT_STRING(1234, &transportLayerAddress.choice.endpoint_IP_address_and_port.endpoint_IP_address);
|
||||
// 4.1.2 tNLAssociationUsage
|
||||
if (1) {
|
||||
gnb_cu_tnl_association_to_update_item.tNLAssociationUsage = (F1AP_TNLAssociationUsage_t *)calloc(1, sizeof(F1AP_TNLAssociationUsage_t));
|
||||
*gnb_cu_tnl_association_to_update_item.tNLAssociationUsage = F1AP_TNLAssociationUsage_non_ue;
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// c7. Cells_to_be_Barred_List
|
||||
asn1cSequenceAdd(cfgUpdate->protocolIEs.list, F1AP_GNBCUConfigurationUpdateIEs_t, ieC7);
|
||||
ieC7->id = F1AP_ProtocolIE_ID_id_Cells_to_be_Barred_List;
|
||||
ieC7->criticality = F1AP_Criticality_reject;
|
||||
ieC7->value.present = F1AP_GNBCUConfigurationUpdateIEs__value_PR_Cells_to_be_Barred_List;
|
||||
|
||||
for (int i=0; i<1; i++) {
|
||||
asn1cSequenceAdd(ieC7->value.choice.Cells_to_be_Barred_List.list,
|
||||
F1AP_Cells_to_be_Barred_ItemIEs_t,cells_to_be_barred);
|
||||
cells_to_be_barred->id = F1AP_ProtocolIE_ID_id_Cells_to_be_Activated_List_Item;
|
||||
cells_to_be_barred->criticality = F1AP_Criticality_reject;
|
||||
cells_to_be_barred->value.present = F1AP_Cells_to_be_Barred_ItemIEs__value_PR_Cells_to_be_Barred_Item;
|
||||
// 7.1 cells to be Deactivated list item
|
||||
F1AP_Cells_to_be_Barred_Item_t *cells_to_be_barred_item=
|
||||
&cells_to_be_barred_item_ies->value.choice.Cells_to_be_Barred_Item;
|
||||
// - nRCGI
|
||||
addnRCGI(cells_to_be_barred_item->nRCGI, f1ap_gnb_cu_configuration_update->cells_to_activate+i);
|
||||
// 7.2 cellBarred
|
||||
cells_to_be_barred_item->cellBarred = F1AP_CellBarred_not_barred;
|
||||
}
|
||||
*/
|
||||
|
||||
/*
|
||||
// c8. Protected_EUTRA_Resources_List
|
||||
asn1cSequenceAdd(cfgUpdate->protocolIEs.list, F1AP_GNBCUConfigurationUpdateIEs_t, ieC8);
|
||||
ieC8->id = F1AP_ProtocolIE_ID_id_Protected_EUTRA_Resources_List;
|
||||
ieC8->criticality = F1AP_Criticality_reject;
|
||||
ieC8->value.present = F1AP_GNBCUConfigurationUpdateIEs__value_PR_Protected_EUTRA_Resources_List;
|
||||
|
||||
for (int i=0; i<1; i++) {
|
||||
asn1cSequenceAdd(ieC8->value.choice.Protected_EUTRA_Resources_List.list,
|
||||
F1AP_Protected_EUTRA_Resources_ItemIEs_t, protected_eutra_resources);
|
||||
// 8.1 SpectrumSharingGroupID
|
||||
protected_eutra_resources->id = F1AP_ProtocolIE_ID_id_Protected_EUTRA_Resources_List;
|
||||
protected_eutra_resources->criticality = F1AP_Criticality_reject;
|
||||
protected_eutra_resources->value.present = F1AP_Protected_EUTRA_Resources_ItemIEs__value_PR_Protected_EUTRA_Resources_Item;
|
||||
((F1AP_Protected_EUTRA_Resources_Item_t *)&protected_eutra_resources->value.choice.Protected_EUTRA_Resources_Item)->spectrumSharingGroupID = 123L;
|
||||
memset(&protected_eutra_resources->value.choice.Protected_EUTRA_Resources_Item,0,
|
||||
sizeof(F1AP_Protected_EUTRA_Resources_Item_t));
|
||||
|
||||
asn1cSequenceAdd(protected_eutra_resources->value.choice.ListofEUTRACellsinGNBDUCoordination.list,
|
||||
F1AP_Served_EUTRA_Cells_Information_t, served_eutra_cells_information);
|
||||
memset((void *)&served_eutra_cells_information, 0, sizeof(F1AP_Served_EUTRA_Cells_Information_t));
|
||||
|
||||
F1AP_EUTRA_Mode_Info_t *eUTRA_Mode_Info=
|
||||
&served_eutra_cells_information.eUTRA_Mode_Info;
|
||||
|
||||
// eUTRAFDD
|
||||
eUTRA_Mode_Info->present = F1AP_EUTRA_Mode_Info_PR_eUTRAFDD;
|
||||
F1AP_EUTRA_FDD_Info_t *eutra_fdd_info = (F1AP_EUTRA_FDD_Info_t *)calloc(1, sizeof(F1AP_EUTRA_FDD_Info_t));
|
||||
eutra_fdd_info->uL_offsetToPointA = 123L;
|
||||
eutra_fdd_info->dL_offsetToPointA = 456L;
|
||||
eUTRA_Mode_Info.choice.eUTRAFDD = eutra_fdd_info;
|
||||
|
||||
// eUTRATDD
|
||||
// eUTRA_Mode_Info.present = F1AP_EUTRA_Mode_Info_PR_eUTRATDD;
|
||||
// F1AP_EUTRA_TDD_Info_t *eutra_tdd_info;
|
||||
// eutra_tdd_info = (F1AP_EUTRA_TDD_Info_t *)calloc(1, sizeof(F1AP_EUTRA_TDD_Info_t));
|
||||
// eutra_tdd_info->uL_offsetToPointA = 123L;
|
||||
// eutra_tdd_info->dL_offsetToPointA = 456L;
|
||||
// eUTRA_Mode_Info.choice.eUTRATDD = eutra_tdd_info;
|
||||
|
||||
OCTET_STRING_fromBuf(&served_eutra_cells_information.protectedEUTRAResourceIndication, "asdsa1d32sa1d31asd31as",
|
||||
strlen("asdsa1d32sa1d31asd31as"));
|
||||
}
|
||||
*/
|
||||
|
||||
/* encode */
|
||||
if (f1ap_encode_pdu(&pdu, &buffer, &len) < 0) {
|
||||
LOG_E(F1AP, "Failed to encode F1 gNB-CU CONFIGURATION UPDATE\n");
|
||||
|
||||
Reference in New Issue
Block a user