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
lizhongxiao
OpenXG-RAN
Commits
2270cd4c
Commit
2270cd4c
authored
Oct 06, 2023
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
RLF handled after SRB retx failure
parent
45546102
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
16 additions
and
13 deletions
+16
-13
executables/nr-uesoftmodem.c
executables/nr-uesoftmodem.c
+3
-0
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
+8
-1
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
+1
-1
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
+1
-1
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
+2
-9
No files found.
executables/nr-uesoftmodem.c
View file @
2270cd4c
...
...
@@ -168,6 +168,9 @@ nr_bler_struct nr_bler_data[NR_NUM_MCS];
static
void
init_bler_table
(
char
*
);
// to be removed
void
nr_mac_trigger_ul_failure
(
int
rnti
)
{
abort
();
}
/*---------------------BMC: timespec helpers -----------------------------*/
struct
timespec
min_diff_time
=
{
.
tv_sec
=
0
,
.
tv_nsec
=
0
};
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_RA.c
View file @
2270cd4c
...
...
@@ -1937,7 +1937,7 @@ static void nr_check_Msg4_Ack(module_id_t module_id, int CC_id, frame_t frame, s
LOG_A
(
NR_MAC
,
"(UE RNTI 0x%04x) Received Ack of RA-Msg4. CBRA procedure succeeded!
\n
"
,
ra
->
rnti
);
}
else
{
LOG_I
(
NR_MAC
,
"%4d.%2d UE %04x: RA Procedure failed at Msg4!
\n
"
,
frame
,
slot
,
ra
->
rnti
);
nr_mac_trigger_ul_failure
(
sched_ctrl
,
UE
->
current_DL_BWP
.
scs
);
nr_mac_trigger_ul_failure
(
UE
->
rnti
);
}
// Pause scheduling according to:
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_primitives.c
View file @
2270cd4c
...
...
@@ -3064,14 +3064,21 @@ bool nr_mac_check_release(NR_UE_sched_ctrl_t *sched_ctrl, int rnti)
return
sched_ctrl
->
release_timer
==
0
;
}
void
nr_mac_trigger_ul_failure
(
NR_UE_sched_ctrl_t
*
sched_ctrl
,
NR_SubcarrierSpacing_t
subcarrier_spacing
)
void
nr_mac_trigger_ul_failure
(
int
rnti
)
{
NR_UE_info_t
*
UE
=
find_nr_UE
(
&
RC
.
nrmac
[
0
]
->
UE_info
,
rnti
);
if
(
UE
==
NULL
)
{
LOG_E
(
NR_MAC
,
"could not find UE RNTI %04x
\n
"
,
rnti
);
return
;
}
NR_UE_sched_ctrl_t
*
sched_ctrl
=
&
UE
->
UE_sched_ctrl
;
if
(
sched_ctrl
->
ul_failure
)
{
/* already running */
return
;
}
sched_ctrl
->
ul_failure
=
true
;
// 30 seconds till triggering release request
NR_SubcarrierSpacing_t
subcarrier_spacing
=
UE
->
current_DL_BWP
.
scs
;
sched_ctrl
->
ul_failure_timer
=
30000
<<
subcarrier_spacing
;
}
...
...
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_ulsch.c
View file @
2270cd4c
...
...
@@ -680,7 +680,7 @@ static void _nr_rx_sdu(const module_id_t gnb_mod_idP,
"UE %04x: Detected UL Failure on PUSCH after %d PUSCH DTX, stopping scheduling
\n
"
,
UE
->
rnti
,
UE
->
UE_sched_ctrl
.
pusch_consecutive_dtx_cnt
);
nr_mac_trigger_ul_failure
(
&
UE
->
UE_sched_ctrl
,
UE
->
current_UL_BWP
.
scs
);
nr_mac_trigger_ul_failure
(
UE
->
rnti
);
}
}
}
else
if
(
sduP
)
{
...
...
openair2/LAYER2/NR_MAC_gNB/mac_proto.h
View file @
2270cd4c
...
...
@@ -442,7 +442,7 @@ void nr_mac_trigger_release_timer(NR_UE_sched_ctrl_t *sched_ctrl, NR_SubcarrierS
bool
nr_mac_check_release
(
NR_UE_sched_ctrl_t
*
sched_ctrl
,
int
rnti
);
void
nr_mac_release_ue
(
gNB_MAC_INST
*
mac
,
int
rnti
);
void
nr_mac_trigger_ul_failure
(
NR_UE_sched_ctrl_t
*
sched_ctrl
,
NR_SubcarrierSpacing_t
subcarrier_spacing
);
void
nr_mac_trigger_ul_failure
(
int
rnti
);
void
nr_mac_reset_ul_failure
(
NR_UE_sched_ctrl_t
*
sched_ctrl
);
void
nr_mac_check_ul_failure
(
const
gNB_MAC_INST
*
nrmac
,
int
rnti
,
NR_UE_sched_ctrl_t
*
sched_ctrl
);
...
...
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
View file @
2270cd4c
...
...
@@ -569,6 +569,7 @@ rb_found:
#endif
}
extern
void
nr_mac_trigger_ul_failure
(
int
rnti
);
static
void
max_retx_reached
(
void
*
_ue
,
nr_rlc_entity_t
*
entity
)
{
nr_rlc_ue_t
*
ue
=
_ue
;
...
...
@@ -615,15 +616,7 @@ rb_found:
if
(
!
is_enb
)
return
;
#if 0
msg = itti_alloc_new_message(TASK_RLC_ENB, RLC_SDU_INDICATION);
RLC_SDU_INDICATION(msg).rnti = ue->rnti;
RLC_SDU_INDICATION(msg).is_successful = 0;
RLC_SDU_INDICATION(msg).srb_id = rb_id;
RLC_SDU_INDICATION(msg).message_id = -1;
/* TODO: accept more than 1 instance? here we send to instance id 0 */
itti_send_msg_to_task(TASK_RRC_ENB, 0, msg);
#endif
nr_mac_trigger_ul_failure
(
ue
->
rnti
);
}
void
nr_rlc_reestablish_entity
(
int
rnti
,
int
lc_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