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
wangjie
OpenXG-RAN
Commits
43b63be5
Commit
43b63be5
authored
Mar 14, 2016
by
Xenofon Foukas
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added nb_rb and oldNDI in template to be used for retransmissions
parent
1b972a55
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
8 deletions
+21
-8
openair2/LAYER2/MAC/eNB_agent_scheduler_dataplane.c
openair2/LAYER2/MAC/eNB_agent_scheduler_dataplane.c
+21
-8
No files found.
openair2/LAYER2/MAC/eNB_agent_scheduler_dataplane.c
View file @
43b63be5
...
@@ -300,33 +300,46 @@ void apply_ue_spec_scheduling_decisions(mid_t mod_id,
...
@@ -300,33 +300,46 @@ void apply_ue_spec_scheduling_decisions(mid_t mod_id,
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
harq_pid
=
harq_pid
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
harq_pid
=
harq_pid
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
harq_round
=
round
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
harq_round
=
round
;
nb_rb
=
UE_list
->
UE_template
[
CC_id
][
UE_id
].
nb_rb
[
harq_pid
];
//nb_rb = UE_list->UE_template[CC_id][UE_id].nb_rb[harq_pid];
//Find the number of resource blocks and set them to the template for retransmissions
nb_rb
=
get_min_rb_unit
(
mod_id
,
CC_id
);
uint16_t
stats_tbs
=
mac_xface
->
get_TBS_DL
(
dl_dci
->
mcs
[
0
],
nb_rb
);
while
(
stats_tbs
<
TBS
)
{
nb_rb
+=
get_min_rb_unit
(
mod_id
,
CC_id
);
stats_tbs
=
mac_xface
->
get_TBS_DL
(
dl_dci
->
mcs
[
0
],
nb_rb
);
}
UE_list
->
UE_template
[
CC_id
][
UE_id
].
nb_rb
[
dl_dci
->
harq_process
]
=
nb_rb
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
rbs_used
=
nb_rb
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
rbs_used
=
nb_rb
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
total_rbs_used
+=
nb_rb
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
total_rbs_used
+=
nb_rb
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
dlsch_mcs1
=
dl_dci
->
mcs
[
0
];
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
dlsch_mcs1
=
dl_dci
->
mcs
[
0
];
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
dlsch_mcs2
=
dl_dci
->
mcs
[
0
];
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
dlsch_mcs2
=
dl_dci
->
mcs
[
0
];
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
TBS
=
TBS
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
TBS
=
TBS
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
overhead_bytes
=
TBS
-
sdu_length_total
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
overhead_bytes
=
TBS
-
sdu_length_total
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
total_sdu_bytes
+=
sdu_length_total
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
total_sdu_bytes
+=
sdu_length_total
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
total_pdu_bytes
+=
TBS
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
total_pdu_bytes
+=
TBS
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
total_num_pdus
+=
1
;
UE_list
->
eNB_UE_stats
[
CC_id
][
UE_id
].
total_num_pdus
+=
1
;
eNB_UE_stats
->
dlsch_mcs1
=
cqi_to_mcs
[
eNB_UE_stats
->
DL_cqi
[
0
]];
//
eNB_UE_stats->dlsch_mcs1 = cqi_to_mcs[eNB_UE_stats->DL_cqi[0]];
eNB_UE_stats
->
dlsch_mcs1
=
cmin
(
eNB_UE_stats
->
dlsch_mcs1
,
openair_daq_vars
.
target_ue_dl_mcs
);
//eNB_UE_stats->dlsch_mcs1 = cmin(eNB_UE_stats->dlsch_mcs1, openair_daq_vars.target_ue_dl_mcs);
}
}
}
else
{
}
else
{
// No need to create anything apart of DCI in case of retransmission
// No need to create anything apart of DCI in case of retransmission
/*TODO: Must add these */
/*TODO: Must add these */
//eNB_UE_stats->dlsch_trials[round]++;
//
eNB_UE_stats->dlsch_trials[round]++;
//UE_list->eNB_UE_stats[CC_id][UE_id].num_retransmission+=1;
//UE_list->eNB_UE_stats[CC_id][UE_id].num_retransmission+=1;
//UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used_retx=nb_rb;
//UE_list->eNB_UE_stats[CC_id][UE_id].rbs_used_retx=nb_rb;
//UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used_retx+=nb_rb;
//UE_list->eNB_UE_stats[CC_id][UE_id].total_rbs_used_retx+=nb_rb;
//UE_list->eNB_UE_stats[CC_id][UE_id].ncce_used_retx=nCCECC_id];
//UE_list->eNB_UE_stats[CC_id][UE_id].ncce_used_retx=nCCECC_id];
//UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs1=eNB_UE_stats->dlsch_mcs1;
//UE_list->eNB_UE_stats[CC_id][UE_id].dlsch_mcs2=eNB_UE_stats->dlsch_mcs1;
}
}
UE_list
->
UE_template
[
CC_id
][
UE_id
].
oldNDI
[
dl_dci
->
harq_process
]
=
dl_dci
->
ndi
[
0
];
eNB_UE_stats
->
dlsch_mcs1
=
dl_dci
->
mcs
[
0
];
//Fill the proper DCI of OAI
//Fill the proper DCI of OAI
fill_oai_dci
(
mod_id
,
CC_id
,
rnti
,
dl_dci
);
fill_oai_dci
(
mod_id
,
CC_id
,
rnti
,
dl_dci
);
}
}
...
@@ -496,7 +509,7 @@ void fill_oai_dci(mid_t mod_id, uint32_t CC_id, uint32_t rnti,
...
@@ -496,7 +509,7 @@ void fill_oai_dci(mid_t mod_id, uint32_t CC_id, uint32_t rnti,
/*TODO: Need to deal with unsupported DCI type*/
/*TODO: Need to deal with unsupported DCI type*/
return
;
return
;
}
}
add_ue_spec_dci
(
DCI_pdu
,
add_ue_spec_dci
(
DCI_pdu
,
DLSCH_dci
,
DLSCH_dci
,
rnti
,
rnti
,
...
...
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