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
6e6a462d
Commit
6e6a462d
authored
7 years ago
by
Robert Schmidt
Browse files
Options
Downloads
Patches
Plain Diff
check whether RRC instance is present in RAN API
parent
49ea4748
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
openair2/ENB_APP/flexran_agent_ran_api.c
+64
-9
64 additions, 9 deletions
openair2/ENB_APP/flexran_agent_ran_api.c
with
64 additions
and
9 deletions
openair2/ENB_APP/flexran_agent_ran_api.c
+
64
−
9
View file @
6e6a462d
...
...
@@ -65,17 +65,27 @@ void flexran_set_enb_vars(mid_t mod_id, ran_name_t ran){
error:
LOG_E
(
FLEXRAN_AGENT
,
"unknown RAN name %d
\n
"
,
ran
);
}
static
int
mac_xface_not_ready
(
void
);
static
int
mac_xface_not_ready
(
void
){
if
(
mac_xface
==
NULL
)
static
int
mac_xface_not_ready
(
void
)
{
if
(
mac_xface
==
NULL
)
{
return
1
;
}
else
{
//printf("max_xface %p %d \n", mac_xface, mac_xface->active);
return
0
;
// !mac_xface->active;
}
}
static
int
eNB_rrc_inst_not_ready
(
void
)
{
if
(
NULL
==
eNB_rrc_inst
)
{
return
1
;
}
else
{
return
0
;
}
}
int
flexran_get_current_time_ms
(
mid_t
mod_id
,
int
subframe_flag
){
if
(
enb
[
mod_id
]
==
NULL
)
return
0
;
...
...
@@ -681,6 +691,8 @@ int flexran_get_num_pdcch_symb(mid_t mod_id, int CC_id) {
int
flexran_get_time_alignment_timer
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
...
...
@@ -698,6 +710,8 @@ int flexran_get_meas_gap_config(mid_t mod_id, mid_t ue_id) {
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
if
(
ue_context_p
->
ue_context
.
measGapConfig
!=
NULL
)
{
...
...
@@ -719,6 +733,8 @@ int flexran_get_meas_gap_config(mid_t mod_id, mid_t ue_id) {
int
flexran_get_meas_gap_config_offset
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
...
...
@@ -741,6 +757,8 @@ int flexran_get_rrc_status(const mid_t mod_id, const rnti_t rntiP){
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
...
...
@@ -805,6 +823,8 @@ int flexran_get_res_alloc_type1(mid_t ue_id) {
int
flexran_get_ue_transmission_mode
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
...
...
@@ -822,6 +842,8 @@ int flexran_get_ue_transmission_mode(mid_t mod_id, mid_t ue_id) {
int
flexran_get_tti_bundling
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
...
...
@@ -839,6 +861,8 @@ int flexran_get_tti_bundling(mid_t mod_id, mid_t ue_id) {
int
flexran_get_maxHARQ_TX
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
...
...
@@ -852,6 +876,8 @@ int flexran_get_maxHARQ_TX(mid_t mod_id, mid_t ue_id) {
int
flexran_get_beta_offset_ack_index
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
...
...
@@ -868,6 +894,8 @@ int flexran_get_beta_offset_ack_index(mid_t mod_id, mid_t ue_id) {
int
flexran_get_beta_offset_ri_index
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
...
...
@@ -884,6 +912,8 @@ int flexran_get_beta_offset_ri_index(mid_t mod_id, mid_t ue_id) {
int
flexran_get_beta_offset_cqi_index
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
...
...
@@ -901,6 +931,8 @@ int flexran_get_beta_offset_cqi_index(mid_t mod_id, mid_t ue_id) {
int
flexran_get_simultaneous_ack_nack_cqi
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
...
...
@@ -914,13 +946,18 @@ int flexran_get_simultaneous_ack_nack_cqi(mid_t mod_id, mid_t ue_id) {
}
int
flexran_get_ack_nack_simultaneous_trans
(
mid_t
mod_id
,
mid_t
ue_id
)
{
return
(
&
eNB_rrc_inst
[
mod_id
])
->
carrier
[
0
].
sib2
->
radioResourceConfigCommon
.
soundingRS_UL_ConfigCommon
.
choice
.
setup
.
ackNackSRS_SimultaneousTransmission
;
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
return
(
&
eNB_rrc_inst
[
mod_id
])
->
carrier
[
0
].
sib2
->
radioResourceConfigCommon
.
soundingRS_UL_ConfigCommon
.
choice
.
setup
.
ackNackSRS_SimultaneousTransmission
;
}
int
flexran_get_aperiodic_cqi_rep_mode
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
...
...
@@ -935,6 +972,8 @@ int flexran_get_tdd_ack_nack_feedback(mid_t mod_id, mid_t ue_id) {
// TODO: This needs fixing
return
-
1
;
/* if (eNB_rrc_inst_not_ready()) return -1; */
/* struct rrc_eNB_ue_context_s* ue_context_p = NULL; */
/* uint32_t rntiP = flexran_get_ue_crnti(mod_id,ue_id); */
...
...
@@ -954,6 +993,8 @@ int flexran_get_tdd_ack_nack_feedback(mid_t mod_id, mid_t ue_id) {
int
flexran_get_ack_nack_repetition_factor
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
...
...
@@ -972,6 +1013,8 @@ int flexran_get_extended_bsr_size(mid_t mod_id, mid_t ue_id) {
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
if
(
ue_context_p
->
ue_context
.
mac_MainConfig
!=
NULL
){
...
...
@@ -989,7 +1032,9 @@ int flexran_get_extended_bsr_size(mid_t mod_id, mid_t ue_id) {
int
flexran_get_ue_transmission_antenna
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
...
...
@@ -1035,6 +1080,8 @@ int flexran_get_antenna_ports(mid_t mod_id, int CC_id){
LTE_DL_FRAME_PARMS
*
frame_parms
;
if
(
mac_xface_not_ready
())
return
0
;
frame_parms
=
mac_xface
->
get_lte_frame_parms
(
mod_id
,
CC_id
);
return
(
frame_parms
==
NULL
)
?
0
:
frame_parms
->
nb_antenna_ports_eNB
;
...
...
@@ -1171,6 +1218,8 @@ uint32_t flexran_get_pdcp_rx_oo(const mid_t mod_id, const mid_t ue_id, const lc
int
flexran_get_rrc_pcell_measid
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
...
...
@@ -1186,7 +1235,9 @@ int flexran_get_rrc_pcell_measid(mid_t mod_id, mid_t ue_id) {
int
flexran_get_rrc_pcell_rsrp
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
if
(
ue_context_p
->
ue_context
.
measResults
!=
NULL
)
{
...
...
@@ -1201,7 +1252,9 @@ int flexran_get_rrc_pcell_rsrp(mid_t mod_id, mid_t ue_id) {
int
flexran_get_rrc_pcell_rsrq
(
mid_t
mod_id
,
mid_t
ue_id
)
{
struct
rrc_eNB_ue_context_s
*
ue_context_p
=
NULL
;
uint32_t
rntiP
=
flexran_get_ue_crnti
(
mod_id
,
ue_id
);
if
(
eNB_rrc_inst_not_ready
())
return
-
1
;
ue_context_p
=
rrc_eNB_get_ue_context
(
&
eNB_rrc_inst
[
mod_id
],
rntiP
);
if
(
ue_context_p
!=
NULL
)
{
if
(
ue_context_p
->
ue_context
.
measResults
!=
NULL
)
{
...
...
@@ -1217,6 +1270,8 @@ int flexran_get_rrc_pcell_rsrq(mid_t mod_id, mid_t ue_id) {
void* flexran_get_rrc_ncell_measresult_eutra(mid_t mod_id, mid_t ue_id) {
struct rrc_eNB_ue_context_s* ue_context_p = NULL;
uint32_t rntiP = flexran_get_ue_crnti(mod_id,ue_id);
if (eNB_rrc_inst_not_ready()) return -1;
ue_context_p = rrc_eNB_get_ue_context(&eNB_rrc_inst[mod_id],rntiP);
if(ue_context_p != NULL) {
...
...
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