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
spbro
OpenXG-RAN
Commits
e48954a4
Commit
e48954a4
authored
May 14, 2024
by
ndomingues
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rename functions, variables and logs to apply RA 2-Step
parent
e03e8f63
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
13 additions
and
16 deletions
+13
-16
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/mac_proto.h
+1
-1
openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
+4
-4
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+1
-4
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+2
-2
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
+1
-1
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
+1
-1
No files found.
openair2/LAYER2/NR_MAC_UE/mac_proto.h
View file @
e48954a4
...
...
@@ -292,7 +292,7 @@ void nr_get_prach_resources(NR_UE_MAC_INST_t *mac,
NR_PRACH_RESOURCES_t
*
prach_resources
,
NR_RACH_ConfigDedicated_t
*
rach_ConfigDedicated
);
void
prepare_msg4_feedback
(
NR_UE_MAC_INST_t
*
mac
,
int
pid
,
int
ack_nack
);
void
prepare_msg4_
msgb_
feedback
(
NR_UE_MAC_INST_t
*
mac
,
int
pid
,
int
ack_nack
);
void
configure_initial_pucch
(
PUCCH_sched_t
*
pucch
,
int
res_ind
);
void
release_PUCCH_SRS
(
NR_UE_MAC_INST_t
*
mac
);
void
nr_ue_reset_sync_state
(
NR_UE_MAC_INST_t
*
mac
);
...
...
openair2/LAYER2/NR_MAC_UE/nr_ra_procedures.c
View file @
e48954a4
...
...
@@ -637,7 +637,7 @@ static uint8_t *fill_msg3_crnti_pdu(RA_config_t *ra, uint8_t *pdu, uint16_t crnt
static
uint8_t
*
fill_msg3_pdu_from_rlc
(
NR_UE_MAC_INST_t
*
mac
,
uint8_t
*
pdu
,
int
TBS_max
)
{
RA_config_t
*
ra
=
&
mac
->
ra
;
// regular M
SG3
with PDU coming from higher layers
// regular M
sg3/MsgA_PUSCH
with PDU coming from higher layers
*
(
NR_MAC_SUBHEADER_FIXED
*
)
pdu
=
(
NR_MAC_SUBHEADER_FIXED
){.
LCID
=
UL_SCH_LCID_CCCH
};
pdu
+=
sizeof
(
NR_MAC_SUBHEADER_FIXED
);
tbs_size_t
len
=
mac_rlc_data_req
(
mac
->
ue_id
,
...
...
@@ -651,7 +651,7 @@ static uint8_t *fill_msg3_pdu_from_rlc(NR_UE_MAC_INST_t *mac, uint8_t *pdu, int
(
char
*
)
pdu
,
0
,
0
);
AssertFatal
(
len
>
0
,
"no data for Msg
.3
\n
"
);
AssertFatal
(
len
>
0
,
"no data for Msg
3/MsgA_PUSCH
\n
"
);
// UE Contention Resolution Identity
// Store the first 48 bits belonging to the uplink CCCH SDU within Msg3 to determine whether or not the
// Random Access Procedure has been successful after reception of Msg4
...
...
@@ -677,7 +677,7 @@ void nr_get_Msg3_MsgA_PUSCH_payload(NR_UE_MAC_INST_t *mac, uint8_t *buf, int TBS
else
pdu
=
fill_msg3_pdu_from_rlc
(
mac
,
pdu
,
TBS_max
);
AssertFatal
(
TBS_max
>=
pdu
-
buf
,
"Allocated resources are not enough for Msg3!
\n
"
);
AssertFatal
(
TBS_max
>=
pdu
-
buf
,
"Allocated resources are not enough for Msg3
/MsgA_PUSCH
!
\n
"
);
// Padding: fill remainder with 0
LOG_D
(
NR_MAC
,
"Remaining %ld bytes, filling with padding
\n
"
,
pdu
-
buf
);
while
(
pdu
<
buf
+
TBS_max
-
sizeof
(
NR_MAC_SUBHEADER_FIXED
))
{
...
...
@@ -1023,7 +1023,7 @@ void schedule_RA_after_SR_failure(NR_UE_MAC_INST_t *mac)
// TODO we don't have semi-persistent CSI reporting
}
void
prepare_msg4_feedback
(
NR_UE_MAC_INST_t
*
mac
,
int
pid
,
int
ack_nack
)
void
prepare_msg4_
msgb_
feedback
(
NR_UE_MAC_INST_t
*
mac
,
int
pid
,
int
ack_nack
)
{
NR_UE_HARQ_STATUS_t
*
current_harq
=
&
mac
->
dl_harq_info
[
pid
];
int
sched_slot
=
current_harq
->
ul_slot
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
e48954a4
...
...
@@ -611,7 +611,7 @@ static void pf_dl(module_id_t module_id,
/* Loop UE_info->list to check retransmission */
UE_iterator
(
UE_list
,
UE
)
{
if
(
UE
->
Msg4_ACKed
!=
true
)
if
(
!
UE
->
Msg4_MsgB_ACKed
)
continue
;
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
e48954a4
...
...
@@ -2481,10 +2481,7 @@ NR_UE_info_t *add_new_nr_ue(gNB_MAC_INST *nr_mac, rnti_t rntiP, NR_CellGroupConf
UE
->
uid
=
uid_linear_allocator_new
(
&
UE_info
->
uid_allocator
);
UE
->
CellGroup
=
CellGroup
;
if
(
CellGroup
)
UE
->
Msg4_ACKed
=
true
;
else
UE
->
Msg4_ACKed
=
false
;
UE
->
Msg4_MsgB_ACKed
=
CellGroup
!=
NULL
;
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
memset
(
sched_ctrl
,
0
,
sizeof
(
*
sched_ctrl
));
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_uci.c
View file @
e48954a4
...
...
@@ -1041,8 +1041,8 @@ void handle_nr_uci_pucch_0_1(module_id_t mod_id,
remove_front_nr_list
(
&
sched_ctrl
->
feedback_dl_harq
);
LOG_D
(
NR_MAC
,
"%4d.%2d bit %d pid %d ack/nack %d
\n
"
,
frame
,
slot
,
harq_bit
,
pid
,
harq_value
);
handle_dl_harq
(
UE
,
pid
,
harq_value
==
0
&&
harq_confidence
==
0
,
nrmac
->
dl_bler
.
harq_round_max
);
if
(
!
UE
->
Msg4_ACKed
&&
harq_value
==
0
&&
harq_confidence
==
0
)
UE
->
Msg4_ACKed
=
true
;
if
(
!
UE
->
Msg4_
MsgB_
ACKed
&&
harq_value
==
0
&&
harq_confidence
==
0
)
UE
->
Msg4_
MsgB_
ACKed
=
true
;
if
(
harq_confidence
==
1
)
UE
->
mac_stats
.
pucch0_DTX
++
;
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
e48954a4
...
...
@@ -883,7 +883,7 @@ static void _nr_rx_sdu(const module_id_t gnb_mod_idP,
// The UE identified by C-RNTI still exists at the gNB
// Reset Msg4_ACKed to not schedule ULSCH and DLSCH before RRC Reconfiguration
UE
->
Msg4_ACKed
=
false
;
UE
->
Msg4_
MsgB_
ACKed
=
false
;
nr_mac_reset_ul_failure
(
&
UE
->
UE_sched_ctrl
);
// Reset HARQ processes
reset_dl_harq_list
(
&
UE
->
UE_sched_ctrl
);
...
...
@@ -1759,7 +1759,7 @@ static void pf_ul(module_id_t module_id,
UE_iterator
(
UE_list
,
UE
)
{
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
if
(
UE
->
Msg4_ACKed
!=
true
||
sched_ctrl
->
ul_failure
)
if
(
!
UE
->
Msg4_MsgB_ACKed
||
sched_ctrl
->
ul_failure
)
continue
;
LOG_D
(
NR_MAC
,
"pf_ul: preparing UL scheduling for UE %04x
\n
"
,
UE
->
rnti
);
...
...
openair2/LAYER2/NR_MAC_gNB/nr_mac_gNB.h
View file @
e48954a4
...
...
@@ -726,7 +726,7 @@ typedef struct {
NR_UE_NR_Capability_t
*
capability
;
// UE selected beam index
uint8_t
UE_beam_index
;
bool
Msg4_ACKed
;
bool
Msg4_
MsgB_
ACKed
;
float
ul_thr_ue
;
float
dl_thr_ue
;
long
pdsch_HARQ_ACK_Codebook
;
...
...
openair2/NR_UE_PHY_INTERFACE/NR_IF_Module.c
View file @
e48954a4
...
...
@@ -1126,7 +1126,7 @@ void update_harq_status(NR_UE_MAC_INST_t *mac, uint8_t harq_pid, uint8_t ack_nac
LOG_D
(
PHY
,
"Updating harq_status for harq_id %d, ack/nak %d
\n
"
,
harq_pid
,
current_harq
->
ack
);
// we can prepare feedback for MSG4 in advance
if
(
mac
->
ra
.
ra_state
==
nrRA_WAIT_CONTENTION_RESOLUTION
)
prepare_msg4_feedback
(
mac
,
harq_pid
,
ack_nack
);
prepare_msg4_
msgb_
feedback
(
mac
,
harq_pid
,
ack_nack
);
else
{
current_harq
->
ack
=
ack_nack
;
current_harq
->
ack_received
=
true
;
...
...
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