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
f80896f9
Commit
f80896f9
authored
Aug 24, 2023
by
Laurent THOMAS
Committed by
Robert Schmidt
Aug 29, 2023
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix LCID to RB association, allow more than 8 LCIDs in the UE
parent
464a62dd
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
8 additions
and
12 deletions
+8
-12
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+1
-4
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
+6
-4
openair2/LAYER2/nr_rlc/nr_rlc_ue_manager.h
openair2/LAYER2/nr_rlc/nr_rlc_ue_manager.h
+1
-4
No files found.
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
f80896f9
...
@@ -2586,7 +2586,6 @@ static void nr_ue_prach_scheduler(module_id_t module_idP, frame_t frameP, sub_fr
...
@@ -2586,7 +2586,6 @@ static void nr_ue_prach_scheduler(module_id_t module_idP, frame_t frameP, sub_fr
}
// if is_nr_UL_slot
}
// if is_nr_UL_slot
}
}
#define MAX_LCID 8 // NR_MAX_NUM_LCID shall be used but the mac_rlc_data_req function can fetch data for max 8 LCID
typedef
struct
{
typedef
struct
{
uint8_t
bsr_len
;
uint8_t
bsr_len
;
uint8_t
bsr_ce_len
;
uint8_t
bsr_ce_len
;
...
@@ -2872,7 +2871,6 @@ uint8_t nr_ue_get_sdu(module_id_t module_idP,
...
@@ -2872,7 +2871,6 @@ uint8_t nr_ue_get_sdu(module_id_t module_idP,
//mac_ce_p->phr_ce_len = 0;
//mac_ce_p->phr_ce_len = 0;
//mac_ce_p->phr_header_len = 0;
//mac_ce_p->phr_header_len = 0;
uint8_t
lcid
=
0
;
uint16_t
sdu_length
=
0
;
uint16_t
sdu_length
=
0
;
uint16_t
num_sdus
=
0
;
uint16_t
num_sdus
=
0
;
mac_ce_p
->
sdu_length_total
=
0
;
mac_ce_p
->
sdu_length_total
=
0
;
...
@@ -2898,8 +2896,7 @@ uint8_t nr_ue_get_sdu(module_id_t module_idP,
...
@@ -2898,8 +2896,7 @@ uint8_t nr_ue_get_sdu(module_id_t module_idP,
// Check for DCCH first
// Check for DCCH first
// TO DO: Multiplex in the order defined by the logical channel prioritization
// TO DO: Multiplex in the order defined by the logical channel prioritization
for
(
lcid
=
UL_SCH_LCID_SRB1
;
lcid
<
MAX_LCID
;
lcid
++
)
{
for
(
int
lcid
=
UL_SCH_LCID_SRB1
;
lcid
<
NR_MAX_NUM_LCID
;
lcid
++
)
{
buflen_remain
=
buflen
-
(
mac_ce_p
->
total_mac_pdu_header_len
+
mac_ce_p
->
sdu_length_total
+
sh_size
);
buflen_remain
=
buflen
-
(
mac_ce_p
->
total_mac_pdu_header_len
+
mac_ce_p
->
sdu_length_total
+
sh_size
);
LOG_D
(
NR_MAC
,
"In %s: [UE %d] [%d.%d] UL-DXCH -> ULSCH, RLC with LCID 0x%02x (TBS %d bytes, sdu_length_total %d bytes, MAC header len %d bytes, buflen_remain %d bytes)
\n
"
,
LOG_D
(
NR_MAC
,
"In %s: [UE %d] [%d.%d] UL-DXCH -> ULSCH, RLC with LCID 0x%02x (TBS %d bytes, sdu_length_total %d bytes, MAC header len %d bytes, buflen_remain %d bytes)
\n
"
,
...
...
openair2/LAYER2/nr_rlc/nr_rlc_oai_api.c
View file @
f80896f9
...
@@ -54,15 +54,17 @@ static uint64_t nr_rlc_current_time;
...
@@ -54,15 +54,17 @@ static uint64_t nr_rlc_current_time;
static
int
nr_rlc_current_time_last_frame
;
static
int
nr_rlc_current_time_last_frame
;
static
int
nr_rlc_current_time_last_subframe
;
static
int
nr_rlc_current_time_last_subframe
;
nr_rlc_entity_t
*
get_rlc_entity_from_lcid
(
nr_rlc_ue_t
*
ue
,
static
nr_rlc_entity_t
*
get_rlc_entity_from_lcid
(
nr_rlc_ue_t
*
ue
,
logical_chan_id_t
channel_id
)
logical_chan_id_t
channel_id
)
{
{
if
(
channel_id
==
0
)
if
(
channel_id
==
0
)
return
ue
->
srb0
;
return
ue
->
srb0
;
nr_rlc_rb_t
*
rb
=
&
ue
->
lcid2rb
[
channel_id
-
1
];
nr_rlc_rb_t
*
rb
=
&
ue
->
lcid2rb
[
channel_id
-
1
];
if
(
rb
->
type
==
NR_RLC_SRB
)
if
(
rb
->
type
==
NR_RLC_NONE
)
return
NULL
;
if
(
rb
->
type
==
NR_RLC_SRB
)
{
AssertFatal
(
rb
->
choice
.
srb_id
>
0
,
"logic bug: impossible to have srb0 here
\n
"
);
return
ue
->
srb
[
rb
->
choice
.
srb_id
-
1
];
return
ue
->
srb
[
rb
->
choice
.
srb_id
-
1
];
else
{
}
else
{
AssertFatal
(
rb
->
type
==
NR_RLC_DRB
,
AssertFatal
(
rb
->
type
==
NR_RLC_DRB
,
"Invalid RB type
\n
"
);
"Invalid RB type
\n
"
);
return
ue
->
drb
[
rb
->
choice
.
drb_id
-
1
];
return
ue
->
drb
[
rb
->
choice
.
drb_id
-
1
];
...
...
openair2/LAYER2/nr_rlc/nr_rlc_ue_manager.h
View file @
f80896f9
...
@@ -27,10 +27,7 @@
...
@@ -27,10 +27,7 @@
typedef
void
nr_rlc_ue_manager_t
;
typedef
void
nr_rlc_ue_manager_t
;
typedef
enum
nr_rlc_rb_type
{
typedef
enum
nr_rlc_rb_type
{
NR_RLC_NONE
=
0
,
NR_RLC_SRB
=
1
,
NR_RLC_DRB
=
2
}
nr_rlc_rb_type
;
NR_RLC_SRB
=
0
,
NR_RLC_DRB
=
1
}
nr_rlc_rb_type
;
typedef
struct
nr_rlc_rb_t
{
typedef
struct
nr_rlc_rb_t
{
nr_rlc_rb_type
type
;
nr_rlc_rb_type
type
;
...
...
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