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
promise
OpenXG-RAN
Commits
a6c29b22
Commit
a6c29b22
authored
Nov 05, 2019
by
Wolfgang A. Mozart
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
trigger DL scheduler
parent
32fc6310
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
24 additions
and
18 deletions
+24
-18
common/utils/hashtable/hashtable.c
common/utils/hashtable/hashtable.c
+2
-2
openair2/LAYER2/MAC/eNB_scheduler_NB_IoT.c
openair2/LAYER2/MAC/eNB_scheduler_NB_IoT.c
+3
-2
openair2/LAYER2/MAC/eNB_scheduler_dlsch_NB_IoT.c
openair2/LAYER2/MAC/eNB_scheduler_dlsch_NB_IoT.c
+9
-7
openair2/LAYER2/MAC/eNB_scheduler_ulsch_NB_IoT.c
openair2/LAYER2/MAC/eNB_scheduler_ulsch_NB_IoT.c
+6
-2
openair2/LAYER2/MAC/output_handler_NB_IoT.c
openair2/LAYER2/MAC/output_handler_NB_IoT.c
+1
-1
openair2/LAYER2/RLC/rlc_mac.c
openair2/LAYER2/RLC/rlc_mac.c
+3
-4
No files found.
common/utils/hashtable/hashtable.c
View file @
a6c29b22
...
...
@@ -281,11 +281,11 @@ hashtable_rc_t hashtable_get(const hash_table_t * const hashtblP, const hash_key
//printf("hashfunc(keyP) : %d\n", hashtblP->hashfunc(keyP));
hash
=
hashtblP
->
hashfunc
(
keyP
)
%
hashtblP
->
size
;
//printf("keyP %d\n", keyP);
/*fprintf(stderr, "hashtable_get() key=%s, hash=%d\n", key, hash);*/
/*fprintf(stderr, "hashtable_get() key=%s, hash=%d\n", key, hash);*/
//printf("hash %d\n", hash);
node
=
hashtblP
->
nodes
[
hash
];
//
printf("nodes_value %d \n", hashtblP->nodes[hash]);
//
printf("nodes_value %d \n", hashtblP->nodes[hash]);
while
(
node
)
{
//printf("node_key %d \n",node->key);
...
...
openair2/LAYER2/MAC/eNB_scheduler_NB_IoT.c
View file @
a6c29b22
...
...
@@ -160,8 +160,8 @@ void eNB_dlsch_ulsch_scheduler_NB_IoT(eNB_MAC_INST_NB_IoT *mac_inst, uint32_t ab
SIB1_flag
=
1
;
convert_system_number
(
abs_subframe
,
&
h
,
&
f
,
&
sf
);
a
=
output_handler
(
mac_inst
,
0
,
0
,
h
,
f
,
sf
,
MIB_flag
,
SIB1_flag
,
abs_subframe
);
if
(
a
==-
1
)
LOG_I
(
MAC
,
"[%04d][SchedulerUSS] schedule result is empty------------
\n
"
,
mac_inst
->
current_subframe
);
}
...
...
@@ -270,7 +270,6 @@ void schedule_uss_NB_IoT(module_id_t module_id, eNB_MAC_INST_NB_IoT *mac_inst, u
UE_ID
=
mac_inst
->
UE_list_spec
[
UE_list_index
].
head
;
while
(
UE_ID
>-
1
)
{
UE_template_temp
=
&
(
mac_inst
->
UE_list_spec
[
UE_list_index
].
UE_template_NB_IoT
[
UE_ID
]);
UE_sched_ctrl_info
=
&
(
mac_inst
->
UE_list_spec
[
UE_list_index
].
UE_sched_ctrl_NB_IoT
[
UE_ID
]);
LOG_D
(
MAC
,
"------Start Scheduling USS UE RNTI %d------
\n
"
,
UE_template_temp
->
rnti
);
...
...
@@ -392,10 +391,12 @@ void preprocessor_uss_NB_IoT(module_id_t module_id, eNB_MAC_INST_NB_IoT *mac_ins
{
LOG_D
(
MAC
,
"[%04d][preprocessor_uss_NB_IoT][UE%d] DL scheduling USS is successful
\n
"
,
mac_inst
->
current_subframe
,
UE_template_temp
->
rnti
);
UE_sched_ctrl_info
->
flag_schedule_success
=
1
;
printf
(
"******************after DL scheduler (success) (in eNB_scheduler_NB_IoT.c)****************
\n
"
);
}
else
{
LOG_D
(
MAC
,
"[%04d][preprocessor_uss_NB_IoT][UE%d] DL scheduling USS is failed
\n
"
,
mac_inst
->
current_subframe
,
UE_template_temp
->
rnti
);
printf
(
"**************after DL scheduler (fail) (in eNB_scheduler_NB_IoT.c)**********
\n
"
);
}
break
;
...
...
openair2/LAYER2/MAC/eNB_scheduler_dlsch_NB_IoT.c
View file @
a6c29b22
...
...
@@ -35,6 +35,7 @@
/*DL scheduler*/
int
schedule_DL_NB_IoT
(
module_id_t
module_id
,
eNB_MAC_INST_NB_IoT
*
mac_inst
,
UE_TEMPLATE_NB_IoT
*
UE_info
,
uint32_t
hyperSF_start
,
uint32_t
frame_start
,
uint32_t
subframe_start
,
UE_SCHED_CTRL_NB_IoT_t
*
UE_sched_ctrl_info
)
{
printf
(
"***********************get into DL scheduler (in eNB_scheduler_dlsch_NB_IoT.c)***********************
\n
"
);
//number of candidate
int
cdd_num
;
//Transport block size
...
...
@@ -97,11 +98,11 @@ int schedule_DL_NB_IoT(module_id_t module_id, eNB_MAC_INST_NB_IoT *mac_inst, UE_
LOG_D
(
MAC
,
"[%04d][DLSchedulerUSS] Max TBS %d MCS index %d TBS index %d
\n
"
,
mac_inst
->
current_subframe
,
TBS
,
I_mcs
,
I_tbs
);
/*set UE data information*/
/*New transmission*/
#if
0
#if
1
if
(
UE_info
->
HARQ_round
==
0
)
{
//Get RLC status
/*
printf
(
"*****************UE_info->HARQ_round=%d (in eNB_scheduler_dlsch_NB_IoT.c)************************
\n
"
,
UE_info
->
HARQ_round
);
rlc_status
=
mac_rlc_status_ind
(
module_id
,
UE_info
->
rnti
,
...
...
@@ -113,18 +114,19 @@ int schedule_DL_NB_IoT(module_id_t module_id, eNB_MAC_INST_NB_IoT *mac_inst, UE_
DCCH0_NB_IoT
,
0
);
data_size
=
rlc_status
.
bytes_in_buffer
;
*/
data_size = 200;
printf
(
"*************data_size=%d (in eNB_scheduler_dlsch_NB_IoT.c)********************
\n
"
,
data_size
);
/*data_size = 200;
data_size=0;
int ue_index;
for(ue_index=0;ue_index<UE_NUM_SIM;++ue_index)
{
if(UE_info_sim[ue_index].tc_rnti==UE_info->rnti)
data_size = UE_info_sim[ue_index].data_size;
}
}
*/
}
/*Retransmission*/
else
else
{
data_size
=
UE_info
->
DLSCH_pdu_size
;
flag_retransmission
=
1
;
...
...
@@ -136,7 +138,7 @@ int schedule_DL_NB_IoT(module_id_t module_id, eNB_MAC_INST_NB_IoT *mac_inst, UE_
}
#endif
data_size
=
200
;
//for testing
//
data_size=200; //for testing
LOG_D
(
MAC
,
"[%04d][DLSchedulerUSS] UE data size %d
\n
"
,
mac_inst
->
current_subframe
,
data_size
);
//Have DCCH data
...
...
openair2/LAYER2/MAC/eNB_scheduler_ulsch_NB_IoT.c
View file @
a6c29b22
...
...
@@ -189,7 +189,7 @@ void rx_sdu_NB_IoT(module_id_t module_id, int CC_id, frame_t frame, sub_frame_t
int
PHR
=
0
;
int
ul_total_buffer
=
0
;
//mac_NB_IoT_t *mac_inst;
UE_TEMPLATE_NB_IoT
*
UE_info
;
UE_TEMPLATE_NB_IoT
*
UE_info
=
NULL
;
uint8_t
*
msg4_rrc_pdu
=
NULL
;
LOG_D
(
MAC
,
"RX_SDU_IN
\n
"
);
...
...
@@ -270,6 +270,10 @@ void rx_sdu_NB_IoT(module_id_t module_id, int CC_id, frame_t frame, sub_frame_t
case
DCCH0_NB_IoT
:
case
DCCH1_NB_IoT
:
LOG_I
(
MAC
,
"DCCH PDU Here
\n
"
);
if
(
UE_info
!=
NULL
){
UE_info
->
direction
=
1
;
//for DL scheduler
printf
(
"*************************UE_info->direction(in eNB_scheduler_ulsch_NB_IoT.c)=%d*************************
\n
"
,
UE_info
->
direction
);
}
mac_rlc_data_ind
(
module_id
,
rnti
,
...
...
@@ -283,7 +287,7 @@ void rx_sdu_NB_IoT(module_id_t module_id, int CC_id, frame_t frame, sub_frame_t
rx_lengths
[
i
],
1
,
NULL
);
//(unsigned int*)crc_status);
// UE specific here
// UE specific here
//NB_IoT_mac_rlc_data_ind(payload_ptr,mac_inst,rnti);
break
;
...
...
openair2/LAYER2/MAC/output_handler_NB_IoT.c
View file @
a6c29b22
...
...
@@ -58,7 +58,7 @@ int output_handler(eNB_MAC_INST_NB_IoT *mac_inst, module_id_t module_id, int CC_
SCHED_info
->
frame
=
frame
;
SCHED_info
->
subframe
=
subframe
;
void
*
DCI_pdu
;
// free all the memory allocate to the previous subframe
if
(
flag_malloc
)
{
...
...
openair2/LAYER2/RLC/rlc_mac.c
View file @
a6c29b22
...
...
@@ -348,9 +348,9 @@ mac_rlc_status_resp_t mac_rlc_status_ind(
rlc_union_t
*
rlc_union_p
=
NULL
;
hash_key_t
key
=
HASHTABLE_NOT_A_KEY_VALUE
;
hashtable_rc_t
h_rc
;
srb_flag_t
srb_flag
=
(
channel_idP
<=
2
)
?
SRB_FLAG_YES
:
SRB_FLAG_NO
;
srb_flag_t
srb_flag
=
(
channel_idP
<=
3
)
?
SRB_FLAG_YES
:
SRB_FLAG_NO
;
protocol_ctxt_t
ctxt
;
printf
(
"**********************get into mac_rlc_status_ind (in rlc_mac.c)*********************
\n
"
);
PROTOCOL_CTXT_SET_BY_MODULE_ID
(
&
ctxt
,
module_idP
,
enb_flagP
,
rntiP
,
frameP
,
subframeP
,
eNB_index
);
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_MAC_RLC_STATUS_IND
,
VCD_FUNCTION_IN
);
...
...
@@ -380,8 +380,6 @@ mac_rlc_status_resp_t mac_rlc_status_ind(
#endif
if
(
MBMS_flagP
)
{
if
(
enb_flagP
)
{
mbms_id_p
=
&
rlc_mbms_lcid2service_session_id_eNB
[
module_idP
][
channel_idP
];
...
...
@@ -442,6 +440,7 @@ mac_rlc_status_resp_t mac_rlc_status_ind(
}
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME
(
VCD_SIGNAL_DUMPER_FUNCTIONS_MAC_RLC_STATUS_IND
,
VCD_FUNCTION_OUT
);
printf
(
"Ready to return mac_rlc_status_resp (in rlc_mac.c)********************
\n
"
);
return
mac_rlc_status_resp
;
}
...
...
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