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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
ea9aacd6
Commit
ea9aacd6
authored
Sep 29, 2020
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Directly construct tx_req nFAPI message in DL postprocessor
parent
b7b32fbe
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
18 additions
and
15 deletions
+18
-15
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
+18
-15
No files found.
openair2/LAYER2/NR_MAC_gNB/gNB_scheduler_dlsch.c
View file @
ea9aacd6
...
@@ -769,10 +769,15 @@ void nr_schedule_ue_spec(module_id_t module_id,
...
@@ -769,10 +769,15 @@ void nr_schedule_ue_spec(module_id_t module_id,
// padding param currently not in use
// padding param currently not in use
//padding = TBS - header_length_total - sdu_length_total - ta_len - 1;
//padding = TBS - header_length_total - sdu_length_total - ta_len - 1;
const
int
ntx_req
=
gNB_mac
->
TX_req
[
CC_id
].
Number_of_PDUs
;
nfapi_nr_pdu_t
*
tx_req
=
&
gNB_mac
->
TX_req
[
CC_id
].
pdu_list
[
ntx_req
];
/* pointer to directly generate the PDU into the nFAPI structure */
uint32_t
*
buf
=
tx_req
->
TLVs
[
0
].
value
.
direct
;
const
int
offset
=
nr_generate_dlsch_pdu
(
const
int
offset
=
nr_generate_dlsch_pdu
(
module_id
,
module_id
,
(
unsigned
char
*
)
mac_sdus
,
(
unsigned
char
*
)
mac_sdus
,
(
unsigned
char
*
)
gNB_mac
->
UE_info
.
DLSCH_pdu
[
0
][
0
].
payload
[
0
]
,
(
unsigned
char
*
)
buf
,
num_sdus
,
// num_sdus
num_sdus
,
// num_sdus
sdu_lengths
,
sdu_lengths
,
sdu_lcids
,
sdu_lcids
,
...
@@ -783,9 +788,19 @@ void nr_schedule_ue_spec(module_id_t module_id,
...
@@ -783,9 +788,19 @@ void nr_schedule_ue_spec(module_id_t module_id,
// Padding: fill remainder of DLSCH with 0
// Padding: fill remainder of DLSCH with 0
if
(
post_padding
>
0
)
{
if
(
post_padding
>
0
)
{
for
(
int
j
=
0
;
j
<
TBS
-
offset
;
j
++
)
for
(
int
j
=
0
;
j
<
TBS
-
offset
;
j
++
)
gNB_mac
->
UE_info
.
DLSCH_pdu
[
0
][
0
].
payload
[
0
]
[
offset
+
j
]
=
0
;
buf
[
offset
+
j
]
=
0
;
}
}
/* the buffer has been filled by nr_generate_dlsch_pdu(), below we simply
* fill the remaining information */
tx_req
->
PDU_length
=
TBS
;
tx_req
->
PDU_index
=
gNB_mac
->
pdu_index
[
0
]
++
;
tx_req
->
num_TLV
=
1
;
tx_req
->
TLVs
[
0
].
length
=
TBS
+
2
;
gNB_mac
->
TX_req
[
CC_id
].
Number_of_PDUs
++
;
gNB_mac
->
TX_req
[
CC_id
].
SFN
=
frame
;
gNB_mac
->
TX_req
[
CC_id
].
Slot
=
slot
;
UE_info
->
mac_stats
[
UE_id
].
dlsch_total_bytes
+=
TBS
;
UE_info
->
mac_stats
[
UE_id
].
dlsch_total_bytes
+=
TBS
;
retInfo
->
rbSize
=
sched_ctrl
->
rbSize
;
retInfo
->
rbSize
=
sched_ctrl
->
rbSize
;
...
@@ -794,15 +809,6 @@ void nr_schedule_ue_spec(module_id_t module_id,
...
@@ -794,15 +809,6 @@ void nr_schedule_ue_spec(module_id_t module_id,
retInfo
->
mcs
=
sched_ctrl
->
mcs
;
retInfo
->
mcs
=
sched_ctrl
->
mcs
;
retInfo
->
numDmrsCdmGrpsNoData
=
sched_ctrl
->
numDmrsCdmGrpsNoData
;
retInfo
->
numDmrsCdmGrpsNoData
=
sched_ctrl
->
numDmrsCdmGrpsNoData
;
nfapi_nr_pdu_t
*
tx_req
=
&
gNB_mac
->
TX_req
[
CC_id
].
pdu_list
[
gNB_mac
->
TX_req
[
CC_id
].
Number_of_PDUs
];
configure_fapi_dl_Tx
(
module_id
,
frame
,
slot
,
dl_req
,
tx_req
,
TBS
,
gNB_mac
->
pdu_index
[
CC_id
]);
#if defined(ENABLE_MAC_PAYLOAD_DEBUG)
#if defined(ENABLE_MAC_PAYLOAD_DEBUG)
if
(
frame
%
100
==
0
)
{
if
(
frame
%
100
==
0
)
{
LOG_I
(
MAC
,
LOG_I
(
MAC
,
...
@@ -811,10 +817,7 @@ void nr_schedule_ue_spec(module_id_t module_id,
...
@@ -811,10 +817,7 @@ void nr_schedule_ue_spec(module_id_t module_id,
slot
,
slot
,
TBS
);
TBS
);
for
(
int
i
=
0
;
i
<
10
;
i
++
)
for
(
int
i
=
0
;
i
<
10
;
i
++
)
LOG_I
(
MAC
,
LOG_I
(
MAC
,
"byte %d: %x
\n
"
,
i
,
((
uint8_t
*
)
buf
)[
i
]);
"byte %d: %x
\n
"
,
i
,
((
uint8_t
*
)
gNB_mac
->
UE_info
.
DLSCH_pdu
[
0
][
0
].
payload
[
0
])[
i
]);
}
}
#endif
#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