Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
oai
openairinterface5G
Commits
fdac4d17
Commit
fdac4d17
authored
Apr 22, 2017
by
shahab
Browse files
uplink harq api
parent
5ce9858d
Changes
12
Hide whitespace changes
Inline
Side-by-side
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
View file @
fdac4d17
...
...
@@ -1077,6 +1077,45 @@ int flexran_agent_mac_create_empty_ul_config(mid_t mod_id, Protocol__FlexranMess
}
int
flexran_agent_mac_destroy_ul_config
(
Protocol__FlexranMessage
*
msg
)
{
int
i
,
j
,
k
;
if
(
msg
->
msg_case
!=
PROTOCOL__FLEXRAN_MESSAGE__MSG_UL_MAC_CONFIG_MSG
)
goto
error
;
Protocol__FlexUlDci
*
ul_dci
;
free
(
msg
->
ul_mac_config_msg
->
header
);
for
(
i
=
0
;
i
<
msg
->
ul_mac_config_msg
->
n_ul_ue_data
;
i
++
)
{
// TODO uplink rlc ...
// free(msg->ul_mac_config_msg->dl_ue_data[i]->ce_bitmap);
// for (j = 0; j < msg->ul_mac_config_msg->ul_ue_data[i]->n_rlc_pdu; j++) {
// for (k = 0; k < msg->ul_mac_config_msg->ul_ue_data[i]->rlc_pdu[j]->n_rlc_pdu_tb; k++) {
// free(msg->ul_mac_config_msg->dl_ue_data[i]->rlc_pdu[j]->rlc_pdu_tb[k]);
// }
// free(msg->ul_mac_config_msg->ul_ue_data[i]->rlc_pdu[j]->rlc_pdu_tb);
// free(msg->ul_mac_config_msg->ul_ue_data[i]->rlc_pdu[j]);
// }
// free(msg->ul_mac_config_msg->ul_ue_data[i]->rlc_pdu);
ul_dci
=
msg
->
ul_mac_config_msg
->
ul_ue_data
[
i
]
->
ul_dci
;
// free(dl_dci->tbs_size);
// free(ul_dci->mcs);
// free(ul_dci->ndi);
// free(ul_dci->rv);
// free(ul_dci);
free
(
msg
->
ul_mac_config_msg
->
ul_ue_data
[
i
]);
}
free
(
msg
->
ul_mac_config_msg
->
ul_ue_data
);
free
(
msg
->
ul_mac_config_msg
);
free
(
msg
);
return
0
;
error:
return
-
1
;
}
void
flexran_agent_get_pending_dl_mac_config
(
mid_t
mod_id
,
Protocol__FlexranMessage
**
msg
)
{
struct
lfds700_misc_prng_state
ls
;
...
...
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h
View file @
fdac4d17
...
...
@@ -57,6 +57,10 @@ int flexran_agent_mac_destroy_stats_reply(Protocol__FlexranMessage *msg);
int
flexran_agent_mac_create_empty_dl_config
(
mid_t
mod_id
,
Protocol__FlexranMessage
**
msg
);
int
flexran_agent_mac_destroy_dl_config
(
Protocol__FlexranMessage
*
msg
);
/* UL MAC scheduling decision protocol message constructor (empty command) and destructor */
int
flexran_agent_mac_create_empty_ul_config
(
mid_t
mod_id
,
Protocol__FlexranMessage
**
msg
);
int
flexran_agent_mac_destroy_ul_config
(
Protocol__FlexranMessage
*
msg
);
int
flexran_agent_mac_handle_dl_mac_config
(
mid_t
mod_id
,
const
void
*
params
,
Protocol__FlexranMessage
**
msg
);
...
...
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_defs.h
View file @
fdac4d17
...
...
@@ -63,7 +63,7 @@ typedef struct {
void
(
*
flexran_agent_schedule_ul_spec
)(
mid_t
module_idP
,
uint32_t
frameP
,
unsigned
char
cooperation_flag
,
uint32_t
subframeP
,
unsigned
char
sched_subframe
);
unsigned
char
sched_subframe
,
Protocol__FlexranMessage
**
ul_info
);
/// Notify the controller for a state change of a particular UE, by sending the proper
/// UE state change message (ACTIVATION, DEACTIVATION, HANDOVER)
...
...
openair2/ENB_APP/MESSAGES/V2/flexran.proto
View file @
fdac4d17
...
...
@@ -168,8 +168,8 @@ message flex_dl_mac_config {
message
flex_ul_mac_config
{
optional
flex_header
header
=
1
;
optional
uint32
sfn_sf
=
2
;
repeated
flex_ul_data
ul_ue_data
=
3
;
optional
uint32
sfn_sf
=
2
;
repeated
flex_ul_data
ul_ue_data
=
3
;
}
...
...
openair2/ENB_APP/MESSAGES/V2/header.proto
View file @
fdac4d17
...
...
@@ -32,15 +32,14 @@ enum flex_type {
//Controller command messages
FLPT_DL_MAC_CONFIG
=
13
;
FLPT_UL_MAC_CONFIG
=
14
;
// UE state change messages
FLPT_UE_STATE_CHANGE
=
1
5
;
FLPT_UE_STATE_CHANGE
=
1
4
;
// Control delegation messages
FLPT_DELEGATE_CONTROL
=
1
6
;
FLPT_RECONFIGURE_AGENT
=
1
7
;
FLPT_RRC_TRIGGERING
=
1
8
;
FLPT_DELEGATE_CONTROL
=
1
5
;
FLPT_RECONFIGURE_AGENT
=
1
6
;
FLPT_RRC_TRIGGERING
=
1
7
;
FLPT_UL_MAC_CONFIG
=
18
;
}
openair2/ENB_APP/flexran_agent_ran_api.c
View file @
fdac4d17
...
...
@@ -299,8 +299,9 @@ int flexran_get_harq(const mid_t mod_id,
const
mid_t
ue_id
,
const
int
frame
,
const
uint8_t
subframe
,
uint8_t
*
id
,
uint8_t
*
round
)
{
//flag_id_status = 0 then id, else status
uint8_t
*
pid
,
uint8_t
*
round
,
const
uint8_t
harq_flag
)
{
//flag_id_status = 0 then id, else status
/*TODO: Add int TB in function parameters to get the status of the second TB. This can be done to by editing in
* get_ue_active_harq_pid function in line 272 file: phy_procedures_lte_eNB.c to add
* DLSCH_ptr = PHY_vars_eNB_g[Mod_id][CC_id]->dlsch_eNB[(uint32_t)UE_id][1];*/
...
...
@@ -310,10 +311,21 @@ int flexran_get_harq(const mid_t mod_id,
uint16_t
rnti
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
harq_flag
==
openair_harq_DL
){
mac_xface
->
get_ue_active_harq_pid
(
mod_id
,
CC_id
,
rnti
,
frame
,
subframe
,
&
harq_pid
,
&
harq_round
,
openair_harq_DL
);
mac_xface
->
get_ue_active_harq_pid
(
mod_id
,
CC_id
,
rnti
,
frame
,
subframe
,
&
harq_pid
,
&
harq_round
,
openair_harq_DL
);
*
id
=
harq_pid
;
}
else
if
(
harq_flag
==
openair_harq_UL
){
mac_xface
->
get_ue_active_harq_pid
(
mod_id
,
CC_id
,
rnti
,
frame
,
subframe
,
&
harq_pid
,
&
round
,
openair_harq_UL
);
}
else
{
LOG_W
(
FLEXRAN_AGENT
,
"harq_flag is not recongnized"
);
}
*
pid
=
harq_pid
;
*
round
=
harq_round
;
/* if (round > 0) { */
/* *status = 1; */
...
...
openair2/ENB_APP/flexran_agent_ran_api.h
View file @
fdac4d17
...
...
@@ -187,7 +187,7 @@ int flexran_get_ue_pmi(mid_t mod_id);
a designated frame and subframe. Returns 0 for success. The id and the
status of the HARQ process are stored in id and status respectively */
int
flexran_get_harq
(
const
mid_t
mod_id
,
const
uint8_t
CC_id
,
const
mid_t
ue_id
,
const
int
frame
,
const
uint8_t
subframe
,
unsigned
char
*
id
,
unsigned
char
*
round
);
const
int
frame
,
const
uint8_t
subframe
,
unsigned
char
*
id
,
unsigned
char
*
round
,
const
uint8_t
harq_flag
);
/* Uplink power control management*/
int
flexran_get_p0_pucch_dbm
(
mid_t
mod_id
,
mid_t
ue_id
,
int
CC_id
);
...
...
openair2/LAYER2/MAC/eNB_scheduler.c
View file @
fdac4d17
...
...
@@ -386,8 +386,10 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
schedule_ulsch
(
module_idP
,
frameP
,
cooperation_flag
,
0
,
4
);
//,calibration_flag);
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
0
,
4
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
0
,
4
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
...
...
@@ -398,8 +400,10 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
schedule_ulsch
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
4
);
//,calibration_flag);
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
4
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
4
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
}
...
...
@@ -415,7 +419,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -438,9 +442,12 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
7
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
7
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
#ifndef FLEXRAN_AGENT_SB_IF
fill_DLSCH_dci
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
);
...
...
@@ -453,9 +460,11 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
8
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
8
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -472,9 +481,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
1
,
5
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
1
,
5
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -489,7 +501,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -511,9 +523,13 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
2
,
6
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
2
,
6
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -528,7 +544,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -553,9 +569,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
7
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
7
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
// no break here!
...
...
@@ -572,7 +591,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -591,9 +610,13 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
3
,
7
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
3
,
7
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -608,7 +631,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -634,9 +657,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
8
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
8
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
// no break here!
...
...
@@ -659,7 +685,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -679,9 +705,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
4
,
8
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
4
,
8
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -696,7 +725,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -724,9 +753,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
5
,
9
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
5
,
9
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -741,7 +773,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -768,7 +800,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -796,9 +828,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
2
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
2
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
// schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_status);
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -812,9 +847,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
3
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
3
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
// schedule_ue_spec(module_idP,frameP,subframeP,mbsfn_status);
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -836,7 +874,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -860,7 +898,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -879,9 +917,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
6
,
0
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
6
,
0
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -896,7 +937,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -929,7 +970,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -952,7 +993,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -971,9 +1012,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
7
,
1
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
7
,
1
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -988,7 +1032,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -1018,9 +1062,11 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
2
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
2
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -1035,7 +1081,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -1054,9 +1100,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
8
,
2
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
8
,
2
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -1071,7 +1120,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -1094,9 +1143,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
3
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
3
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
schedule_RA
(
module_idP
,
frameP
,
subframeP
,
7
);
// 7 = Msg3 subframeP, not
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -1111,7 +1163,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -1128,9 +1180,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
3
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
3
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -1145,7 +1200,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -1161,9 +1216,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
4
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
4
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
//schedule_RA(module_idP,frameP,subframeP);
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -1178,7 +1236,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -1203,7 +1261,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
@@ -1222,9 +1280,12 @@ if (mac_agent_registered[module_idP]){
#else
if
(
mac_agent_registered
[
module_idP
]){
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
9
,
3
);
agent_mac_xface
[
module_idP
]
->
flexran_agent_schedule_ul_spec
(
module_idP
,
frameP
,
cooperation_flag
,
9
,
3
,
&
msg
);
}
flexran_agent_mac_destroy_ul_config
(
msg
);
#endif
#ifndef FLEXRAN_AGENT_SB_IF
...
...
@@ -1239,7 +1300,7 @@ if (mac_agent_registered[module_idP]){
mbsfn_status
,
&
msg
);
flexran_apply_
dl_
scheduling_decisions
(
module_idP
,
flexran_apply_scheduling_decisions
(
module_idP
,
frameP
,
subframeP
,
mbsfn_status
,
...
...
openair2/LAYER2/MAC/flexran_agent_mac_proto.h
View file @
fdac4d17
...
...
@@ -174,12 +174,12 @@ void flexran_schedule_ue_spec_default(mid_t mod_id, uint32_t frame, uint32_t sub
void
flexran_agent_schedule_ulsch_ue_spec
(
module_id_t
module_idP
,
frame_t
frameP
,
unsigned
char
cooperation_flag
,
sub_frame_t
subframeP
,
unsigned
char
sched_subframe
);
unsigned
char
sched_subframe
,
Protocol__FlexranMessage
**
ul_info
);