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
9fb09460
Commit
9fb09460
authored
Sep 13, 2021
by
francescomani
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
cosmetic changes and duplicate code
parent
cfccd8ec
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
34 additions
and
106 deletions
+34
-106
executables/nr-ru.c
executables/nr-ru.c
+0
-2
openair1/SCHED_NR/nr_ru_procedures.c
openair1/SCHED_NR/nr_ru_procedures.c
+0
-6
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
+24
-0
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
+0
-4
openair2/RRC/NR/rrc_gNB.c
openair2/RRC/NR/rrc_gNB.c
+9
-91
openair2/RRC/NR/rrc_gNB_NGAP.c
openair2/RRC/NR/rrc_gNB_NGAP.c
+0
-2
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
+1
-1
No files found.
executables/nr-ru.c
View file @
9fb09460
...
...
@@ -1384,7 +1384,6 @@ void *ru_thread( void *param ) {
}
}
// At this point, all information for subframe has been received on FH interface
res
=
pullTpool
(
gNB
->
resp_L1
,
gNB
->
threadPool
);
syncMsg
=
(
processingData_L1_t
*
)
NotifiedFifoData
(
res
);
...
...
@@ -1396,7 +1395,6 @@ void *ru_thread( void *param ) {
syncMsg
->
timestamp_tx
=
proc
->
timestamp_tx
;
res
->
key
=
proc
->
tti_rx
;
pushTpool
(
gNB
->
threadPool
,
res
);
}
printf
(
"Exiting ru_thread
\n
"
);
...
...
openair1/SCHED_NR/nr_ru_procedures.c
View file @
9fb09460
...
...
@@ -325,12 +325,6 @@ static void *nr_feptx_thread(void *param) {
(
void
*
)
&
ru
->
gNB_list
[
0
]
->
common_vars
.
txdataF
[
aa
%
gNB_tx
][
txdataF_offset
+
l
*
fp
->
ofdm_symbol_size
],
(
fp
->
samples_per_slot_wCP
>>
1
)
*
sizeof
(
int32_t
));
}
else
if
(
ru
->
do_precoding
==
0
)
{
int
gNB_tx
=
ru
->
gNB_list
[
0
]
->
frame_parms
.
nb_antennas_tx
;
memcpy
((
void
*
)
&
ru
->
common
.
txdataF_BF
[
aa
][
l
*
fp
->
ofdm_symbol_size
],
(
void
*
)
&
ru
->
gNB_list
[
0
]
->
common_vars
.
txdataF
[
aa
%
gNB_tx
][
txdataF_offset
+
l
*
fp
->
ofdm_symbol_size
],
(
fp
->
samples_per_slot_wCP
>>
1
)
*
sizeof
(
int32_t
));
}
else
{
bw
=
ru
->
beam_weights
[
0
];
for
(
i
=
0
;
i
<
fp
->
symbols_per_slot
>>
1
;
++
i
){
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler.c
View file @
9fb09460
...
...
@@ -77,6 +77,13 @@ void dump_mac_stats(gNB_MAC_INST *gNB)
int
stroff
=
0
;
for
(
int
UE_id
=
UE_info
->
list
.
head
;
UE_id
>=
0
;
UE_id
=
UE_info
->
list
.
next
[
UE_id
])
{
stroff
=
sprintf
(
output
,
"UE ID %d RNTI %04x (%d/%d)
\n
"
,
UE_id
,
UE_info
->
rnti
[
UE_id
],
num
++
,
UE_info
->
num_UEs
);
LOG_I
(
NR_MAC
,
"UE ID %d RNTI %04x (%d/%d) PH %d dB PCMAX %d dBm
\n
"
,
UE_id
,
UE_info
->
rnti
[
UE_id
],
num
++
,
UE_info
->
num_UEs
,
UE_info
->
UE_sched_ctrl
[
UE_id
].
ph
,
UE_info
->
UE_sched_ctrl
[
UE_id
].
pcmax
);
NR_mac_stats_t
*
stats
=
&
UE_info
->
mac_stats
[
UE_id
];
const
int
avg_rsrp
=
stats
->
num_rsrp_meas
>
0
?
stats
->
cumul_rsrp
/
stats
->
num_rsrp_meas
:
0
;
stroff
+=
sprintf
(
output
+
stroff
,
"UE %d: dlsch_rounds %d/%d/%d/%d, dlsch_errors %d, average RSRP %d (%d meas)
\n
"
,
...
...
@@ -84,6 +91,12 @@ void dump_mac_stats(gNB_MAC_INST *gNB)
stats
->
dlsch_rounds
[
0
],
stats
->
dlsch_rounds
[
1
],
stats
->
dlsch_rounds
[
2
],
stats
->
dlsch_rounds
[
3
],
stats
->
dlsch_errors
,
avg_rsrp
,
stats
->
num_rsrp_meas
);
LOG_I
(
NR_MAC
,
"UE %d: dlsch_rounds %d/%d/%d/%d, dlsch_errors %d, average RSRP %d (%d meas)
\n
"
,
UE_id
,
stats
->
dlsch_rounds
[
0
],
stats
->
dlsch_rounds
[
1
],
stats
->
dlsch_rounds
[
2
],
stats
->
dlsch_rounds
[
3
],
stats
->
dlsch_errors
,
avg_rsrp
,
stats
->
num_rsrp_meas
);
stats
->
num_rsrp_meas
=
0
;
stats
->
cumul_rsrp
=
0
;
stroff
+=
sprintf
(
output
+
stroff
,
"UE %d: dlsch_total_bytes %d
\n
"
,
UE_id
,
stats
->
dlsch_total_bytes
);
...
...
@@ -97,6 +110,17 @@ void dump_mac_stats(gNB_MAC_INST *gNB)
"UE %d: ulsch_total_bytes_scheduled %d, ulsch_total_bytes_received %d
\n
"
,
UE_id
,
stats
->
ulsch_total_bytes_scheduled
,
stats
->
ulsch_total_bytes_rx
);
LOG_I
(
NR_MAC
,
"UE %d: dlsch_total_bytes %d
\n
"
,
UE_id
,
stats
->
dlsch_total_bytes
);
LOG_I
(
NR_MAC
,
"UE %d: ulsch_rounds %d/%d/%d/%d, ulsch_DTX %d, ulsch_errors %d
\n
"
,
UE_id
,
stats
->
ulsch_rounds
[
0
],
stats
->
ulsch_rounds
[
1
],
stats
->
ulsch_rounds
[
2
],
stats
->
ulsch_rounds
[
3
],
stats
->
ulsch_DTX
,
stats
->
ulsch_errors
);
LOG_I
(
NR_MAC
,
"UE %d: ulsch_total_bytes_scheduled %d, ulsch_total_bytes_received %d
\n
"
,
UE_id
,
stats
->
ulsch_total_bytes_scheduled
,
stats
->
ulsch_total_bytes_rx
);
for
(
int
lc_id
=
0
;
lc_id
<
63
;
lc_id
++
)
{
if
(
stats
->
lc_bytes_tx
[
lc_id
]
>
0
)
{
stroff
+=
sprintf
(
output
+
stroff
,
"UE %d: LCID %d: %d bytes TX
\n
"
,
UE_id
,
lc_id
,
stats
->
lc_bytes_tx
[
lc_id
]);
...
...
openair2/LAYER2/nr_pdcp/nr_pdcp_oai_api.c
View file @
9fb09460
...
...
@@ -932,10 +932,6 @@ boolean_t nr_rrc_pdcp_config_asn1_req(
// TODO
}
if
(
drb2release_list
!=
NULL
)
{
// TODO
}
free
(
kRRCenc
);
free
(
kRRCint
);
free
(
kUPenc
);
...
...
openair2/RRC/NR/rrc_gNB.c
View file @
9fb09460
...
...
@@ -3043,20 +3043,20 @@ void nr_rrc_subframe_process(protocol_ctxt_t *const ctxt_pP, const int CC_id) {
RB_FOREACH
(
ue_context_p
,
rrc_nr_ue_tree_s
,
&
(
RC
.
nrrrc
[
ctxt_pP
->
module_id
]
->
rrc_ue_head
))
{
ctxt_pP
->
rnti
=
ue_context_p
->
ue_id_rnti
;
if
(
fd
)
{
if
(
ue_context_p
->
ue_context
.
Initialue_identity_5g_s_TMSI
.
presence
==
TRUE
)
{
fprintf
(
fd
,
"NR RRC UE rnti %x: S-TMSI %x failure timer %d/8
\n
"
,
if
(
fd
)
{
if
(
ue_context_p
->
ue_context
.
Initialue_identity_5g_s_TMSI
.
presence
==
TRUE
)
{
fprintf
(
fd
,
"NR RRC UE rnti %x: S-TMSI %x failure timer %d/8
\n
"
,
ue_context_p
->
ue_id_rnti
,
ue_context_p
->
ue_context
.
Initialue_identity_5g_s_TMSI
.
fiveg_tmsi
,
ue_context_p
->
ue_context
.
ul_failure_timer
);
}
else
{
fprintf
(
fd
,
"NR RRC UE rnti %x failure timer %d/8
\n
"
,
}
else
{
fprintf
(
fd
,
"NR RRC UE rnti %x failure timer %d/8
\n
"
,
ue_context_p
->
ue_id_rnti
,
ue_context_p
->
ue_context
.
ul_failure_timer
);
}
}
if
(
ue_context_p
->
ue_context
.
UE_Capability_nr
)
{
fprintf
(
fd
,
"NR RRC UE cap: BW DL %x. BW UL %x, 256 QAM DL %s, 256 QAM UL %s, DL MIMO Layers %d UL MIMO Layers (CB) %d UL MIMO Layers (nonCB) %d
\n
"
,
if
(
ue_context_p
->
ue_context
.
UE_Capability_nr
)
{
fprintf
(
fd
,
"NR RRC UE cap: BW DL %x. BW UL %x, 256 QAM DL %s, 256 QAM UL %s, DL MIMO Layers %d UL MIMO Layers (CB) %d UL MIMO Layers (nonCB) %d
\n
"
,
get_dl_bw_mask
(
RC
.
nrrrc
[
0
],
ue_context_p
->
ue_context
.
UE_Capability_nr
),
get_ul_bw_mask
(
RC
.
nrrrc
[
0
],
ue_context_p
->
ue_context
.
UE_Capability_nr
),
is_dl_256QAM_supported
(
RC
.
nrrrc
[
0
],
ue_context_p
->
ue_context
.
UE_Capability_nr
)
==
1
?
"yes"
:
"no"
,
...
...
@@ -3064,7 +3064,7 @@ void nr_rrc_subframe_process(protocol_ctxt_t *const ctxt_pP, const int CC_id) {
get_dl_mimo_layers
(
RC
.
nrrrc
[
0
],
ue_context_p
->
ue_context
.
UE_Capability_nr
),
get_ul_mimo_layersCB
(
RC
.
nrrrc
[
0
],
ue_context_p
->
ue_context
.
UE_Capability_nr
),
get_ul_mimo_layers
(
RC
.
nrrrc
[
0
],
ue_context_p
->
ue_context
.
UE_Capability_nr
));
}
}
}
if
(
ue_context_p
->
ue_context
.
ul_failure_timer
>
0
)
{
ue_context_p
->
ue_context
.
ul_failure_timer
++
;
...
...
@@ -3125,88 +3125,6 @@ void nr_rrc_subframe_process(protocol_ctxt_t *const ctxt_pP, const int CC_id) {
if
(
fd
)
fclose
(
fd
);
ue_context_p
=
NULL
;
fd
=
fopen
(
"nrRRCstats.log"
,
"w"
);
RB_FOREACH
(
ue_context_p
,
rrc_nr_ue_tree_s
,
&
(
RC
.
nrrrc
[
ctxt_pP
->
module_id
]
->
rrc_ue_head
))
{
ctxt_pP
->
rnti
=
ue_context_p
->
ue_id_rnti
;
if
(
fd
)
{
if
(
ue_context_p
->
ue_context
.
Initialue_identity_5g_s_TMSI
.
presence
==
TRUE
)
{
fprintf
(
fd
,
"NR RRC UE rnti %x: S-TMSI %x failure timer %d/8
\n
"
,
ue_context_p
->
ue_id_rnti
,
ue_context_p
->
ue_context
.
Initialue_identity_5g_s_TMSI
.
fiveg_tmsi
,
ue_context_p
->
ue_context
.
ul_failure_timer
);
}
else
{
fprintf
(
fd
,
"NR RRC UE rnti %x failure timer %d/8
\n
"
,
ue_context_p
->
ue_id_rnti
,
ue_context_p
->
ue_context
.
ul_failure_timer
);
}
if
(
ue_context_p
->
ue_context
.
UE_Capability_nr
)
{
fprintf
(
fd
,
"NR RRC UE cap: BW DL %x. BW UL %x, 256 QAM DL %s, 256 QAM UL %s, DL MIMO Layers %d UL MIMO Layers (CB) %d UL MIMO Layers (nonCB) %d
\n
"
,
get_dl_bw_mask
(
RC
.
nrrrc
[
0
],
ue_context_p
->
ue_context
.
UE_Capability_nr
),
get_ul_bw_mask
(
RC
.
nrrrc
[
0
],
ue_context_p
->
ue_context
.
UE_Capability_nr
),
is_dl_256QAM_supported
(
RC
.
nrrrc
[
0
],
ue_context_p
->
ue_context
.
UE_Capability_nr
)
==
1
?
"yes"
:
"no"
,
is_ul_256QAM_supported
(
RC
.
nrrrc
[
0
],
ue_context_p
->
ue_context
.
UE_Capability_nr
)
==
1
?
"yes"
:
"no"
,
get_dl_mimo_layers
(
RC
.
nrrrc
[
0
],
ue_context_p
->
ue_context
.
UE_Capability_nr
),
get_ul_mimo_layersCB
(
RC
.
nrrrc
[
0
],
ue_context_p
->
ue_context
.
UE_Capability_nr
),
get_ul_mimo_layers
(
RC
.
nrrrc
[
0
],
ue_context_p
->
ue_context
.
UE_Capability_nr
));
}
}
if
(
ue_context_p
->
ue_context
.
ul_failure_timer
>
0
)
{
ue_context_p
->
ue_context
.
ul_failure_timer
++
;
if
(
ue_context_p
->
ue_context
.
ul_failure_timer
>=
20000
)
{
// remove UE after 20 seconds after MAC (or else) has indicated UL failure
LOG_I
(
RRC
,
"Removing UE %x instance, because of uplink failure timer timeout
\n
"
,
ue_context_p
->
ue_context
.
rnti
);
if
(
ue_context_p
->
ue_context
.
StatusRrc
>=
NR_RRC_CONNECTED
){
rrc_gNB_send_NGAP_UE_CONTEXT_RELEASE_REQ
(
ctxt_pP
->
module_id
,
ue_context_p
,
NGAP_CAUSE_RADIO_NETWORK
,
30
);
}
else
{
mac_remove_nr_ue
(
ctxt_pP
->
module_id
,
ctxt_pP
->
rnti
);
rrc_rlc_remove_ue
(
ctxt_pP
);
pdcp_remove_UE
(
ctxt_pP
);
/* remove RRC UE Context */
ue_context_p
=
rrc_gNB_get_ue_context
(
RC
.
nrrrc
[
ctxt_pP
->
module_id
],
ctxt_pP
->
rnti
);
if
(
ue_context_p
)
{
rrc_gNB_remove_ue_context
(
ctxt_pP
,
RC
.
nrrrc
[
ctxt_pP
->
module_id
],
ue_context_p
);
LOG_I
(
NR_RRC
,
"remove UE %x
\n
"
,
ctxt_pP
->
rnti
);
}
}
break
;
// break RB_FOREACH
}
}
if
(
ue_context_p
->
ue_context
.
ue_release_timer_rrc
>
0
)
{
ue_context_p
->
ue_context
.
ue_release_timer_rrc
++
;
if
(
ue_context_p
->
ue_context
.
ue_release_timer_rrc
>=
ue_context_p
->
ue_context
.
ue_release_timer_thres_rrc
)
{
LOG_I
(
NR_RRC
,
"Removing UE %x instance after UE_CONTEXT_RELEASE_Complete (ue_release_timer_rrc timeout)
\n
"
,
ue_context_p
->
ue_context
.
rnti
);
ue_context_p
->
ue_context
.
ue_release_timer_rrc
=
0
;
mac_remove_nr_ue
(
ctxt_pP
->
module_id
,
ctxt_pP
->
rnti
);
rrc_rlc_remove_ue
(
ctxt_pP
);
pdcp_remove_UE
(
ctxt_pP
);
/* remove RRC UE Context */
ue_context_p
=
rrc_gNB_get_ue_context
(
RC
.
nrrrc
[
ctxt_pP
->
module_id
],
ctxt_pP
->
rnti
);
if
(
ue_context_p
)
{
rrc_gNB_remove_ue_context
(
ctxt_pP
,
RC
.
nrrrc
[
ctxt_pP
->
module_id
],
ue_context_p
);
LOG_I
(
NR_RRC
,
"remove UE %x
\n
"
,
ctxt_pP
->
rnti
);
}
break
;
// break RB_FOREACH
}
}
}
fclose
(
fd
);
/* send a tick to x2ap */
if
(
is_x2ap_enabled
()){
...
...
openair2/RRC/NR/rrc_gNB_NGAP.c
View file @
9fb09460
...
...
@@ -787,7 +787,6 @@ rrc_gNB_process_NGAP_DOWNLINK_NAS(
struct
rrc_gNB_ue_context_s
*
ue_context_p
=
NULL
;
protocol_ctxt_t
ctxt
;
memset
(
&
ctxt
,
0
,
sizeof
(
protocol_ctxt_t
));
ue_initial_id
=
NGAP_DOWNLINK_NAS
(
msg_p
).
ue_initial_id
;
gNB_ue_ngap_id
=
NGAP_DOWNLINK_NAS
(
msg_p
).
gNB_ue_ngap_id
;
ue_context_p
=
rrc_gNB_get_ue_context_from_ngap_ids
(
instance
,
ue_initial_id
,
gNB_ue_ngap_id
);
...
...
@@ -876,7 +875,6 @@ rrc_gNB_process_NGAP_DOWNLINK_NAS(
{
// rrc_mac_config_req_gNB
#ifdef ITTI_SIM
MessageDef
*
message_p
;
uint8_t
*
message_buffer
;
message_buffer
=
itti_malloc
(
TASK_RRC_GNB
,
TASK_RRC_UE_SIM
,
length
);
memcpy
(
message_buffer
,
buffer
,
length
);
...
...
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp
View file @
9fb09460
...
...
@@ -645,7 +645,7 @@ static int trx_usrp_read(openair0_device *device, openair0_timestamp *ptimestamp
break
;
default:
AssertFatal
(
1
==
0
,
"Shouldn't be here
\n
"
);
}
}
samples_received
=
0
;
while
(
samples_received
!=
nsamps
)
{
...
...
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