Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wangjie
OpenXG-RAN
Commits
ef509a98
Commit
ef509a98
authored
May 28, 2021
by
luis_pereira87
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Uncomment fields in F1 gNB-CU CONFIGURATION UPDATE
parent
9ae4d863
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
219 additions
and
219 deletions
+219
-219
openair2/F1AP/f1ap_cu_interface_management.c
openair2/F1AP/f1ap_cu_interface_management.c
+219
-219
No files found.
openair2/F1AP/f1ap_cu_interface_management.c
View file @
ef509a98
...
...
@@ -648,251 +648,251 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
}
/*
// c3. Cells_to_be_Deactivated_List
//
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
ie->id = F1AP_ProtocolIE_ID_id_Cells_to_be_Deactivated_List;
ie->criticality = F1AP_Criticality_reject;
ie->value.present = F1AP_GNBCUConfigurationUpdateIEs__value_PR_Cells_to_be_Deactivated_List;
for (i=0;
i<1;
i++) {
F1AP_Cells_to_be_Deactivated_List_ItemIEs_t *cells_to_be_deactivated_list_item_ies;
cells_to_be_deactivated_list_item_ies = (F1AP_Cells_to_be_Deactivated_List_ItemIEs_t *)calloc(1, sizeof(F1AP_Cells_to_be_Deactivated_List_ItemIEs_t));
cells_to_be_deactivated_list_item_ies->id = F1AP_ProtocolIE_ID_id_Cells_to_be_Activated_List_Item;
cells_to_be_deactivated_list_item_ies->criticality = F1AP_Criticality_reject;
cells_to_be_deactivated_list_item_ies->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_item;
memset((void *)&cells_to_be_deactivated_list_item, 0, sizeof(F1AP_Cells_to_be_Deactivated_List_Item_t));
F1AP_NRCGI_t nRCGI;
memset(&nRCGI, 0, sizeof(F1AP_NRCGI_t));
MCC_MNC_TO_PLMNID(mcc, mnc, mnc_digit_length,
&nRCGI.pLMN_Identity);
NR_CELL_ID_TO_BIT_STRING(123456, &nRCGI.nRCellIdentity);
cells_to_be_deactivated_list_item.nRCGI = nRCGI;
cells_to_be_deactivated_list_item_ies->value.choice.Cells_to_be_Deactivated_List_Item = cells_to_be_deactivated_list_item;
ASN_SEQUENCE_ADD(&ie->value.choice.Cells_to_be_Deactivated_List.list,
cells_to_be_deactivated_list_item_ies);
}
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
*/
if
(
!
RC
.
nrrrc
)
{
/* mandatory */
/* c3. Cells_to_be_Deactivated_List */
ie
=
(
F1AP_GNBCUConfigurationUpdateIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_GNBCUConfigurationUpdateIEs_t
));
ie
->
id
=
F1AP_ProtocolIE_ID_id_Cells_to_be_Deactivated_List
;
ie
->
criticality
=
F1AP_Criticality_reject
;
ie
->
value
.
present
=
F1AP_GNBCUConfigurationUpdateIEs__value_PR_Cells_to_be_Deactivated_List
;
/*
// c4. GNB_CU_TNL_Association_To_Add_List
for
(
i
=
0
;
i
<
1
;
i
++
)
{
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
ie->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Add_List;
ie->criticality = F1AP_Criticality_reject;
ie->value.present = F1AP_GNBCUConfigurationUpdateIEs__value_PR_GNB_CU_TNL_Association_To_Add_List;
F1AP_Cells_to_be_Deactivated_List_ItemIEs_t
*
cells_to_be_deactivated_list_item_ies
;
cells_to_be_deactivated_list_item_ies
=
(
F1AP_Cells_to_be_Deactivated_List_ItemIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_Cells_to_be_Deactivated_List_ItemIEs_t
));
cells_to_be_deactivated_list_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_Cells_to_be_Activated_List_Item
;
cells_to_be_deactivated_list_item_ies
->
criticality
=
F1AP_Criticality_reject
;
cells_to_be_deactivated_list_item_ies
->
value
.
present
=
F1AP_Cells_to_be_Deactivated_List_ItemIEs__value_PR_Cells_to_be_Deactivated_List_Item
;
for (i=0;
i<1
;
i++) {
// 3.1 cells to be Deactivated list item
F1AP_Cells_to_be_Deactivated_List_Item_t
cells_to_be_deactivated_list_item
;
memset
((
void
*
)
&
cells_to_be_deactivated_list_item
,
0
,
sizeof
(
F1AP_Cells_to_be_Deactivated_List_Item_t
));
F1AP_GNB_CU_TNL_Association_To_Add_ItemIEs_t *gnb_cu_tnl_association_to_add_item_ies;
gnb_cu_tnl_association_to_add_item_ies = (F1AP_GNB_CU_TNL_Association_To_Add_ItemIEs_t *)calloc(1, sizeof(F1AP_GNB_CU_TNL_Association_To_Add_ItemIEs_t));
gnb_cu_tnl_association_to_add_item_ies->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Add_Item;
gnb_cu_tnl_association_to_add_item_ies->criticality = F1AP_Criticality_reject;
gnb_cu_tnl_association_to_add_item_ies->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;
memset((void *)&gnb_cu_tnl_association_to_add_item, 0, sizeof(F1AP_GNB_CU_TNL_Association_To_Add_Item_t));
F1AP_NRCGI_t
nRCGI
;
memset
(
&
nRCGI
,
0
,
sizeof
(
F1AP_NRCGI_t
));
MCC_MNC_TO_PLMNID
(
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
mcc
,
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
mnc
,
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
mnc_digit_length
,
&
nRCGI
.
pLMN_Identity
);
NR_CELL_ID_TO_BIT_STRING
(
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
nr_cellid
,
&
nRCGI
.
nRCellIdentity
);
cells_to_be_deactivated_list_item
.
nRCGI
=
nRCGI
;
cells_to_be_deactivated_list_item_ies
->
value
.
choice
.
Cells_to_be_Deactivated_List_Item
=
cells_to_be_deactivated_list_item
;
ASN_SEQUENCE_ADD
(
&
ie
->
value
.
choice
.
Cells_to_be_Deactivated_List
.
list
,
cells_to_be_deactivated_list_item_ies
);
}
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
// 4.1.1 tNLAssociationTransportLayerAddress
F1AP_CP_TransportLayerAddress_t transportLayerAddress;
memset((void *)&transportLayerAddress, 0, sizeof(F1AP_CP_TransportLayerAddress_t));
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 */
/* c4. GNB_CU_TNL_Association_To_Add_List */
ie
=
(
F1AP_GNBCUConfigurationUpdateIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_GNBCUConfigurationUpdateIEs_t
));
ie
->
id
=
F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Add_List
;
ie
->
criticality
=
F1AP_Criticality_reject
;
ie
->
value
.
present
=
F1AP_GNBCUConfigurationUpdateIEs__value_PR_GNB_CU_TNL_Association_To_Add_List
;
gnb_cu_tnl_association_to_add_item.tNLAssociationTransportLayerAddress = transportLayerAddress;
for
(
i
=
0
;
i
<
1
;
i
++
)
{
// 4.1.2 tNLAssociationUsage
gnb_cu_tnl_association_to_add_item.tNLAssociationUsage = F1AP_TNLAssociationUsage_non_ue;
F1AP_GNB_CU_TNL_Association_To_Add_ItemIEs_t
*
gnb_cu_tnl_association_to_add_item_ies
;
gnb_cu_tnl_association_to_add_item_ies
=
(
F1AP_GNB_CU_TNL_Association_To_Add_ItemIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_GNB_CU_TNL_Association_To_Add_ItemIEs_t
));
gnb_cu_tnl_association_to_add_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Add_Item
;
gnb_cu_tnl_association_to_add_item_ies
->
criticality
=
F1AP_Criticality_reject
;
gnb_cu_tnl_association_to_add_item_ies
->
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
;
memset
((
void
*
)
&
gnb_cu_tnl_association_to_add_item
,
0
,
sizeof
(
F1AP_GNB_CU_TNL_Association_To_Add_Item_t
));
gnb_cu_tnl_association_to_add_item_ies->value.choice.GNB_CU_TNL_Association_To_Add_Item = gnb_cu_tnl_association_to_add_item;
ASN_SEQUENCE_ADD(&ie->value.choice.GNB_CU_TNL_Association_To_Add_List.list,
gnb_cu_tnl_association_to_add_item_ies);
}
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
*/
// 4.1.1 tNLAssociationTransportLayerAddress
F1AP_CP_TransportLayerAddress_t
transportLayerAddress
;
memset
((
void
*
)
&
transportLayerAddress
,
0
,
sizeof
(
F1AP_CP_TransportLayerAddress_t
));
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);
// c5. GNB_CU_TNL_Association_To_Remove_List
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
ie->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Remove_List;
ie->criticality = F1AP_Criticality_reject;
ie->value.present = F1AP_GNBCUConfigurationUpdateIEs__value_PR_GNB_CU_TNL_Association_To_Remove_List;
for (i=0;
i<1;
i++) {
F1AP_GNB_CU_TNL_Association_To_Remove_ItemIEs_t *gnb_cu_tnl_association_to_remove_item_ies;
gnb_cu_tnl_association_to_remove_item_ies = (F1AP_GNB_CU_TNL_Association_To_Remove_ItemIEs_t *)calloc(1, sizeof(F1AP_GNB_CU_TNL_Association_To_Remove_ItemIEs_t));
gnb_cu_tnl_association_to_remove_item_ies->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Remove_Item;
gnb_cu_tnl_association_to_remove_item_ies->criticality = F1AP_Criticality_reject;
gnb_cu_tnl_association_to_remove_item_ies->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;
memset((void *)&gnb_cu_tnl_association_to_remove_item, 0, sizeof(F1AP_GNB_CU_TNL_Association_To_Remove_Item_t));
// 4.1.1 tNLAssociationTransportLayerAddress
F1AP_CP_TransportLayerAddress_t transportLayerAddress;
memset((void *)&transportLayerAddress, 0, sizeof(F1AP_CP_TransportLayerAddress_t));
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);
gnb_cu_tnl_association_to_remove_item.tNLAssociationTransportLayerAddress = transportLayerAddress;
gnb_cu_tnl_association_to_add_item
.
tNLAssociationTransportLayerAddress
=
transportLayerAddress
;
// 4.1.2 tNLAssociationUsage
gnb_cu_tnl_association_to_add_item
.
tNLAssociationUsage
=
F1AP_TNLAssociationUsage_non_ue
;
gnb_cu_tnl_association_to_remove_item_ies->value.choice.GNB_CU_TNL_Association_To_Remove_Item = gnb_cu_tnl_association_to_remove_item;
ASN_SEQUENCE_ADD(&ie->value.choice.GNB_CU_TNL_Association_To_Remove_List.list,
gnb_cu_tnl_association_to_remove_item_ies);
}
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
*/
/*
//c6. GNB_CU_TNL_Association_To_Update_List
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
ie->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Update_List;
ie->criticality = F1AP_Criticality_reject;
ie->value.present = F1AP_GNBCUConfigurationUpdateIEs__value_PR_GNB_CU_TNL_Association_To_Update_List;
for (i=0;
i<1;
i++) {
F1AP_GNB_CU_TNL_Association_To_Update_ItemIEs_t *gnb_cu_tnl_association_to_update_item_ies;
gnb_cu_tnl_association_to_update_item_ies = (F1AP_GNB_CU_TNL_Association_To_Update_ItemIEs_t *)calloc(1, sizeof(F1AP_GNB_CU_TNL_Association_To_Update_ItemIEs_t));
gnb_cu_tnl_association_to_update_item_ies->id = F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Update_Item;
gnb_cu_tnl_association_to_update_item_ies->criticality = F1AP_Criticality_reject;
gnb_cu_tnl_association_to_update_item_ies->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;
memset((void *)&gnb_cu_tnl_association_to_update_item, 0, sizeof(F1AP_GNB_CU_TNL_Association_To_Update_Item_t));
// 4.1.1 tNLAssociationTransportLayerAddress
F1AP_CP_TransportLayerAddress_t transportLayerAddress;
memset((void *)&transportLayerAddress, 0, sizeof(F1AP_CP_TransportLayerAddress_t));
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);
gnb_cu_tnl_association_to_update_item.tNLAssociationTransportLayerAddress = transportLayerAddress;
// 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;
}
gnb_cu_tnl_association_to_update_item_ies->value.choice.GNB_CU_TNL_Association_To_Update_Item = gnb_cu_tnl_association_to_update_item;
ASN_SEQUENCE_ADD(&ie->value.choice.GNB_CU_TNL_Association_To_Update_List.list,
gnb_cu_tnl_association_to_update_item_ies);
}
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
*/
gnb_cu_tnl_association_to_add_item_ies
->
value
.
choice
.
GNB_CU_TNL_Association_To_Add_Item
=
gnb_cu_tnl_association_to_add_item
;
ASN_SEQUENCE_ADD
(
&
ie
->
value
.
choice
.
GNB_CU_TNL_Association_To_Add_List
.
list
,
gnb_cu_tnl_association_to_add_item_ies
);
}
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
/*
// c7. Cells_to_be_Barred_List
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
ie->id = F1AP_ProtocolIE_ID_id_Cells_to_be_Barred_List;
ie->criticality = F1AP_Criticality_reject;
ie->value.present = F1AP_GNBCUConfigurationUpdateIEs__value_PR_Cells_to_be_Barred_List;
for (i=0;
i<1;
i++) {
F1AP_Cells_to_be_Barred_ItemIEs_t *cells_to_be_barred_item_ies;
cells_to_be_barred_item_ies = (F1AP_Cells_to_be_Barred_ItemIEs_t *)calloc(1, sizeof(F1AP_Cells_to_be_Barred_ItemIEs_t));
cells_to_be_barred_item_ies->id = F1AP_ProtocolIE_ID_id_Cells_to_be_Activated_List_Item;
cells_to_be_barred_item_ies->criticality = F1AP_Criticality_reject;
cells_to_be_barred_item_ies->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;
memset((void *)&cells_to_be_barred_item, 0, sizeof(F1AP_Cells_to_be_Barred_Item_t));
// - nRCGI
F1AP_NRCGI_t nRCGI;
memset(&nRCGI,0,sizeof(F1AP_NRCGI_t));
MCC_MNC_TO_PLMNID(mcc, mnc, mnc_digit_length,
&nRCGI.pLMN_Identity);
NR_CELL_ID_TO_BIT_STRING(123456, &nRCGI.nRCellIdentity);
cells_to_be_barred_item.nRCGI = nRCGI;
// 7.2 cellBarred
cells_to_be_barred_item.cellBarred = F1AP_CellBarred_not_barred;
cells_to_be_barred_item_ies->value.choice.Cells_to_be_Barred_Item = cells_to_be_barred_item;
ASN_SEQUENCE_ADD(&ie->value.choice.Cells_to_be_Barred_List.list,
cells_to_be_barred_item_ies);
}
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
*/
/* mandatory */
/* c5. GNB_CU_TNL_Association_To_Remove_List */
ie
=
(
F1AP_GNBCUConfigurationUpdateIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_GNBCUConfigurationUpdateIEs_t
));
ie
->
id
=
F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Remove_List
;
ie
->
criticality
=
F1AP_Criticality_reject
;
ie
->
value
.
present
=
F1AP_GNBCUConfigurationUpdateIEs__value_PR_GNB_CU_TNL_Association_To_Remove_List
;
for
(
i
=
0
;
i
<
1
;
i
++
)
{
F1AP_GNB_CU_TNL_Association_To_Remove_ItemIEs_t
*
gnb_cu_tnl_association_to_remove_item_ies
;
gnb_cu_tnl_association_to_remove_item_ies
=
(
F1AP_GNB_CU_TNL_Association_To_Remove_ItemIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_GNB_CU_TNL_Association_To_Remove_ItemIEs_t
));
gnb_cu_tnl_association_to_remove_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Remove_Item
;
gnb_cu_tnl_association_to_remove_item_ies
->
criticality
=
F1AP_Criticality_reject
;
gnb_cu_tnl_association_to_remove_item_ies
->
value
.
present
=
F1AP_GNB_CU_TNL_Association_To_Remove_ItemIEs__value_PR_GNB_CU_TNL_Association_To_Remove_Item
;
/*
// c8. Protected_EUTRA_Resources_List
ie = (F1AP_GNBCUConfigurationUpdateIEs_t *)calloc(1, sizeof(F1AP_GNBCUConfigurationUpdateIEs_t));
ie->id = F1AP_ProtocolIE_ID_id_Protected_EUTRA_Resources_List;
ie->criticality = F1AP_Criticality_reject;
ie->value.present = F1AP_GNBCUConfigurationUpdateIEs__value_PR_Protected_EUTRA_Resources_List;
// 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
;
memset
((
void
*
)
&
gnb_cu_tnl_association_to_remove_item
,
0
,
sizeof
(
F1AP_GNB_CU_TNL_Association_To_Remove_Item_t
));
for (i=0;
i<1;
i++) {
// 4.1.1 tNLAssociationTransportLayerAddress
F1AP_CP_TransportLayerAddress_t
transportLayerAddress
;
memset
((
void
*
)
&
transportLayerAddress
,
0
,
sizeof
(
F1AP_CP_TransportLayerAddress_t
));
transportLayerAddress
.
present
=
F1AP_CP_TransportLayerAddress_PR_endpoint_IP_address
;
TRANSPORT_LAYER_ADDRESS_IPv4_TO_BIT_STRING
(
1234
,
&
transportLayerAddress
.
choice
.
endpoint_IP_address
);
F1AP_Protected_EUTRA_Resources_ItemIEs_t *protected_eutra_resources_item_ies;
// 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);
// 8.1 SpectrumSharingGroupID
protected_eutra_resources_item_ies = (F1AP_Protected_EUTRA_Resources_ItemIEs_t *)calloc(1, sizeof(F1AP_Protected_EUTRA_Resources_ItemIEs_t));
protected_eutra_resources_item_ies->id = F1AP_ProtocolIE_ID_id_Protected_EUTRA_Resources_List;
protected_eutra_resources_item_ies->criticality = F1AP_Criticality_reject;
protected_eutra_resources_item_ies->value.present = F1AP_Protected_EUTRA_Resources_ItemIEs__value_PR_Protected_EUTRA_Resources_I
tem;
((F1AP_Protected_EUTRA_Resources_Item_t*)&protected_eutra_resources_item_ies->value.choice.Protected_EUTRA_Resources_Item)->spectrumSharingGroupID = 123L;
memset(&protected_eutra_resources_item_ies->value.choice.Protected_EUTRA_Resources_Item,0,
sizeof(F1AP_Protected_EUTRA_Resources_Item_t));
ASN_SEQUENCE_ADD(&ie->value.choice.Protected_EUTRA_Resources_List.list, protected_eutra_resources_item_ies
);
gnb_cu_tnl_association_to_remove_item
.
tNLAssociationTransportLayerAddress
=
transportLayerAddress
;
gnb_cu_tnl_association_to_remove_item_ies
->
value
.
choice
.
GNB_CU_TNL_Association_To_Remove_Item
=
gnb_cu_tnl_association_to_remove_i
tem
;
ASN_SEQUENCE_ADD
(
&
ie
->
value
.
choice
.
GNB_CU_TNL_Association_To_Remove_List
.
list
,
gnb_cu_tnl_association_to_remove_item_ies
);
}
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
/* mandatory */
/* c6. GNB_CU_TNL_Association_To_Update_List */
ie
=
(
F1AP_GNBCUConfigurationUpdateIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_GNBCUConfigurationUpdateIEs_t
));
ie
->
id
=
F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Update_List
;
ie
->
criticality
=
F1AP_Criticality_reject
;
ie
->
value
.
present
=
F1AP_GNBCUConfigurationUpdateIEs__value_PR_GNB_CU_TNL_Association_To_Update_List
;
for
(
i
=
0
;
i
<
1
;
i
++
)
{
F1AP_GNB_CU_TNL_Association_To_Update_ItemIEs_t
*
gnb_cu_tnl_association_to_update_item_ies
;
gnb_cu_tnl_association_to_update_item_ies
=
(
F1AP_GNB_CU_TNL_Association_To_Update_ItemIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_GNB_CU_TNL_Association_To_Update_ItemIEs_t
));
gnb_cu_tnl_association_to_update_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_GNB_CU_TNL_Association_To_Update_Item
;
gnb_cu_tnl_association_to_update_item_ies
->
criticality
=
F1AP_Criticality_reject
;
gnb_cu_tnl_association_to_update_item_ies
->
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
;
memset
((
void
*
)
&
gnb_cu_tnl_association_to_update_item
,
0
,
sizeof
(
F1AP_GNB_CU_TNL_Association_To_Update_Item_t
));
// 4.1.1 tNLAssociationTransportLayerAddress
F1AP_CP_TransportLayerAddress_t
transportLayerAddress
;
memset
((
void
*
)
&
transportLayerAddress
,
0
,
sizeof
(
F1AP_CP_TransportLayerAddress_t
));
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);
gnb_cu_tnl_association_to_update_item
.
tNLAssociationTransportLayerAddress
=
transportLayerAddress
;
// 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
;
}
gnb_cu_tnl_association_to_update_item_ies
->
value
.
choice
.
GNB_CU_TNL_Association_To_Update_Item
=
gnb_cu_tnl_association_to_update_item
;
ASN_SEQUENCE_ADD
(
&
ie
->
value
.
choice
.
GNB_CU_TNL_Association_To_Update_List
.
list
,
gnb_cu_tnl_association_to_update_item_ies
);
}
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
/* mandatory */
/* c7. Cells_to_be_Barred_List */
ie
=
(
F1AP_GNBCUConfigurationUpdateIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_GNBCUConfigurationUpdateIEs_t
));
ie
->
id
=
F1AP_ProtocolIE_ID_id_Cells_to_be_Barred_List
;
ie
->
criticality
=
F1AP_Criticality_reject
;
ie
->
value
.
present
=
F1AP_GNBCUConfigurationUpdateIEs__value_PR_Cells_to_be_Barred_List
;
for
(
i
=
0
;
i
<
1
;
i
++
)
{
F1AP_Cells_to_be_Barred_ItemIEs_t
*
cells_to_be_barred_item_ies
;
cells_to_be_barred_item_ies
=
(
F1AP_Cells_to_be_Barred_ItemIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_Cells_to_be_Barred_ItemIEs_t
));
cells_to_be_barred_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_Cells_to_be_Activated_List_Item
;
cells_to_be_barred_item_ies
->
criticality
=
F1AP_Criticality_reject
;
cells_to_be_barred_item_ies
->
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
;
memset
((
void
*
)
&
cells_to_be_barred_item
,
0
,
sizeof
(
F1AP_Cells_to_be_Barred_Item_t
));
// - nRCGI
F1AP_NRCGI_t
nRCGI
;
memset
(
&
nRCGI
,
0
,
sizeof
(
F1AP_NRCGI_t
));
MCC_MNC_TO_PLMNID
(
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
mcc
,
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
mnc
,
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
mnc_digit_length
,
&
nRCGI
.
pLMN_Identity
);
NR_CELL_ID_TO_BIT_STRING
(
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
nr_cellid
,
&
nRCGI
.
nRCellIdentity
);
cells_to_be_barred_item
.
nRCGI
=
nRCGI
;
// 7.2 cellBarred
cells_to_be_barred_item
.
cellBarred
=
F1AP_CellBarred_not_barred
;
cells_to_be_barred_item_ies
->
value
.
choice
.
Cells_to_be_Barred_Item
=
cells_to_be_barred_item
;
ASN_SEQUENCE_ADD
(
&
ie
->
value
.
choice
.
Cells_to_be_Barred_List
.
list
,
cells_to_be_barred_item_ies
);
}
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
/* mandatory */
/* c8. Protected_EUTRA_Resources_List */
ie
=
(
F1AP_GNBCUConfigurationUpdateIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_GNBCUConfigurationUpdateIEs_t
));
ie
->
id
=
F1AP_ProtocolIE_ID_id_Protected_EUTRA_Resources_List
;
ie
->
criticality
=
F1AP_Criticality_reject
;
ie
->
value
.
present
=
F1AP_GNBCUConfigurationUpdateIEs__value_PR_Protected_EUTRA_Resources_List
;
for
(
i
=
0
;
i
<
1
;
i
++
)
{
F1AP_Protected_EUTRA_Resources_ItemIEs_t
*
protected_eutra_resources_item_ies
;
// 8.1 SpectrumSharingGroupID
protected_eutra_resources_item_ies
=
(
F1AP_Protected_EUTRA_Resources_ItemIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_Protected_EUTRA_Resources_ItemIEs_t
));
protected_eutra_resources_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_Protected_EUTRA_Resources_List
;
protected_eutra_resources_item_ies
->
criticality
=
F1AP_Criticality_reject
;
protected_eutra_resources_item_ies
->
value
.
present
=
F1AP_Protected_EUTRA_Resources_ItemIEs__value_PR_Protected_EUTRA_Resources_Item
;
((
F1AP_Protected_EUTRA_Resources_Item_t
*
)
&
protected_eutra_resources_item_ies
->
value
.
choice
.
Protected_EUTRA_Resources_Item
)
->
spectrumSharingGroupID
=
123L
;
memset
(
&
protected_eutra_resources_item_ies
->
value
.
choice
.
Protected_EUTRA_Resources_Item
,
0
,
sizeof
(
F1AP_Protected_EUTRA_Resources_Item_t
));
ASN_SEQUENCE_ADD
(
&
ie
->
value
.
choice
.
Protected_EUTRA_Resources_List
.
list
,
protected_eutra_resources_item_ies
);
/*
F1AP_Served_EUTRA_Cells_Information_t served_eutra_cells_information;
memset((void *)&served_eutra_cells_information, 0, sizeof(F1AP_Served_EUTRA_Cells_Information_t));
...
...
@@ -923,10 +923,10 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
ASN_SEQUENCE_ADD(&protected_eutra_resources_item_ies->value.choice.ListofEUTRACellsinGNBDUCoordination.list, &served_eutra_cells_information);
ASN_SEQUENCE_ADD(&ie->value.choice.Protected_EUTRA_Resources_List.list, protected_eutra_resources_item_ies);
*/
}
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
}
ASN_SEQUENCE_ADD(&out->protocolIEs.list, ie);
*/
/* encode */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment