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
ec5fdfca
Commit
ec5fdfca
authored
Jul 12, 2024
by
Jaroslava Fiedlerova
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/NR_UE_fapi_pdu_length_fix' into integration_2024_w28
parents
2d163fc7
11855a0b
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
19 deletions
+19
-19
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
+1
-1
openair2/LAYER2/NR_MAC_UE/mac_proto.h
openair2/LAYER2/NR_MAC_UE/mac_proto.h
+1
-1
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
+17
-17
No files found.
nfapi/open-nFAPI/nfapi/public_inc/fapi_nr_ue_interface.h
View file @
ec5fdfca
...
...
@@ -163,7 +163,7 @@ typedef struct {
}
fapi_nr_tx_config_t
;
typedef
struct
{
uint
16
_t
pdu_length
;
uint
32
_t
pdu_length
;
uint8_t
*
fapiTxPdu
;
}
fapi_nr_tx_request_body_t
;
...
...
openair2/LAYER2/NR_MAC_UE/mac_proto.h
View file @
ec5fdfca
...
...
@@ -190,7 +190,7 @@ uint8_t nr_ue_get_sdu(NR_UE_MAC_INST_t *mac,
sub_frame_t
subframe
,
uint8_t
gNB_index
,
uint8_t
*
ulsch_buffer
,
uint
16
_t
buflen
);
uint
32
_t
buflen
);
void
set_harq_status
(
NR_UE_MAC_INST_t
*
mac
,
uint8_t
pucch_id
,
...
...
openair2/LAYER2/NR_MAC_UE/nr_ue_scheduler.c
View file @
ec5fdfca
...
...
@@ -1402,7 +1402,7 @@ void nr_ue_ul_scheduler(NR_UE_MAC_INST_t *mac, nr_uplink_indication_t *ul_info)
while
(
ulcfg_pdu
->
pdu_type
!=
FAPI_NR_END
)
{
uint8_t
*
ulsch_input_buffer
=
ulsch_input_buffer_array
[
number_of_pdus
];
if
(
ulcfg_pdu
->
pdu_type
==
FAPI_NR_UL_CONFIG_TYPE_PUSCH
)
{
uint
16
_t
TBS_bytes
=
ulcfg_pdu
->
pusch_config_pdu
.
pusch_data
.
tb_size
;
uint
32
_t
TBS_bytes
=
ulcfg_pdu
->
pusch_config_pdu
.
pusch_data
.
tb_size
;
LOG_D
(
NR_MAC
,
"harq_id %d, new_data_indicator %d, TBS_bytes %d (ra_state %d)
\n
"
,
ulcfg_pdu
->
pusch_config_pdu
.
pusch_data
.
harq_process_id
,
...
...
@@ -2761,7 +2761,7 @@ static int nr_ue_get_sdu_mac_ce_pre(NR_UE_MAC_INST_t *mac,
sub_frame_t
subframe
,
uint8_t
gNB_index
,
uint8_t
*
ulsch_buffer
,
uint
16
_t
buflen
,
uint
32
_t
buflen
,
NR_UE_MAC_CE_INFO
*
mac_ce_p
)
{
int
num_lcg_id_with_data
=
0
;
...
...
@@ -2824,11 +2824,11 @@ static void nr_ue_get_sdu_mac_ce_post(NR_UE_MAC_INST_t *mac,
frame_t
frame
,
slot_t
slot
,
uint8_t
*
ulsch_buffer
,
uint
16
_t
buflen
,
uint
32
_t
buflen
,
NR_UE_MAC_CE_INFO
*
mac_ce_p
)
{
// Compute BSR Values and update Nb LCGID with data after multiplexing
u
nsigned
shor
t
padding_len
=
0
;
u
int32_
t
padding_len
=
0
;
int
num_lcg_id_with_data
=
0
;
int
lcg_id_bsr_trunc
=
0
;
NR_UE_SCHEDULING_INFO
*
sched_info
=
&
mac
->
scheduling_info
;
...
...
@@ -3012,8 +3012,8 @@ uint32_t get_count_lcids_same_priority(uint8_t start, uint8_t total_active_lcids
long
get_num_bytes_to_reqlc
(
NR_UE_MAC_INST_t
*
mac
,
uint8_t
same_priority_count
,
uint8_t
lc_num
,
uint
16
_t
buflen_remain_ep
,
int
16
_t
buflen_remain
,
uint
32
_t
buflen_remain_ep
,
int
32
_t
buflen_remain
,
uint8_t
round_id
,
uint32_t
*
bytes_read_fromlc
,
long
*
target
)
...
...
@@ -3029,7 +3029,7 @@ long get_num_bytes_to_reqlc(NR_UE_MAC_INST_t *mac,
long
num_remaining_bytes
=
0
;
long
num_bytes_requested
=
0
;
if
(
round_id
==
0
)
{
// initial round
uint
16
_t
pdu_remain
=
(
same_priority_count
>
1
)
?
buflen_remain_ep
:
buflen_remain
;
uint
32
_t
pdu_remain
=
(
same_priority_count
>
1
)
?
buflen_remain_ep
:
buflen_remain
;
num_bytes_requested
=
(
pdu_remain
<
pbr
)
?
min
(
pdu_remain
,
lcid_remain_buffer
)
:
min
(
pbr
,
lcid_remain_buffer
);
num_remaining_bytes
=
*
target
-
bytes_read_fromlc
[
lc_num
-
1
];
num_bytes_requested
=
min
(
num_bytes_requested
,
num_remaining_bytes
);
...
...
@@ -3081,13 +3081,13 @@ static bool fill_mac_sdu(NR_UE_MAC_INST_t *mac,
frame_t
frame
,
slot_t
slot
,
uint8_t
gNB_index
,
uint
16
_t
buflen
,
int
16
_t
*
buflen_remain
,
uint
32
_t
buflen
,
int
32
_t
*
buflen_remain
,
int
lcid
,
uint8_t
**
pdu
,
uint32_t
*
counter
,
uint8_t
count_same_priority_lcids
,
uint
16
_t
buflen_ep
,
uint
32
_t
buflen_ep
,
uint32_t
*
lcids_bytes_tot
,
uint16_t
*
num_sdus
,
NR_UE_MAC_CE_INFO
*
mac_ce_p
,
...
...
@@ -3238,11 +3238,11 @@ uint8_t nr_ue_get_sdu(NR_UE_MAC_INST_t *mac,
slot_t
slot
,
uint8_t
gNB_index
,
uint8_t
*
ulsch_buffer
,
uint
16
_t
buflen
)
uint
32
_t
buflen
)
{
NR_UE_MAC_CE_INFO
mac_ce_info
;
NR_UE_MAC_CE_INFO
*
mac_ce_p
=&
mac_ce_info
;
int
16
_t
buflen_remain
=
0
;
int
32
_t
buflen_remain
=
0
;
mac_ce_p
->
bsr_len
=
0
;
mac_ce_p
->
bsr_ce_len
=
0
;
mac_ce_p
->
bsr_header_len
=
0
;
...
...
@@ -3273,7 +3273,7 @@ uint8_t nr_ue_get_sdu(NR_UE_MAC_INST_t *mac,
// in the first run all the lc are allocated as per bj and prioritized bit rate but in subsequent runs, no need to consider
uint32_t
lcp_allocation_counter
=
0
;
// bj and prioritized bit rate but just consider priority
uint
16
_t
buflen_ep
=
0
;
// this variable holds the length in bytes in mac pdu when multiple equal priority channels are present
uint
32
_t
buflen_ep
=
0
;
// this variable holds the length in bytes in mac pdu when multiple equal priority channels are present
// because as per standard(TS38.321), all equal priority channels should be served equally
// nr_ue_get_sdu_mac_ce_pre updates all mac_ce related header field related to length
...
...
@@ -3395,12 +3395,12 @@ uint8_t nr_ue_get_sdu(NR_UE_MAC_INST_t *mac,
// Compute final offset for padding and fill remainder of ULSCH with 0
if
(
buflen_remain
>
0
)
{
LOG_D
(
NR_MAC
,
"
In %s filling remainder %d bytes to the UL PDU
\n
"
,
__FUNCTION__
,
buflen_remain
);
LOG_D
(
NR_MAC
,
"
Filling remainder %d bytes to the UL PDU
\n
"
,
buflen_remain
);
((
NR_MAC_SUBHEADER_FIXED
*
)
pdu
)
->
R
=
0
;
((
NR_MAC_SUBHEADER_FIXED
*
)
pdu
)
->
LCID
=
UL_SCH_LCID_PADDING
;
#ifdef ENABLE_MAC_PAYLOAD_DEBUG
LOG_I
(
NR_MAC
,
"
In %s: padding MAC sub-header with length %ld bytes
\n
"
,
__FUNCTION__
,
sizeof
(
NR_MAC_SUBHEADER_FIXED
));
LOG_I
(
NR_MAC
,
"
Padding MAC sub-header with length %ld bytes
\n
"
,
sizeof
(
NR_MAC_SUBHEADER_FIXED
));
log_dump
(
NR_MAC
,
pdu
,
sizeof
(
NR_MAC_SUBHEADER_FIXED
),
LOG_DUMP_CHAR
,
"
\n
"
);
#endif
...
...
@@ -3416,13 +3416,13 @@ uint8_t nr_ue_get_sdu(NR_UE_MAC_INST_t *mac,
}
#ifdef ENABLE_MAC_PAYLOAD_DEBUG
LOG_I
(
NR_MAC
,
"
In %s: MAC padding sub-PDU with length %d bytes
\n
"
,
__FUNCTION__
,
buflen_remain
);
LOG_I
(
NR_MAC
,
"
MAC padding sub-PDU with length %d bytes
\n
"
,
buflen_remain
);
log_dump
(
NR_MAC
,
pdu
,
buflen_remain
,
LOG_DUMP_CHAR
,
"
\n
"
);
#endif
}
#ifdef ENABLE_MAC_PAYLOAD_DEBUG
LOG_I
(
NR_MAC
,
"
In %s: dumping MAC PDU with length %d:
\n
"
,
__FUNCTION__
,
buflen
);
LOG_I
(
NR_MAC
,
"
Dumping MAC PDU with length %d:
\n
"
,
buflen
);
log_dump
(
NR_MAC
,
ulsch_buffer
,
buflen
,
LOG_DUMP_CHAR
,
"
\n
"
);
#endif
...
...
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