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
zzha zzha
OpenXG-RAN
Commits
5ce9858d
Commit
5ce9858d
authored
Apr 21, 2017
by
shahab SHARIATBAGHERI
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
uplink scheduling
parent
169f3346
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
67 additions
and
27 deletions
+67
-27
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
+33
-0
openair2/ENB_APP/MESSAGES/V2/flexran.proto
openair2/ENB_APP/MESSAGES/V2/flexran.proto
+2
-2
openair2/ENB_APP/MESSAGES/V2/header.proto
openair2/ENB_APP/MESSAGES/V2/header.proto
+6
-5
openair2/LAYER2/MAC/eNB_scheduler.c
openair2/LAYER2/MAC/eNB_scheduler.c
+20
-20
openair2/LAYER2/MAC/flexran_agent_scheduler_ulsch_ue.c
openair2/LAYER2/MAC/flexran_agent_scheduler_ulsch_ue.c
+6
-0
No files found.
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
View file @
5ce9858d
...
@@ -1044,6 +1044,39 @@ int flexran_agent_mac_destroy_dl_config(Protocol__FlexranMessage *msg) {
...
@@ -1044,6 +1044,39 @@ int flexran_agent_mac_destroy_dl_config(Protocol__FlexranMessage *msg) {
return
-
1
;
return
-
1
;
}
}
int
flexran_agent_mac_create_empty_ul_config
(
mid_t
mod_id
,
Protocol__FlexranMessage
**
msg
)
{
int
xid
=
0
;
Protocol__FlexHeader
*
header
;
if
(
flexran_create_header
(
xid
,
PROTOCOL__FLEX_TYPE__FLPT_UL_MAC_CONFIG
,
&
header
)
!=
0
)
goto
error
;
Protocol__FlexUlMacConfig
*
ul_mac_config_msg
;
ul_mac_config_msg
=
malloc
(
sizeof
(
Protocol__FlexUlMacConfig
));
if
(
ul_mac_config_msg
==
NULL
)
{
goto
error
;
}
protocol__flex_ul_mac_config__init
(
ul_mac_config_msg
);
ul_mac_config_msg
->
header
=
header
;
ul_mac_config_msg
->
has_sfn_sf
=
1
;
ul_mac_config_msg
->
sfn_sf
=
flexran_get_sfn_sf
(
mod_id
);
*
msg
=
malloc
(
sizeof
(
Protocol__FlexranMessage
));
if
(
*
msg
==
NULL
)
goto
error
;
protocol__flexran_message__init
(
*
msg
);
(
*
msg
)
->
msg_case
=
PROTOCOL__FLEXRAN_MESSAGE__MSG_UL_MAC_CONFIG_MSG
;
(
*
msg
)
->
msg_dir
=
PROTOCOL__FLEXRAN_DIRECTION__INITIATING_MESSAGE
;
(
*
msg
)
->
ul_mac_config_msg
=
ul_mac_config_msg
;
return
0
;
error:
return
-
1
;
}
void
flexran_agent_get_pending_dl_mac_config
(
mid_t
mod_id
,
Protocol__FlexranMessage
**
msg
)
{
void
flexran_agent_get_pending_dl_mac_config
(
mid_t
mod_id
,
Protocol__FlexranMessage
**
msg
)
{
struct
lfds700_misc_prng_state
ls
;
struct
lfds700_misc_prng_state
ls
;
...
...
openair2/ENB_APP/MESSAGES/V2/flexran.proto
View file @
5ce9858d
...
@@ -24,12 +24,12 @@ message flexran_message {
...
@@ -24,12 +24,12 @@ message flexran_message {
flex_ue_config_reply
ue_config_reply_msg
=
11
;
flex_ue_config_reply
ue_config_reply_msg
=
11
;
flex_lc_config_request
lc_config_request_msg
=
12
;
flex_lc_config_request
lc_config_request_msg
=
12
;
flex_lc_config_reply
lc_config_reply_msg
=
13
;
flex_lc_config_reply
lc_config_reply_msg
=
13
;
flex_dl_mac_config
dl_mac_config_msg
=
14
;
flex_dl_mac_config
dl_mac_config_msg
=
14
;
flex_ul_mac_config
ul_mac_config_msg
=
19
;
flex_ue_state_change
ue_state_change_msg
=
15
;
flex_ue_state_change
ue_state_change_msg
=
15
;
flex_control_delegation
control_delegation_msg
=
16
;
flex_control_delegation
control_delegation_msg
=
16
;
flex_agent_reconfiguration
agent_reconfiguration_msg
=
17
;
flex_agent_reconfiguration
agent_reconfiguration_msg
=
17
;
flex_rrc_triggering
rrc_triggering
=
18
;
flex_rrc_triggering
rrc_triggering
=
18
;
flex_ul_mac_config
ul_mac_config_msg
=
19
;
}
}
}
}
...
...
openair2/ENB_APP/MESSAGES/V2/header.proto
View file @
5ce9858d
...
@@ -32,14 +32,15 @@ enum flex_type {
...
@@ -32,14 +32,15 @@ enum flex_type {
//Controller command messages
//Controller command messages
FLPT_DL_MAC_CONFIG
=
13
;
FLPT_DL_MAC_CONFIG
=
13
;
FLPT_UL_MAC_CONFIG
=
14
;
// UE state change messages
// UE state change messages
FLPT_UE_STATE_CHANGE
=
1
4
;
FLPT_UE_STATE_CHANGE
=
1
5
;
// Control delegation messages
// Control delegation messages
FLPT_DELEGATE_CONTROL
=
1
5
;
FLPT_DELEGATE_CONTROL
=
1
6
;
FLPT_RECONFIGURE_AGENT
=
1
6
;
FLPT_RECONFIGURE_AGENT
=
1
7
;
FLPT_RRC_TRIGGERING
=
1
7
;
FLPT_RRC_TRIGGERING
=
1
8
;
}
}
openair2/LAYER2/MAC/eNB_scheduler.c
View file @
5ce9858d
...
@@ -398,7 +398,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
...
@@ -398,7 +398,7 @@ 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);
schedule_ulsch
(
module_idP
,
frameP
,
cooperation_flag
,
subframeP
,
4
);
//,calibration_flag);
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
subframeP
,
4
);
}
}
#endif
#endif
...
@@ -438,7 +438,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
...
@@ -438,7 +438,7 @@ void eNB_dlsch_ulsch_scheduler(module_id_t module_idP,uint8_t cooperation_flag,
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
subframeP
,
7
);
}
}
#endif
#endif
...
@@ -453,7 +453,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -453,7 +453,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
subframeP
,
8
);
}
}
#endif
#endif
...
@@ -472,7 +472,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -472,7 +472,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
1
,
5
);
}
}
#endif
#endif
...
@@ -511,7 +511,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -511,7 +511,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
2
,
6
);
}
}
#endif
#endif
...
@@ -553,7 +553,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -553,7 +553,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
subframeP
,
7
);
}
}
#endif
#endif
...
@@ -591,7 +591,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -591,7 +591,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
3
,
7
);
}
}
#endif
#endif
...
@@ -634,7 +634,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -634,7 +634,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
subframeP
,
8
);
}
}
#endif
#endif
...
@@ -679,7 +679,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -679,7 +679,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
4
,
8
);
}
}
#endif
#endif
...
@@ -724,7 +724,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -724,7 +724,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
5
,
9
);
}
}
#endif
#endif
...
@@ -796,7 +796,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -796,7 +796,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
subframeP
,
2
);
}
}
#endif
#endif
...
@@ -812,7 +812,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -812,7 +812,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
subframeP
,
3
);
}
}
#endif
#endif
...
@@ -879,7 +879,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -879,7 +879,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
6
,
0
);
}
}
#endif
#endif
...
@@ -971,7 +971,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -971,7 +971,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
7
,
1
);
}
}
#endif
#endif
...
@@ -1018,7 +1018,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -1018,7 +1018,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
subframeP
,
2
);
}
}
#endif
#endif
...
@@ -1054,7 +1054,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -1054,7 +1054,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
8
,
2
);
}
}
#endif
#endif
...
@@ -1094,7 +1094,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -1094,7 +1094,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
subframeP
,
3
);
}
}
#endif
#endif
...
@@ -1128,7 +1128,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -1128,7 +1128,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
subframeP
,
3
);
}
}
#endif
#endif
...
@@ -1161,7 +1161,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -1161,7 +1161,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
subframeP
,
4
);
}
}
#endif
#endif
...
@@ -1222,7 +1222,7 @@ if (mac_agent_registered[module_idP]){
...
@@ -1222,7 +1222,7 @@ if (mac_agent_registered[module_idP]){
#else
#else
if
(
mac_agent_registered
[
module_idP
]){
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
,
9
,
3
);
}
}
#endif
#endif
...
...
openair2/LAYER2/MAC/flexran_agent_scheduler_ulsch_ue.c
View file @
5ce9858d
...
@@ -790,6 +790,7 @@ void flexran_agent_schedule_ulsch_ue_spec(module_id_t module_idP,
...
@@ -790,6 +790,7 @@ void flexran_agent_schedule_ulsch_ue_spec(module_id_t module_idP,
unsigned
char
sched_subframe
)
{
unsigned
char
sched_subframe
)
{
// flexran_agent_mac_create_empty_ul_config(module_idP, ul_info);
uint16_t
first_rb
[
MAX_NUM_CCs
],
i
;
uint16_t
first_rb
[
MAX_NUM_CCs
],
i
;
int
CC_id
;
int
CC_id
;
...
@@ -884,6 +885,11 @@ void flexran_agent_schedule_ulsch_rnti(module_id_t module_idP,
...
@@ -884,6 +885,11 @@ void flexran_agent_schedule_ulsch_rnti(module_id_t module_idP,
// LOG_I(MAC,"entering ulsch preprocesor\n");
// LOG_I(MAC,"entering ulsch preprocesor\n");
_ulsch_scheduler_pre_processor
(
module_idP
,
_ulsch_scheduler_pre_processor
(
module_idP
,
frameP
,
frameP
,
subframeP
,
subframeP
,
...
...
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