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
wangjie
OpenXG-RAN
Commits
75e3622d
Commit
75e3622d
authored
5 years ago
by
Konstantinos Alexandris
Committed by
Robert Schmidt
5 years ago
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Configure eNB for X2 handover controlled by network (ignore UE HO request)
parent
8957cfef
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
34 additions
and
0 deletions
+34
-0
openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
+3
-0
openair2/ENB_APP/MESSAGES/V2/config_messages.proto
openair2/ENB_APP/MESSAGES/V2/config_messages.proto
+1
-0
openair2/ENB_APP/flexran_agent_common.c
openair2/ENB_APP/flexran_agent_common.c
+6
-0
openair2/ENB_APP/flexran_agent_ran_api.c
openair2/ENB_APP/flexran_agent_ran_api.c
+12
-0
openair2/ENB_APP/flexran_agent_ran_api.h
openair2/ENB_APP/flexran_agent_ran_api.h
+6
-0
openair2/RRC/LTE/rrc_defs.h
openair2/RRC/LTE/rrc_defs.h
+3
-0
openair2/RRC/LTE/rrc_eNB.c
openair2/RRC/LTE/rrc_eNB.c
+3
-0
No files found.
openair2/ENB_APP/CONTROL_MODULES/RRC/flexran_agent_rrc.c
View file @
75e3622d
...
...
@@ -832,6 +832,9 @@ void flexran_agent_fill_rrc_cell_config(mid_t mod_id, uint8_t cc_id,
}
else
{
conf
->
n_plmn_id
=
0
;
}
conf
->
x2_ho_net_control
=
flexran_get_x2_ho_net_control
(
mod_id
);
conf
->
has_x2_ho_net_control
=
1
;
}
int
flexran_agent_unregister_rrc_xface
(
mid_t
mod_id
)
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/MESSAGES/V2/config_messages.proto
View file @
75e3622d
...
...
@@ -45,6 +45,7 @@ message flex_cell_config {
repeated
flex_plmn
plmn_id
=
40
;
// The PLMN cell id of this cell
optional
flex_slice_config
slice_config
=
42
;
optional
bool
x2_ho_net_control
=
43
;
}
message
flex_slice_config
{
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/flexran_agent_common.c
View file @
75e3622d
...
...
@@ -914,6 +914,12 @@ int flexran_agent_handle_enb_config_reply(mid_t mod_id, const void *params, Prot
// initiate_soft_restart(mod_id, enb_config->cell_config[0]);
}
if
(
flexran_agent_get_rrc_xface
(
mod_id
)
&&
enb_config
->
cell_config
[
0
]
->
has_x2_ho_net_control
)
{
if
(
flexran_set_x2_ho_net_control
(
mod_id
,
enb_config
->
cell_config
[
0
]
->
x2_ho_net_control
)
<
0
)
{
LOG_E
(
FLEXRAN_AGENT
,
"Error in configuring X2 handover controlled by network"
);
}
}
*
msg
=
NULL
;
return
0
;
}
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/flexran_agent_ran_api.c
View file @
75e3622d
...
...
@@ -2082,6 +2082,18 @@ int flexran_set_rrc_a3_event_reportOnLeave(mid_t mod_id, rnti_t rnti, int report
return
0
;
}
int
flexran_set_x2_ho_net_control
(
mid_t
mod_id
,
int
x2_ho_net_control
)
{
if
(
!
rrc_is_present
(
mod_id
))
return
-
1
;
if
(
!
((
x2_ho_net_control
==
0
)
||
(
x2_ho_net_control
==
1
)))
return
-
1
;
RC
.
rrc
[
mod_id
]
->
x2_ho_net_control
=
x2_ho_net_control
;
return
0
;
}
int
flexran_get_x2_ho_net_control
(
mid_t
mod_id
)
{
if
(
!
rrc_is_present
(
mod_id
))
return
-
1
;
return
RC
.
rrc
[
mod_id
]
->
x2_ho_net_control
;
}
uint8_t
flexran_get_rrc_num_plmn_ids
(
mid_t
mod_id
)
{
if
(
!
rrc_is_present
(
mod_id
))
return
0
;
return
RC
.
rrc
[
mod_id
]
->
configuration
.
num_plmn
;
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/flexran_agent_ran_api.h
View file @
75e3622d
...
...
@@ -630,6 +630,12 @@ uint16_t flexran_get_rrc_mnc(mid_t mod_id, uint8_t index);
/* Get index'th MNC's digit length broadcasted in SIB1 */
uint8_t
flexran_get_rrc_mnc_digit_length
(
mid_t
mod_id
,
uint8_t
index
);
/* Get X2 handover controlled by network */
int
flexran_get_x2_ho_net_control
(
mid_t
mod_id
);
/* Set X2 handover controlled by network */
int
flexran_set_x2_ho_net_control
(
mid_t
mod_id
,
int
x2_ho_net_control
);
/* Get number of adjacent cells via X2 interface */
int
flexran_get_rrc_num_adj_cells
(
mid_t
mod_id
);
/************************** Slice configuration **************************/
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/LTE/rrc_defs.h
View file @
75e3622d
...
...
@@ -826,6 +826,9 @@ typedef struct eNB_RRC_INST_s {
/// NR cell id
uint64_t
nr_cellid
;
// X2 handover controlled by network
int
x2_ho_net_control
;
// Neighborouring cells id
int
num_neigh_cells
;
int
num_neigh_cells_cc
[
MAX_NUM_CCs
];
...
...
This diff is collapsed.
Click to expand it.
openair2/RRC/LTE/rrc_eNB.c
View file @
75e3622d
...
...
@@ -4515,6 +4515,9 @@ rrc_eNB_process_MeasurementReport(
if
(
!
RC
.
rrc
[
ENB_INSTANCE_TO_MODULE_ID
(
ctxt_pP
->
instance
)]
->
configuration
.
enable_x2
)
return
;
if
(
RC
.
rrc
[
ctxt_pP
->
module_id
]
->
x2_ho_net_control
)
return
;
LOG_D
(
RRC
,
"A3 event is triggered...
\n
"
);
/* if the UE is not in handover mode, start handover procedure */
...
...
This diff is collapsed.
Click to expand it.
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