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
zzha zzha
OpenXG-RAN
Commits
19af86b1
Commit
19af86b1
authored
Aug 12, 2021
by
Laurent THOMAS
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
little fixes
parent
89eb5850
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
33 additions
and
27 deletions
+33
-27
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+1
-2
openair2/F1AP/f1ap_cu_ue_context_management.c
openair2/F1AP/f1ap_cu_ue_context_management.c
+21
-23
openair2/F1AP/f1ap_encoder.c
openair2/F1AP/f1ap_encoder.c
+7
-0
openair2/GNB_APP/gnb_app.c
openair2/GNB_APP/gnb_app.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+3
-1
No files found.
cmake_targets/CMakeLists.txt
View file @
19af86b1
...
...
@@ -814,9 +814,8 @@ set(F1AP_ASN_FILES
if
(
${
RU
}
STREQUAL 0
)
set
(
F1AP_ASN_GENERATED_C_DIR
${
asn1_generated_dir
}
/F1AP_
${
ASN1RELDIR
}
)
message
(
"calling ASN1C_PREFIX=F1AP_ asn1c -gen-PER -no-gen-OER -fcompound-names -no-gen-example -findirect-choice -fno-include-deps -D
${
F1AP_ASN_GENERATED_C_DIR
}
${
F1AP_ASN_FILES
}
"
)
execute_process
(
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"F1AP_"
"-findirect-choice -fno-include-deps"
${
F1AP_ASN_GENERATED_C_DIR
}
${
F1AP_ASN_FILES
}
COMMAND
${
OPENAIR_CMAKE
}
/tools/make_asn1c_includes.sh
"F1AP_"
"-findirect-choice -fno-include-deps
-Wdebug-compiler -Wdebug-parser
"
${
F1AP_ASN_GENERATED_C_DIR
}
${
F1AP_ASN_FILES
}
RESULT_VARIABLE ret
)
...
...
openair2/F1AP/f1ap_cu_ue_context_management.c
View file @
19af86b1
...
...
@@ -73,8 +73,6 @@ static void setQos(F1AP_NonDynamic5QIDescriptor_t *toFill) {
int
CU_send_UE_CONTEXT_SETUP_REQUEST
(
instance_t
instance
,
f1ap_ue_context_setup_req_t
*
f1ap_ue_context_setup_req
)
{
F1AP_F1AP_PDU_t
pdu
=
{
0
};
uint8_t
*
buffer
=
NULL
;
uint32_t
len
=
0
;
/* Create */
/* 0. Message Type */
pdu
.
present
=
F1AP_F1AP_PDU_PR_initiatingMessage
;
...
...
@@ -115,7 +113,7 @@ int CU_send_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
ie4
->
id
=
F1AP_ProtocolIE_ID_id_ServCellIndex
;
ie4
->
criticality
=
F1AP_Criticality_reject
;
ie4
->
value
.
present
=
F1AP_UEContextSetupRequestIEs__value_PR_ServCellIndex
;
ie4
->
value
.
choice
.
ServCellIndex
=
2
;
ie4
->
value
.
choice
.
ServCellIndex
=
0
;
/* optional */
/* c5. CellULConfigured */
...
...
@@ -149,25 +147,23 @@ int CU_send_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
/* mandatory */
/* c7. Candidate_SpCell_List */
if
(
0
)
{
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextSetupRequestIEs_t
,
ie7
);
ie7
->
id
=
F1AP_ProtocolIE_ID_id_Candidate_SpCell_List
;
//90
ie7
->
criticality
=
F1AP_Criticality_ignore
;
ie7
->
value
.
present
=
F1AP_UEContextSetupRequestIEs__value_PR_Candidate_SpCell_List
;
for
(
int
i
=
0
;
i
<
0
;
i
++
)
{
asn1cSequenceAdd
(
ie7
->
value
.
choice
.
Candidate_SpCell_List
.
list
,
F1AP_Candidate_SpCell_ItemIEs_t
,
candidate_spCell_item_ies
);
candidate_spCell_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_Candidate_SpCell_Item
;
// 91
candidate_spCell_item_ies
->
criticality
=
F1AP_Criticality_reject
;
candidate_spCell_item_ies
->
value
.
present
=
F1AP_Candidate_SpCell_ItemIEs__value_PR_Candidate_SpCell_Item
;
/* 7.1 Candidate_SpCell_Item */
F1AP_Candidate_SpCell_Item_t
*
candidate_spCell_item
=
&
candidate_spCell_item_ies
->
value
.
choice
.
Candidate_SpCell_Item
;
/* - candidate_SpCell_ID */
//FixMe: first cell ???
addnRCGI
(
candidate_spCell_item
->
candidate_SpCell_ID
,
f1ap_ue_context_setup_req
);
/* TODO add correct mcc/mnc */
}
asn1cSequenceAdd
(
out
->
protocolIEs
.
list
,
F1AP_UEContextSetupRequestIEs_t
,
ie7
);
ie7
->
id
=
F1AP_ProtocolIE_ID_id_Candidate_SpCell_List
;
//90
ie7
->
criticality
=
F1AP_Criticality_ignore
;
ie7
->
value
.
present
=
F1AP_UEContextSetupRequestIEs__value_PR_Candidate_SpCell_List
;
for
(
int
i
=
0
;
i
<
1
;
i
++
)
{
asn1cSequenceAdd
(
ie7
->
value
.
choice
.
Candidate_SpCell_List
.
list
,
F1AP_Candidate_SpCell_ItemIEs_t
,
candidate_spCell_item_ies
);
candidate_spCell_item_ies
->
id
=
F1AP_ProtocolIE_ID_id_Candidate_SpCell_Item
;
// 91
candidate_spCell_item_ies
->
criticality
=
F1AP_Criticality_reject
;
candidate_spCell_item_ies
->
value
.
present
=
F1AP_Candidate_SpCell_ItemIEs__value_PR_Candidate_SpCell_Item
;
/* 7.1 Candidate_SpCell_Item */
F1AP_Candidate_SpCell_Item_t
*
candidate_spCell_item
=
&
candidate_spCell_item_ies
->
value
.
choice
.
Candidate_SpCell_Item
;
/* - candidate_SpCell_ID */
//FixMe: first cell ???
addnRCGI
(
candidate_spCell_item
->
candidate_SpCell_ID
,
f1ap_ue_context_setup_req
);
/* TODO add correct mcc/mnc */
}
/* optional */
...
...
@@ -601,8 +597,10 @@ int CU_send_UE_CONTEXT_SETUP_REQUEST(instance_t instance,
MaskedIMEISV_TO_BIT_STRING
(
12340000l
,
&
ie15
->
value
.
choice
.
MaskedIMEISV
);
// size (64)
}
//xer_fprint(stdout, &asn_DEF_F1AP_F1AP_PDU, &pdu); //(void *)pdu
/* encode */
uint8_t
*
buffer
=
NULL
;
uint32_t
len
=
0
;
if
(
f1ap_encode_pdu
(
&
pdu
,
&
buffer
,
&
len
)
<
0
)
{
LOG_E
(
F1AP
,
"Failed to encode F1 UE CONTEXT SETUP REQUEST
\n
"
);
return
-
1
;
...
...
openair2/F1AP/f1ap_encoder.c
View file @
19af86b1
...
...
@@ -47,6 +47,13 @@ int f1ap_encode_pdu(F1AP_F1AP_PDU_t *pdu, uint8_t **buffer, uint32_t *length) {
LOG_E
(
F1AP
,
"----------------- ASN1 ENCODER PRINT END-----------------
\n
"
);
}
char
errbuf
[
128
];
/* Buffer for error message */
size_t
errlen
=
sizeof
(
errbuf
);
/* Size of the buffer */
int
ret
=
asn_check_constraints
(
&
asn_DEF_F1AP_F1AP_PDU
,
pdu
,
errbuf
,
&
errlen
);
/* assert(errlen < sizeof(errbuf)); // Guaranteed: you may rely on that */
if
(
ret
)
{
fprintf
(
stderr
,
"Constraint validation failed: %s
\n
"
,
errbuf
);
}
encoded
=
aper_encode_to_new_buffer
(
&
asn_DEF_F1AP_F1AP_PDU
,
0
,
pdu
,
(
void
**
)
buffer
);
if
(
encoded
<
0
)
{
...
...
openair2/GNB_APP/gnb_app.c
View file @
19af86b1
...
...
@@ -214,7 +214,7 @@ void *gNB_app_task(void *args_p)
/* For the CU case the gNB registration with the AMF might have to take place after the F1 setup, as the PLMN info
* can originate from the DU. Add check on whether x2ap is enabled to account for ENDC NSA scenario.*/
if
((
AMF_MODE_ENABLED
||
is_x2ap_enabled
())
&&
!
NODE_IS_DU
(
RC
.
nrrrc
[
0
]
->
node_type
)
&&
!
NODE_IS_CU
(
RC
.
nrrrc
[
0
]
->
node_type
))
{
if
((
AMF_MODE_ENABLED
||
is_x2ap_enabled
())
&&
!
NODE_IS_DU
(
RC
.
nrrrc
[
0
]
->
node_type
)
)
{
//
&& !NODE_IS_CU(RC.nrrrc[0]->node_type)) {
/* Try to register each gNB */
//registered_gnb = 0;
__attribute__
((
unused
))
uint32_t
register_gnb_pending
=
gNB_app_register
(
gnb_id_start
,
gnb_id_end
);
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
19af86b1
...
...
@@ -1351,6 +1351,8 @@ int nr_acknack_scheduling(int mod_id,
/* verify that at that slot and symbol, resources are free. We only do this
* for initialCyclicShift 0 (we assume it always has that one), so other
* initialCyclicShifts can overlap with ICS 0!*/
if
(
pucch_Config
==
NULL
)
return
;
const
NR_PUCCH_Resource_t
*
resource
=
pucch_Config
->
resourceToAddModList
->
list
.
array
[
pucch
->
resource_indicator
];
DevAssert
(
resource
->
format
.
present
==
NR_PUCCH_Resource__format_PR_format0
);
if
(
resource
->
format
.
choice
.
format0
->
initialCyclicShift
==
0
)
{
...
...
@@ -1387,7 +1389,7 @@ void nr_sr_reporting(int Mod_idP, frame_t SFN, sub_frame_t slot)
RC
.
nrmac
[
Mod_idP
]
->
UE_info
.
CellGroup
[
UE_id
]
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
->
pucch_Config
->
choice
.
setup
)
{
pucch_Config
=
RC
.
nrmac
[
Mod_idP
]
->
UE_info
.
CellGroup
[
UE_id
]
->
spCellConfig
->
spCellConfigDedicated
->
uplinkConfig
->
initialUplinkBWP
->
pucch_Config
->
choice
.
setup
;
}
if
(
pucch_Config
==
NULL
)
continue
;
AssertFatal
(
pucch_Config
->
schedulingRequestResourceToAddModList
->
list
.
count
>
0
,
"NO SR configuration available"
);
for
(
int
SR_resource_id
=
0
;
SR_resource_id
<
pucch_Config
->
schedulingRequestResourceToAddModList
->
list
.
count
;
SR_resource_id
++
)
{
...
...
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