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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
61fb99c7
Commit
61fb99c7
authored
Dec 27, 2021
by
Laurent THOMAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cleanup nr_band function
parent
31d9da3f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
25 deletions
+20
-25
openair2/F1AP/f1ap_cu_interface_management.c
openair2/F1AP/f1ap_cu_interface_management.c
+20
-25
No files found.
openair2/F1AP/f1ap_cu_interface_management.c
View file @
61fb99c7
...
...
@@ -118,29 +118,28 @@ int CU_handle_F1_SETUP_REQUEST(instance_t instance,
LOG_D
(
F1AP
,
"req->num_cells_available %d
\n
"
,
req
->
num_cells_available
);
for
(
i
=
0
;
i
<
req
->
num_cells_available
;
i
++
)
{
F1AP_GNB_DU_Served_Cells_Item_t
*
served_cells_item_p
;
served_cells_item_p
=
&
(((
F1AP_GNB_DU_Served_Cells_ItemIEs_t
*
)
ie
->
value
.
choice
.
GNB_DU_Served_Cells_List
.
list
.
array
[
i
])
->
value
.
choice
.
GNB_DU_Served_Cells_Item
);
F1AP_Served_Cell_Information_t
*
served_cell_information
=
&
gnb_du_served_cells_item
->
served_Cell_Information
;
F1AP_GNB_DU_Served_Cells_Item_t
*
served_cells_item
=
&
(((
F1AP_GNB_DU_Served_Cells_ItemIEs_t
*
)
ie
->
value
.
choice
.
GNB_DU_Served_Cells_List
.
list
.
array
[
i
])
->
value
.
choice
.
GNB_DU_Served_Cells_Item
);
F1AP_Served_Cell_Information_t
*
servedCellInformation
=
&
served_cells_item
->
served_Cell_Information
;
/* tac */
if
(
served
_Cell_
Information
->
fiveGS_TAC
)
{
OCTET_STRING_TO_INT16
(
served
_Cell_
Information
->
fiveGS_TAC
,
req
->
cell
[
i
].
tac
);
if
(
served
Cell
Information
->
fiveGS_TAC
)
{
OCTET_STRING_TO_INT16
(
served
Cell
Information
->
fiveGS_TAC
,
req
->
cell
[
i
].
tac
);
LOG_D
(
F1AP
,
"req->tac[%d] %d
\n
"
,
i
,
req
->
cell
[
i
].
tac
);
}
/* - nRCGI */
TBCD_TO_MCC_MNC
(
&
(
served
_Cell_
Information
->
nRCGI
.
pLMN_Identity
),
req
->
cell
[
i
].
mcc
,
TBCD_TO_MCC_MNC
(
&
(
served
Cell
Information
->
nRCGI
.
pLMN_Identity
),
req
->
cell
[
i
].
mcc
,
req
->
cell
[
i
].
mnc
,
req
->
cell
[
i
].
mnc_digit_length
);
// NR cellID
BIT_STRING_TO_NR_CELL_IDENTITY
(
&
served
_Cell_
Information
->
nRCGI
.
nRCellIdentity
,
BIT_STRING_TO_NR_CELL_IDENTITY
(
&
served
Cell
Information
->
nRCGI
.
nRCellIdentity
,
req
->
cell
[
i
].
nr_cellid
);
LOG_D
(
F1AP
,
"[SCTP %d] Received nRCGI: MCC %d, MNC %d, CELL_ID %llu
\n
"
,
assoc_id
,
req
->
cell
[
i
].
mcc
,
req
->
cell
[
i
].
mnc
,
(
long
long
unsigned
int
)
req
->
cell
[
i
].
nr_cellid
);
/* - nRPCI */
req
->
cell
[
i
].
nr_pci
=
served
_Cell_
Information
->
nRPCI
;
req
->
cell
[
i
].
nr_pci
=
served
Cell
Information
->
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
...
...
@@ -151,27 +150,23 @@ int CU_handle_F1_SETUP_REQUEST(instance_t instance,
f1ap_req
(
true
,
instance
)
->
cell_type
=
CELL_MACRO_ENB
;
struct
F1AP_GNB_DU_System_Information
*
DUsi
=
served_cells_item
->
gNB_DU_System_Information
;
LOG_I
(
F1AP
,
"Received Cell in %d context
\n
"
,
f1ap_req
(
true
,
instance
)
->
cell_type
==
CELL_MACRO_GNB
);
// System Information
/* mib */
req
->
mib
[
i
]
=
calloc
(
served_cells_item_p
->
gNB_DU_System_Information
->
mIB_message
.
size
+
1
,
sizeof
(
char
));
memcpy
(
req
->
mib
[
i
],
served_cells_item_p
->
gNB_DU_System_Information
->
mIB_message
.
buf
,
served_cells_item_p
->
gNB_DU_System_Information
->
mIB_message
.
size
);
req
->
mib
[
i
]
=
calloc
(
DUsi
->
mIB_message
.
size
+
1
,
sizeof
(
char
));
memcpy
(
req
->
mib
[
i
],
DUsi
->
mIB_message
.
buf
,
DUsi
->
mIB_message
.
size
);
/* Convert the mme name to a printable string */
req
->
mib
[
i
][
served_cells_item_p
->
gNB_DU_System_Information
->
mIB_message
.
size
]
=
'\0'
;
req
->
mib_length
[
i
]
=
served_cells_item_p
->
gNB_DU_System_Information
->
mIB_message
.
size
;
LOG_D
(
F1AP
,
"req->mib[%d] len = %d
\n
"
,
i
,
req
->
mib_length
[
i
]);
req
->
mib
[
i
][
DUsi
->
mIB_message
.
size
]
=
'\0'
;
req
->
mib_length
[
i
]
=
DUsi
->
mIB_message
.
size
;
LOG_D
(
F1AP
,
"req->mib[%d] len = %d
\n
"
,
i
,
req
->
mib_length
[
i
]);
/* sib1 */
req
->
sib1
[
i
]
=
calloc
(
served_cells_item_p
->
gNB_DU_System_Information
->
sIB1_message
.
size
+
1
,
sizeof
(
char
));
memcpy
(
req
->
sib1
[
i
],
served_cells_item_p
->
gNB_DU_System_Information
->
sIB1_message
.
buf
,
served_cells_item_p
->
gNB_DU_System_Information
->
sIB1_message
.
size
);
req
->
sib1
[
i
]
=
calloc
(
DUsi
->
sIB1_message
.
size
+
1
,
sizeof
(
char
));
memcpy
(
req
->
sib1
[
i
],
DUsi
->
sIB1_message
.
buf
,
DUsi
->
sIB1_message
.
size
);
/* Convert the mme name to a printable string */
req
->
sib1
[
i
][
served_cells_item_p
->
gNB_DU_System_Information
->
sIB1_message
.
size
]
=
'\0'
;
req
->
sib1_length
[
i
]
=
served_cells_item_p
->
gNB_DU_System_Information
->
sIB1_message
.
size
;
LOG_D
(
F1AP
,
"req->sib1[%d] len = %d
\n
"
,
i
,
req
->
sib1_length
[
i
]);
req
->
sib1
[
i
][
DUsi
->
sIB1_message
.
size
]
=
'\0'
;
req
->
sib1_length
[
i
]
=
DUsi
->
sIB1_message
.
size
;
LOG_D
(
F1AP
,
"req->sib1[%d] len = %d
\n
"
,
i
,
req
->
sib1_length
[
i
]);
}
// char *measurement_timing_information[F1AP_MAX_NB_CELLS];
...
...
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