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
littleBu
OpenXG-RAN
Commits
024808e6
Commit
024808e6
authored
3 years ago
by
rmagueta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Revert more pieces of code to LTE
parent
8c80b834
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
91 additions
and
77 deletions
+91
-77
openair2/F1AP/f1ap_cu_interface_management.c
openair2/F1AP/f1ap_cu_interface_management.c
+56
-50
openair2/F1AP/f1ap_cu_rrc_message_transfer.c
openair2/F1AP/f1ap_cu_rrc_message_transfer.c
+12
-10
openair2/F1AP/f1ap_cu_ue_context_management.c
openair2/F1AP/f1ap_cu_ue_context_management.c
+12
-8
openair2/F1AP/f1ap_du_interface_management.c
openair2/F1AP/f1ap_du_interface_management.c
+11
-9
No files found.
openair2/F1AP/f1ap_cu_interface_management.c
View file @
024808e6
...
...
@@ -315,17 +315,17 @@ int CU_send_F1_SETUP_RESPONSE(instance_t instance,
/* mandatory */
/* c3. cells to be Activated list */
int
num_cells_to_activate
=
f1ap_setup_resp
->
num_cells_to_activate
;
LOG_
D
(
F1AP
,
"num_cells_to_activate = %d
\n
"
,
num_cells_to_activate
);
LOG_
I
(
F1AP
,
"num_cells_to_activate = %d
\n
"
,
num_cells_to_activate
);
if
(
num_cells_to_activate
>
0
)
{
ie
=
(
F1AP_F1SetupResponseIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_F1SetupResponseIEs_t
));
ie
->
id
=
F1AP_ProtocolIE_ID_id_Cells_to_be_Activated_List
;
ie
->
criticality
=
F1AP_Criticality_reject
;
ie
->
value
.
present
=
F1AP_F1SetupResponseIEs__value_PR_Cells_to_be_Activated_List
;
for
(
i
=
0
;
i
<
num_cells_to_activate
;
i
++
)
{
for
(
i
=
0
;
i
<
num_cells_to_activate
;
i
++
)
{
LOG_I
(
F1AP
,
"(%d) mcc = %d, mnc = %d, mnc_digit_length = %d
\n
"
,
i
,
f1ap_setup_resp
->
cells_to_activate
[
i
].
mcc
,
f1ap_setup_resp
->
cells_to_activate
[
i
].
mnc
,
f1ap_setup_resp
->
cells_to_activate
[
i
].
mnc_digit_length
);
F1AP_Cells_to_be_Activated_List_ItemIEs_t
*
cells_to_be_activated_list_item_ies
;
cells_to_be_activated_list_item_ies
=
(
F1AP_Cells_to_be_Activated_List_ItemIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_Cells_to_be_Activated_List_ItemIEs_t
));
...
...
@@ -379,7 +379,7 @@ int CU_send_F1_SETUP_RESPONSE(instance_t instance,
(
const
char
*
)
f1ap_setup_resp
->
cells_to_activate
[
i
].
SI_container
[
sIBtype
],
f1ap_setup_resp
->
cells_to_activate
[
i
].
SI_container_length
[
sIBtype
]);
LOG_
D
(
F1AP
,
"f1ap_setup_resp->SI_container_length[%d][%d] = %d
\n
"
,
i
,
sIBtype
,
f1ap_setup_resp
->
cells_to_activate
[
i
].
SI_container_length
[
sIBtype
]);
LOG_
I
(
F1AP
,
"f1ap_setup_resp->SI_container_length[%d][%d] = %d
\n
"
,
i
,
sIBtype
,
f1ap_setup_resp
->
cells_to_activate
[
i
].
SI_container_length
[
sIBtype
]);
ASN_SEQUENCE_ADD
(
&
gNB_CUSystemInformation
->
sibtypetobeupdatedlist
.
list
,
sib_item
);
}
}
...
...
@@ -569,6 +569,9 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
for
(
i
=
0
;
i
<
f1ap_gnb_cu_configuration_update
->
num_cells_to_activate
;
i
++
)
{
LOG_I
(
F1AP
,
"(%d) mcc = %d, mnc = %d, mnc_digit_length = %d
\n
"
,
i
,
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
);
F1AP_Cells_to_be_Activated_List_ItemIEs_t
*
cells_to_be_activated_list_item_ies
;
cells_to_be_activated_list_item_ies
=
(
F1AP_Cells_to_be_Activated_List_ItemIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_Cells_to_be_Activated_List_ItemIEs_t
));
cells_to_be_activated_list_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_Cells_to_be_Activated_List_Item
;
...
...
@@ -590,53 +593,56 @@ int CU_send_gNB_CU_CONFIGURATION_UPDATE(instance_t instance, f1ap_gnb_cu_configu
&
nRCGI
.
nRCellIdentity
);
cells_to_be_activated_list_item
.
nRCGI
=
nRCGI
;
// optional
// -nRPCI
cells_to_be_activated_list_item
.
nRPCI
=
(
F1AP_NRPCI_t
*
)
calloc
(
1
,
sizeof
(
F1AP_NRPCI_t
));
*
cells_to_be_activated_list_item
.
nRPCI
=
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
nrpci
;
// int 0..1007
if
(
RC
.
nrrrc
)
{
// optional
// 3.1.2 gNB-CUSystem Information
F1AP_Cells_to_be_Activated_List_ItemExtIEs_t
*
cells_to_be_activated_list_itemExtIEs
;
cells_to_be_activated_list_itemExtIEs
=
(
F1AP_Cells_to_be_Activated_List_ItemExtIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_Cells_to_be_Activated_List_ItemExtIEs_t
));
cells_to_be_activated_list_itemExtIEs
->
id
=
F1AP_ProtocolIE_ID_id_gNB_CUSystemInformation
;
cells_to_be_activated_list_itemExtIEs
->
criticality
=
F1AP_Criticality_reject
;
cells_to_be_activated_list_itemExtIEs
->
extensionValue
.
present
=
F1AP_Cells_to_be_Activated_List_ItemExtIEs__extensionValue_PR_GNB_CUSystemInformation
;
// optional
// -nRPCI
cells_to_be_activated_list_item
.
nRPCI
=
(
F1AP_NRPCI_t
*
)
calloc
(
1
,
sizeof
(
F1AP_NRPCI_t
));
*
cells_to_be_activated_list_item
.
nRPCI
=
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
nrpci
;
// int 0..1007
// optional
// 3.1.2 gNB-CUSystem Information
F1AP_Cells_to_be_Activated_List_ItemExtIEs_t
*
cells_to_be_activated_list_itemExtIEs
;
cells_to_be_activated_list_itemExtIEs
=
(
F1AP_Cells_to_be_Activated_List_ItemExtIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_Cells_to_be_Activated_List_ItemExtIEs_t
));
cells_to_be_activated_list_itemExtIEs
->
id
=
F1AP_ProtocolIE_ID_id_gNB_CUSystemInformation
;
cells_to_be_activated_list_itemExtIEs
->
criticality
=
F1AP_Criticality_reject
;
cells_to_be_activated_list_itemExtIEs
->
extensionValue
.
present
=
F1AP_Cells_to_be_Activated_List_ItemExtIEs__extensionValue_PR_GNB_CUSystemInformation
;
if
(
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
num_SI
>
0
)
{
F1AP_GNB_CUSystemInformation_t
*
gNB_CUSystemInformation
=
(
F1AP_GNB_CUSystemInformation_t
*
)
calloc
(
1
,
sizeof
(
F1AP_GNB_CUSystemInformation_t
));
//LOG_I(F1AP, "%s() SI %d size %d: ", __func__, i, f1ap_setup_resp->SI_container_length[i][0]);
//for (int n = 0; n < f1ap_setup_resp->SI_container_length[i][0]; n++)
// printf("%02x ", f1ap_setup_resp->SI_container[i][0][n]);
//printf("\n");
if
(
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
num_SI
>
0
)
{
F1AP_GNB_CUSystemInformation_t
*
gNB_CUSystemInformation
=
(
F1AP_GNB_CUSystemInformation_t
*
)
calloc
(
1
,
sizeof
(
F1AP_GNB_CUSystemInformation_t
));
//LOG_I(F1AP, "%s() SI %d size %d: ", __func__, i, f1ap_setup_resp->SI_container_length[i][0]);
//for (int n = 0; n < f1ap_setup_resp->SI_container_length[i][0]; n++)
// printf("%02x ", f1ap_setup_resp->SI_container[i][0][n]);
//printf("\n");
// for (int sIBtype=2;sIBtype<33;sIBtype++) { //21 ? 33 ?
for
(
int
sIBtype
=
2
;
sIBtype
<
21
;
sIBtype
++
)
{
if
(
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
SI_container
[
sIBtype
]
!=
NULL
)
{
AssertFatal
(
sIBtype
<
6
||
sIBtype
==
9
,
"Illegal SI type %d
\n
"
,
sIBtype
);
F1AP_SibtypetobeupdatedListItem_t
*
sib_item
=
calloc
(
1
,
sizeof
(
*
sib_item
));
memset
((
void
*
)
sib_item
,
0
,
sizeof
(
*
sib_item
));
sib_item
->
sIBtype
=
sIBtype
;
OCTET_STRING_fromBuf
(
&
sib_item
->
sIBmessage
,
(
const
char
*
)
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
SI_container
[
sIBtype
],
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
SI_container_length
[
sIBtype
]);
LOG_D
(
F1AP
,
"f1ap_setup_resp->SI_container_length[%d][%d] = %d
\n
"
,
i
,
sIBtype
,
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
SI_container_length
[
sIBtype
]);
ASN_SEQUENCE_ADD
(
&
gNB_CUSystemInformation
->
sibtypetobeupdatedlist
.
list
,
sib_item
);
}
}
cells_to_be_activated_list_itemExtIEs
->
extensionValue
.
choice
.
GNB_CUSystemInformation
=
*
gNB_CUSystemInformation
;
F1AP_ProtocolExtensionContainer_154P112_t
p_154P112_t
;
memset
((
void
*
)
&
p_154P112_t
,
0
,
sizeof
(
F1AP_ProtocolExtensionContainer_154P112_t
));
ASN_SEQUENCE_ADD
(
&
p_154P112_t
.
list
,
cells_to_be_activated_list_itemExtIEs
);
cells_to_be_activated_list_item
.
iE_Extensions
=
(
struct
F1AP_ProtocolExtensionContainer
*
)
&
p_154P112_t
;
free
(
gNB_CUSystemInformation
);
gNB_CUSystemInformation
=
NULL
;
// for (int sIBtype=2;sIBtype<33;sIBtype++) { //21 ? 33 ?
for
(
int
sIBtype
=
2
;
sIBtype
<
21
;
sIBtype
++
)
{
if
(
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
SI_container
[
sIBtype
]
!=
NULL
)
{
AssertFatal
(
sIBtype
<
6
||
sIBtype
==
9
,
"Illegal SI type %d
\n
"
,
sIBtype
);
F1AP_SibtypetobeupdatedListItem_t
*
sib_item
=
calloc
(
1
,
sizeof
(
*
sib_item
));
memset
((
void
*
)
sib_item
,
0
,
sizeof
(
*
sib_item
));
sib_item
->
sIBtype
=
sIBtype
;
OCTET_STRING_fromBuf
(
&
sib_item
->
sIBmessage
,
(
const
char
*
)
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
SI_container
[
sIBtype
],
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
SI_container_length
[
sIBtype
]);
LOG_D
(
F1AP
,
"f1ap_setup_resp->SI_container_length[%d][%d] = %d
\n
"
,
i
,
sIBtype
,
f1ap_gnb_cu_configuration_update
->
cells_to_activate
[
i
].
SI_container_length
[
sIBtype
]);
ASN_SEQUENCE_ADD
(
&
gNB_CUSystemInformation
->
sibtypetobeupdatedlist
.
list
,
sib_item
);
}
}
cells_to_be_activated_list_itemExtIEs
->
extensionValue
.
choice
.
GNB_CUSystemInformation
=
*
gNB_CUSystemInformation
;
F1AP_ProtocolExtensionContainer_154P112_t
p_154P112_t
;
memset
((
void
*
)
&
p_154P112_t
,
0
,
sizeof
(
F1AP_ProtocolExtensionContainer_154P112_t
));
ASN_SEQUENCE_ADD
(
&
p_154P112_t
.
list
,
cells_to_be_activated_list_itemExtIEs
);
cells_to_be_activated_list_item
.
iE_Extensions
=
(
struct
F1AP_ProtocolExtensionContainer
*
)
&
p_154P112_t
;
free
(
gNB_CUSystemInformation
);
gNB_CUSystemInformation
=
NULL
;
}
}
// ADD
...
...
This diff is collapsed.
Click to expand it.
openair2/F1AP/f1ap_cu_rrc_message_transfer.c
View file @
024808e6
...
...
@@ -130,13 +130,13 @@ int CU_handle_INITIAL_UL_RRC_MESSAGE_TRANSFER(instance_t instance,
ccch_sdu_len
);
}
LOG_I
(
F1AP
,
"%s() RRCContainer (CCCH) size %ld: "
,
__func__
,
ie
->
value
.
choice
.
RRCContainer
.
size
);
for
(
int
i
=
0
;
i
<
ie
->
value
.
choice
.
RRCContainer
.
size
;
i
++
)
printf
(
"%02x "
,
RRC_MAC_CCCH_DATA_IND
(
message_p
).
sdu
[
i
]);
printf
(
"
\n
"
);
if
(
RC
.
nrrrc
&&
RC
.
nrrrc
[
GNB_INSTANCE_TO_MODULE_ID
(
instance
)]
->
node_type
==
ngran_gNB_CU
)
{
LOG_I
(
F1AP
,
"%s() RRCContainer (CCCH) size %ld: "
,
__func__
,
ie
->
value
.
choice
.
RRCContainer
.
size
);
for
(
int
i
=
0
;
i
<
ie
->
value
.
choice
.
RRCContainer
.
size
;
i
++
)
printf
(
"%02x "
,
RRC_MAC_CCCH_DATA_IND
(
message_p
).
sdu
[
i
]);
printf
(
"
\n
"
);
/* DUtoCURRCContainer */
F1AP_FIND_PROTOCOLIE_BY_ID
(
F1AP_InitialULRRCMessageTransferIEs_t
,
ie
,
container
,
F1AP_ProtocolIE_ID_id_DUtoCURRCContainer
,
true
);
...
...
@@ -295,10 +295,12 @@ int CU_send_DL_RRC_MESSAGE_TRANSFER(instance_t instance,
OCTET_STRING_fromBuf
(
&
ie
->
value
.
choice
.
RRCContainer
,
(
const
char
*
)
f1ap_dl_rrc
->
rrc_container
,
f1ap_dl_rrc
->
rrc_container_length
);
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
LOG_I
(
F1AP
,
"%s() RRCContainer size %d: "
,
__func__
,
f1ap_dl_rrc
->
rrc_container_length
);
for
(
int
i
=
0
;
i
<
ie
->
value
.
choice
.
RRCContainer
.
size
;
i
++
)
printf
(
"%02x "
,
f1ap_dl_rrc
->
rrc_container
[
i
]);
printf
(
"
\n
"
);
if
(
RC
.
nrrrc
&&
RC
.
nrrrc
[
GNB_INSTANCE_TO_MODULE_ID
(
instance
)]
->
node_type
==
ngran_gNB_CU
)
{
LOG_I
(
F1AP
,
"%s() RRCContainer size %d: "
,
__func__
,
f1ap_dl_rrc
->
rrc_container_length
);
for
(
int
i
=
0
;
i
<
ie
->
value
.
choice
.
RRCContainer
.
size
;
i
++
)
printf
(
"%02x "
,
f1ap_dl_rrc
->
rrc_container
[
i
]);
printf
(
"
\n
"
);
}
/* optional */
/* c7. RAT_FrequencyPriorityInformation */
...
...
This diff is collapsed.
Click to expand it.
openair2/F1AP/f1ap_cu_ue_context_management.c
View file @
024808e6
...
...
@@ -742,13 +742,15 @@ int CU_send_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
/* OPTIONAL */
/* RRCContainer */
ie
=
(
F1AP_UEContextSetupRequestIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_UEContextSetupRequestIEs_t
));
ie
->
id
=
F1AP_ProtocolIE_ID_id_RRCContainer
;
ie
->
criticality
=
F1AP_Criticality_reject
;
ie
->
value
.
present
=
F1AP_UEContextSetupRequestIEs__value_PR_RRCContainer
;
OCTET_STRING_fromBuf
(
&
ie
->
value
.
choice
.
RRCContainer
,
(
const
char
*
)
f1ap_ue_context_setup_req
->
rrc_container
,
f1ap_ue_context_setup_req
->
rrc_container_length
);
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
if
(
RC
.
nrrrc
)
{
ie
=
(
F1AP_UEContextSetupRequestIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_UEContextSetupRequestIEs_t
));
ie
->
id
=
F1AP_ProtocolIE_ID_id_RRCContainer
;
ie
->
criticality
=
F1AP_Criticality_reject
;
ie
->
value
.
present
=
F1AP_UEContextSetupRequestIEs__value_PR_RRCContainer
;
OCTET_STRING_fromBuf
(
&
ie
->
value
.
choice
.
RRCContainer
,
(
const
char
*
)
f1ap_ue_context_setup_req
->
rrc_container
,
f1ap_ue_context_setup_req
->
rrc_container_length
);
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
}
/* OPTIONAL */
/* MaskedIMEISV */
...
...
@@ -781,7 +783,9 @@ int CU_send_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
LOG_D
(
F1AP
,
"F1AP UEContextSetupRequest Encoded %u bits
\n
"
,
len
);
cu_f1ap_itti_send_sctp_data_req
(
instance
,
f1ap_assoc_id
/* BK: fix me*/
,
buffer
,
len
,
0
/* BK: fix me*/
);
if
(
RC
.
nrrrc
)
{
cu_f1ap_itti_send_sctp_data_req
(
instance
,
f1ap_assoc_id
/* BK: fix me*/
,
buffer
,
len
,
0
/* BK: fix me*/
);
}
return
0
;
}
...
...
This diff is collapsed.
Click to expand it.
openair2/F1AP/f1ap_du_interface_management.c
View file @
024808e6
...
...
@@ -415,15 +415,17 @@ int DU_send_F1_SETUP_REQUEST(instance_t instance) {
/* mandatory */
/* c5. RRC VERSION */
ie
=
(
F1AP_F1SetupRequestIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_F1SetupRequestIEs_t
));
ie
->
id
=
F1AP_ProtocolIE_ID_id_GNB_DU_RRC_Version
;
ie
->
criticality
=
F1AP_Criticality_reject
;
ie
->
value
.
present
=
F1AP_F1SetupRequestIEs__value_PR_RRC_Version
;
ie
->
value
.
choice
.
RRC_Version
.
latest_RRC_Version
.
buf
=
calloc
(
1
,
sizeof
(
char
));
ie
->
value
.
choice
.
RRC_Version
.
latest_RRC_Version
.
buf
[
0
]
=
0xe0
;
ie
->
value
.
choice
.
RRC_Version
.
latest_RRC_Version
.
size
=
1
;
ie
->
value
.
choice
.
RRC_Version
.
latest_RRC_Version
.
bits_unused
=
5
;
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
if
(
RC
.
nrrrc
)
{
ie
=
(
F1AP_F1SetupRequestIEs_t
*
)
calloc
(
1
,
sizeof
(
F1AP_F1SetupRequestIEs_t
));
ie
->
id
=
F1AP_ProtocolIE_ID_id_GNB_DU_RRC_Version
;
ie
->
criticality
=
F1AP_Criticality_reject
;
ie
->
value
.
present
=
F1AP_F1SetupRequestIEs__value_PR_RRC_Version
;
ie
->
value
.
choice
.
RRC_Version
.
latest_RRC_Version
.
buf
=
calloc
(
1
,
sizeof
(
char
));
ie
->
value
.
choice
.
RRC_Version
.
latest_RRC_Version
.
buf
[
0
]
=
0xe0
;
ie
->
value
.
choice
.
RRC_Version
.
latest_RRC_Version
.
size
=
1
;
ie
->
value
.
choice
.
RRC_Version
.
latest_RRC_Version
.
bits_unused
=
5
;
ASN_SEQUENCE_ADD
(
&
out
->
protocolIEs
.
list
,
ie
);
}
/* encode */
if
(
f1ap_encode_pdu
(
&
pdu
,
&
buffer
,
&
len
)
<
0
)
{
...
...
This diff is collapsed.
Click to expand it.
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