Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
O
OAI-RAN-5G-sheduler_MaxTBS
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
MAQ5G-PFC
OAI-RAN-5G-sheduler_MaxTBS
Commits
18548260
Commit
18548260
authored
7 years ago
by
Robert Schmidt
Browse files
Options
Downloads
Patches
Plain Diff
FlexRAN: send agent_id (aka enb_id)
parent
e7a60fc9
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
openair2/ENB_APP/MESSAGES/V2/flexran.proto
+1
-1
1 addition, 1 deletion
openair2/ENB_APP/MESSAGES/V2/flexran.proto
openair2/ENB_APP/flexran_agent_common.c
+51
-53
51 additions, 53 deletions
openair2/ENB_APP/flexran_agent_common.c
with
52 additions
and
54 deletions
openair2/ENB_APP/MESSAGES/V2/flexran.proto
+
1
−
1
View file @
18548260
...
...
@@ -131,7 +131,7 @@ message flex_enb_config_request {
message
flex_enb_config_reply
{
optional
flex_header
header
=
1
;
optional
uint
32
eNB_id
=
2
;
// Unique id to distinguish the eNB
optional
uint
64
eNB_id
=
2
;
// Unique id to distinguish the eNB
repeated
flex_cell_config
cell_config
=
3
;
optional
uint32
device_spec
=
4
;
}
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/flexran_agent_common.c
+
51
−
53
View file @
18548260
...
...
@@ -804,7 +804,6 @@ int flexran_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__F
xid
=
(
enb_config_req_msg
->
header
)
->
xid
;
int
i
,
j
;
int
enb_id
=
mod_id
;
Protocol__FlexEnbConfigReply
*
enb_config_reply_msg
;
enb_config_reply_msg
=
malloc
(
sizeof
(
Protocol__FlexEnbConfigReply
));
...
...
@@ -816,10 +815,10 @@ int flexran_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__F
goto
error
;
enb_config_reply_msg
->
header
=
header
;
enb_config_reply_msg
->
enb_id
=
mod
_id
;
enb_config_reply_msg
->
enb_id
=
RC
.
flexran
[
mod_id
]
->
agent
_id
;
enb_config_reply_msg
->
has_enb_id
=
1
;
enb_config_reply_msg
->
n_cell_config
=
MAX_NUM_CCs
;
Protocol__FlexCellConfig
**
cell_conf
;
...
...
@@ -832,43 +831,43 @@ int flexran_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__F
protocol__flex_cell_config__init
(
cell_conf
[
i
]);
cell_conf
[
i
]
->
phy_cell_id
=
1
;
cell_conf
[
i
]
->
has_phy_cell_id
=
flexran_get_cell_id
(
enb
_id
,
i
);
cell_conf
[
i
]
->
has_phy_cell_id
=
flexran_get_cell_id
(
mod
_id
,
i
);
cell_conf
[
i
]
->
cell_id
=
i
;
cell_conf
[
i
]
->
has_cell_id
=
1
;
cell_conf
[
i
]
->
pusch_hopping_offset
=
flexran_get_hopping_offset
(
enb
_id
,
i
);
cell_conf
[
i
]
->
pusch_hopping_offset
=
flexran_get_hopping_offset
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_pusch_hopping_offset
=
1
;
if
(
flexran_get_hopping_mode
(
enb
_id
,
i
)
==
0
)
{
if
(
flexran_get_hopping_mode
(
mod
_id
,
i
)
==
0
)
{
cell_conf
[
i
]
->
hopping_mode
=
PROTOCOL__FLEX_HOPPING_MODE__FLHM_INTER
;
}
else
if
(
flexran_get_hopping_mode
(
enb
_id
,
i
)
==
1
)
{
}
else
if
(
flexran_get_hopping_mode
(
mod
_id
,
i
)
==
1
)
{
cell_conf
[
i
]
->
hopping_mode
=
PROTOCOL__FLEX_HOPPING_MODE__FLHM_INTERINTRA
;
}
cell_conf
[
i
]
->
has_hopping_mode
=
1
;
cell_conf
[
i
]
->
n_sb
=
flexran_get_n_SB
(
enb
_id
,
i
);
cell_conf
[
i
]
->
n_sb
=
flexran_get_n_SB
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_n_sb
=
1
;
if
(
flexran_get_phich_resource
(
enb
_id
,
i
)
==
0
)
{
if
(
flexran_get_phich_resource
(
mod
_id
,
i
)
==
0
)
{
cell_conf
[
i
]
->
phich_resource
=
PROTOCOL__FLEX_PHICH_RESOURCE__FLPR_ONE_SIXTH
;
//0
}
else
if
(
flexran_get_phich_resource
(
enb
_id
,
i
)
==
1
)
{
}
else
if
(
flexran_get_phich_resource
(
mod
_id
,
i
)
==
1
)
{
cell_conf
[
i
]
->
phich_resource
=
PROTOCOL__FLEX_PHICH_RESOURCE__FLPR_HALF
;
//1
}
else
if
(
flexran_get_phich_resource
(
enb
_id
,
i
)
==
2
)
{
}
else
if
(
flexran_get_phich_resource
(
mod
_id
,
i
)
==
2
)
{
cell_conf
[
i
]
->
phich_resource
=
PROTOCOL__FLEX_PHICH_RESOURCE__FLPR_ONE
;
// 2
}
else
if
(
flexran_get_phich_resource
(
enb
_id
,
i
)
==
3
)
{
}
else
if
(
flexran_get_phich_resource
(
mod
_id
,
i
)
==
3
)
{
cell_conf
[
i
]
->
phich_resource
=
PROTOCOL__FLEX_PHICH_RESOURCE__FLPR_TWO
;
//3
}
cell_conf
[
i
]
->
has_phich_resource
=
1
;
if
(
flexran_get_phich_duration
(
enb
_id
,
i
)
==
0
)
{
if
(
flexran_get_phich_duration
(
mod
_id
,
i
)
==
0
)
{
cell_conf
[
i
]
->
phich_duration
=
PROTOCOL__FLEX_PHICH_DURATION__FLPD_NORMAL
;
}
else
if
(
flexran_get_phich_duration
(
enb
_id
,
i
)
==
1
)
{
}
else
if
(
flexran_get_phich_duration
(
mod
_id
,
i
)
==
1
)
{
cell_conf
[
i
]
->
phich_duration
=
PROTOCOL__FLEX_PHICH_DURATION__FLPD_EXTENDED
;
}
cell_conf
[
i
]
->
has_phich_duration
=
1
;
//TODO: Fill in with actual value, See TS 36.211, section 6.9
cell_conf
[
i
]
->
init_nr_pdcch_ofdm_sym
=
flexran_get_num_pdcch_symb
(
enb
_id
,
i
);
cell_conf
[
i
]
->
init_nr_pdcch_ofdm_sym
=
flexran_get_num_pdcch_symb
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_init_nr_pdcch_ofdm_sym
=
0
;
//TODO: Fill in with actual value
/* Protocol__FlexSiConfig *si_config; */
...
...
@@ -880,10 +879,10 @@ int flexran_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__F
/* si_config->sfn = 1; */
/* si_config->has_sfn = 1; */
/* //TODO: Fill in with actual value, the length of SIB1 in bytes */
/* si_config->sib1_length = get_sib1_length(
enb
_id,i); */
/* si_config->sib1_length = get_sib1_length(
mod
_id,i); */
/* si_config->has_sib1_length = 1; */
/* //TODO: Fill in with actual value, Scheduling window for all SIs in SF */
/* si_config->si_window_length = (uint32_t) get_si_window_length(
enb
_id,i); */
/* si_config->si_window_length = (uint32_t) get_si_window_length(
mod
_id,i); */
/* si_config->has_si_window_length = 1; */
/* //TODO: Fill in with actual value, the number of SI messages */
/* si_config->n_si_message=1; */
...
...
@@ -908,22 +907,22 @@ int flexran_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__F
/* } */
/* cell_conf[i]->si_config = si_config; */
cell_conf
[
i
]
->
dl_bandwidth
=
flexran_get_N_RB_DL
(
enb
_id
,
i
);
cell_conf
[
i
]
->
dl_bandwidth
=
flexran_get_N_RB_DL
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_dl_bandwidth
=
1
;
cell_conf
[
i
]
->
ul_bandwidth
=
flexran_get_N_RB_UL
(
enb
_id
,
i
);
cell_conf
[
i
]
->
ul_bandwidth
=
flexran_get_N_RB_UL
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_ul_bandwidth
=
1
;
if
(
flexran_get_ul_cyclic_prefix_length
(
enb
_id
,
i
)
==
0
)
{
if
(
flexran_get_ul_cyclic_prefix_length
(
mod
_id
,
i
)
==
0
)
{
cell_conf
[
i
]
->
ul_cyclic_prefix_length
=
PROTOCOL__FLEX_UL_CYCLIC_PREFIX_LENGTH__FLUCPL_NORMAL
;
}
else
if
(
flexran_get_ul_cyclic_prefix_length
(
enb
_id
,
i
)
==
1
)
{
cell_conf
[
i
]
->
ul_cyclic_prefix_length
=
PROTOCOL__FLEX_UL_CYCLIC_PREFIX_LENGTH__FLUCPL_EXTENDED
;
}
else
if
(
flexran_get_ul_cyclic_prefix_length
(
mod
_id
,
i
)
==
1
)
{
cell_conf
[
i
]
->
ul_cyclic_prefix_length
=
PROTOCOL__FLEX_UL_CYCLIC_PREFIX_LENGTH__FLUCPL_EXTENDED
;
}
cell_conf
[
i
]
->
has_ul_cyclic_prefix_length
=
1
;
if
(
flexran_get_ul_cyclic_prefix_length
(
enb
_id
,
i
)
==
0
)
{
if
(
flexran_get_ul_cyclic_prefix_length
(
mod
_id
,
i
)
==
0
)
{
cell_conf
[
i
]
->
ul_cyclic_prefix_length
=
PROTOCOL__FLEX_DL_CYCLIC_PREFIX_LENGTH__FLDCPL_NORMAL
;
}
else
if
(
flexran_get_ul_cyclic_prefix_length
(
enb
_id
,
i
)
==
1
)
{
}
else
if
(
flexran_get_ul_cyclic_prefix_length
(
mod
_id
,
i
)
==
1
)
{
cell_conf
[
i
]
->
ul_cyclic_prefix_length
=
PROTOCOL__FLEX_DL_CYCLIC_PREFIX_LENGTH__FLDCPL_EXTENDED
;
}
...
...
@@ -932,17 +931,17 @@ int flexran_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__F
cell_conf
[
i
]
->
antenna_ports_count
=
1
;
cell_conf
[
i
]
->
has_antenna_ports_count
=
1
;
if
(
flexran_get_duplex_mode
(
enb
_id
,
i
)
==
1
)
{
if
(
flexran_get_duplex_mode
(
mod
_id
,
i
)
==
1
)
{
cell_conf
[
i
]
->
duplex_mode
=
PROTOCOL__FLEX_DUPLEX_MODE__FLDM_FDD
;
}
else
if
(
flexran_get_duplex_mode
(
enb
_id
,
i
)
==
0
)
{
}
else
if
(
flexran_get_duplex_mode
(
mod
_id
,
i
)
==
0
)
{
cell_conf
[
i
]
->
duplex_mode
=
PROTOCOL__FLEX_DUPLEX_MODE__FLDM_TDD
;
}
cell_conf
[
i
]
->
has_duplex_mode
=
1
;
//TODO: Fill in with actual value, DL/UL subframe assignment. TDD only
cell_conf
[
i
]
->
subframe_assignment
=
flexran_get_subframe_assignment
(
enb
_id
,
i
);
cell_conf
[
i
]
->
subframe_assignment
=
flexran_get_subframe_assignment
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_subframe_assignment
=
0
;
//TODO: Fill in with actual value, TDD only. See TS 36.211, table 4.2.1
cell_conf
[
i
]
->
special_subframe_patterns
=
flexran_get_special_subframe_assignment
(
enb
_id
,
i
);
cell_conf
[
i
]
->
special_subframe_patterns
=
flexran_get_special_subframe_assignment
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_special_subframe_patterns
=
0
;
//TODO: Fill in with actual value, The MBSFN radio frame period
cell_conf
[
i
]
->
n_mbsfn_subframe_config_rfperiod
=
0
;
...
...
@@ -954,7 +953,7 @@ int flexran_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__F
elem_rfperiod
[
j
]
=
1
;
}
cell_conf
[
i
]
->
mbsfn_subframe_config_rfperiod
=
elem_rfperiod
;
//TODO: Fill in with actual value, The MBSFN radio frame offset
cell_conf
[
i
]
->
n_mbsfn_subframe_config_rfoffset
=
0
;
uint32_t
*
elem_rfoffset
;
...
...
@@ -965,7 +964,7 @@ int flexran_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__F
elem_rfoffset
[
j
]
=
1
;
}
cell_conf
[
i
]
->
mbsfn_subframe_config_rfoffset
=
elem_rfoffset
;
//TODO: Fill in with actual value, Bitmap indicating the MBSFN subframes
cell_conf
[
i
]
->
n_mbsfn_subframe_config_sfalloc
=
0
;
uint32_t
*
elem_sfalloc
;
...
...
@@ -976,63 +975,62 @@ int flexran_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__F
elem_sfalloc
[
j
]
=
1
;
}
cell_conf
[
i
]
->
mbsfn_subframe_config_sfalloc
=
elem_sfalloc
;
cell_conf
[
i
]
->
prach_config_index
=
flexran_get_prach_ConfigIndex
(
enb
_id
,
i
);
cell_conf
[
i
]
->
prach_config_index
=
flexran_get_prach_ConfigIndex
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_prach_config_index
=
1
;
cell_conf
[
i
]
->
prach_freq_offset
=
flexran_get_prach_FreqOffset
(
enb
_id
,
i
);
cell_conf
[
i
]
->
prach_freq_offset
=
flexran_get_prach_FreqOffset
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_prach_freq_offset
=
1
;
cell_conf
[
i
]
->
ra_response_window_size
=
flexran_get_ra_ResponseWindowSize
(
enb
_id
,
i
);
cell_conf
[
i
]
->
ra_response_window_size
=
flexran_get_ra_ResponseWindowSize
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_ra_response_window_size
=
1
;
cell_conf
[
i
]
->
mac_contention_resolution_timer
=
flexran_get_mac_ContentionResolutionTimer
(
enb
_id
,
i
);
cell_conf
[
i
]
->
mac_contention_resolution_timer
=
flexran_get_mac_ContentionResolutionTimer
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_mac_contention_resolution_timer
=
1
;
cell_conf
[
i
]
->
max_harq_msg3tx
=
flexran_get_maxHARQ_Msg3Tx
(
enb
_id
,
i
);
cell_conf
[
i
]
->
max_harq_msg3tx
=
flexran_get_maxHARQ_Msg3Tx
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_max_harq_msg3tx
=
1
;
cell_conf
[
i
]
->
n1pucch_an
=
flexran_get_n1pucch_an
(
enb
_id
,
i
);
cell_conf
[
i
]
->
n1pucch_an
=
flexran_get_n1pucch_an
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_n1pucch_an
=
1
;
cell_conf
[
i
]
->
deltapucch_shift
=
flexran_get_deltaPUCCH_Shift
(
enb
_id
,
i
);
cell_conf
[
i
]
->
deltapucch_shift
=
flexran_get_deltaPUCCH_Shift
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_deltapucch_shift
=
1
;
cell_conf
[
i
]
->
nrb_cqi
=
flexran_get_nRB_CQI
(
enb
_id
,
i
);
cell_conf
[
i
]
->
nrb_cqi
=
flexran_get_nRB_CQI
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_nrb_cqi
=
1
;
cell_conf
[
i
]
->
srs_subframe_config
=
flexran_get_srs_SubframeConfig
(
enb
_id
,
i
);
cell_conf
[
i
]
->
srs_subframe_config
=
flexran_get_srs_SubframeConfig
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_srs_subframe_config
=
1
;
cell_conf
[
i
]
->
srs_bw_config
=
flexran_get_srs_BandwidthConfig
(
enb
_id
,
i
);
cell_conf
[
i
]
->
srs_bw_config
=
flexran_get_srs_BandwidthConfig
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_srs_bw_config
=
1
;
cell_conf
[
i
]
->
srs_mac_up_pts
=
flexran_get_srs_MaxUpPts
(
enb
_id
,
i
);
cell_conf
[
i
]
->
srs_mac_up_pts
=
flexran_get_srs_MaxUpPts
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_srs_mac_up_pts
=
1
;
cell_conf
[
i
]
->
dl_freq
=
flexran_agent_get_operating_dl_freq
(
enb
_id
,
i
);
cell_conf
[
i
]
->
dl_freq
=
flexran_agent_get_operating_dl_freq
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_dl_freq
=
1
;
cell_conf
[
i
]
->
ul_freq
=
flexran_agent_get_operating_ul_freq
(
enb
_id
,
i
);
cell_conf
[
i
]
->
ul_freq
=
flexran_agent_get_operating_ul_freq
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_ul_freq
=
1
;
cell_conf
[
i
]
->
eutra_band
=
flexran_agent_get_operating_eutra_band
(
enb
_id
,
i
);
cell_conf
[
i
]
->
eutra_band
=
flexran_agent_get_operating_eutra_band
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_eutra_band
=
1
;
cell_conf
[
i
]
->
dl_pdsch_power
=
flexran_agent_get_operating_pdsch_refpower
(
enb
_id
,
i
);
cell_conf
[
i
]
->
dl_pdsch_power
=
flexran_agent_get_operating_pdsch_refpower
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_dl_pdsch_power
=
1
;
cell_conf
[
i
]
->
ul_pusch_power
=
flexran_agent_get_operating_pusch_p0
(
enb
_id
,
i
);
cell_conf
[
i
]
->
ul_pusch_power
=
flexran_agent_get_operating_pusch_p0
(
mod
_id
,
i
);
cell_conf
[
i
]
->
has_ul_pusch_power
=
1
;
if
(
flexran_get_enable64QAM
(
enb
_id
,
i
)
==
0
)
{
if
(
flexran_get_enable64QAM
(
mod
_id
,
i
)
==
0
)
{
cell_conf
[
i
]
->
enable_64qam
=
PROTOCOL__FLEX_QAM__FLEQ_MOD_16QAM
;
}
else
if
(
flexran_get_enable64QAM
(
enb
_id
,
i
)
==
1
)
{
}
else
if
(
flexran_get_enable64QAM
(
mod
_id
,
i
)
==
1
)
{
cell_conf
[
i
]
->
enable_64qam
=
PROTOCOL__FLEX_QAM__FLEQ_MOD_64QAM
;
}
cell_conf
[
i
]
->
has_enable_64qam
=
1
;
cell_conf
[
i
]
->
carrier_index
=
i
;
cell_conf
[
i
]
->
has_carrier_index
=
1
;
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment