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
promise
OpenXG-RAN
Commits
e5695779
Commit
e5695779
authored
Sep 12, 2020
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
FlexRAN: send loaded apps/macObjects to RTC
parent
28c47996
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
56 additions
and
0 deletions
+56
-0
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
+18
-0
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h
+5
-0
openair2/ENB_APP/MESSAGES/V2/flexran.proto
openair2/ENB_APP/MESSAGES/V2/flexran.proto
+2
-0
openair2/ENB_APP/flexran_agent_app.c
openair2/ENB_APP/flexran_agent_app.c
+17
-0
openair2/ENB_APP/flexran_agent_app.h
openair2/ENB_APP/flexran_agent_app.h
+4
-0
openair2/ENB_APP/flexran_agent_common.c
openair2/ENB_APP/flexran_agent_common.c
+10
-0
No files found.
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
View file @
e5695779
...
@@ -2059,3 +2059,21 @@ void flexran_agent_mac_inform_delegation(mid_t mod_id,
...
@@ -2059,3 +2059,21 @@ void flexran_agent_mac_inform_delegation(mid_t mod_id,
so
->
dl_handle
=
h
;
so
->
dl_handle
=
h
;
SLIST_INSERT_HEAD
(
&
flexran_handles
[
mod_id
],
so
,
entries
);
SLIST_INSERT_HEAD
(
&
flexran_handles
[
mod_id
],
so
,
entries
);
}
}
void
flexran_agent_mac_fill_loaded_mac_objects
(
mid_t
mod_id
,
Protocol__FlexEnbConfigReply
*
reply
)
{
int
n
=
0
;
flexran_agent_so_handle_t
*
so
=
NULL
;
SLIST_FOREACH
(
so
,
&
flexran_handles
[
mod_id
],
entries
)
++
n
;
reply
->
n_loadedmacobjects
=
n
;
reply
->
loadedmacobjects
=
calloc
(
n
,
sizeof
(
char
*
));
if
(
!
reply
->
loadedmacobjects
)
{
reply
->
n_loadedmacobjects
=
0
;
return
;
}
n
=
0
;
SLIST_FOREACH
(
so
,
&
flexran_handles
[
mod_id
],
entries
)
reply
->
loadedmacobjects
[
n
++
]
=
so
->
name
;
}
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.h
View file @
e5695779
...
@@ -139,4 +139,9 @@ void flexran_agent_destroy_mac_slice_config(Protocol__FlexCellConfig *conf);
...
@@ -139,4 +139,9 @@ void flexran_agent_destroy_mac_slice_config(Protocol__FlexCellConfig *conf);
void
flexran_agent_mac_inform_delegation
(
mid_t
mod_id
,
void
flexran_agent_mac_inform_delegation
(
mid_t
mod_id
,
Protocol__FlexControlDelegation
*
cdm
);
Protocol__FlexControlDelegation
*
cdm
);
/* fill the enb_config_reply with the shared objects in use by the MAC sublayer */
void
flexran_agent_mac_fill_loaded_mac_objects
(
mid_t
mod_id
,
Protocol__FlexEnbConfigReply
*
reply
);
#endif
#endif
openair2/ENB_APP/MESSAGES/V2/flexran.proto
View file @
e5695779
...
@@ -159,6 +159,8 @@ message flex_enb_config_reply {
...
@@ -159,6 +159,8 @@ message flex_enb_config_reply {
repeated
flex_cell_config
cell_config
=
3
;
repeated
flex_cell_config
cell_config
=
3
;
optional
uint32
device_spec
=
4
;
optional
uint32
device_spec
=
4
;
optional
flex_s1ap_config
s1ap
=
5
;
optional
flex_s1ap_config
s1ap
=
5
;
repeated
string
loadedApps
=
6
;
repeated
string
loadedMacObjects
=
7
;
}
}
message
flex_ue_config_request
{
message
flex_ue_config_request
{
...
...
openair2/ENB_APP/flexran_agent_app.c
View file @
e5695779
...
@@ -188,3 +188,20 @@ void flexran_agent_handle_apps(
...
@@ -188,3 +188,20 @@ void flexran_agent_handle_apps(
}
}
}
}
}
}
void
flexran_agent_fill_loaded_apps
(
mid_t
mod_id
,
Protocol__FlexEnbConfigReply
*
reply
)
{
int
n
=
0
;
flexran_agent_app_internal_t
*
so
=
NULL
;
SLIST_FOREACH
(
so
,
&
flexran_apps
[
mod_id
],
entries
)
++
n
;
reply
->
n_loadedapps
=
n
;
reply
->
loadedapps
=
calloc
(
n
,
sizeof
(
char
*
));
if
(
!
reply
->
loadedapps
)
{
reply
->
n_loadedapps
=
0
;
return
;
}
n
=
0
;
SLIST_FOREACH
(
so
,
&
flexran_apps
[
mod_id
],
entries
)
reply
->
loadedapps
[
n
++
]
=
so
->
name
;
}
openair2/ENB_APP/flexran_agent_app.h
View file @
e5695779
...
@@ -67,4 +67,8 @@ void flexran_agent_handle_apps(
...
@@ -67,4 +67,8 @@ void flexran_agent_handle_apps(
Protocol__FlexAgentReconfigurationSubsystem
**
subs
,
Protocol__FlexAgentReconfigurationSubsystem
**
subs
,
int
n_subs
);
int
n_subs
);
/* Fills the enb_config_reply with the currently loaded (started) apps */
void
flexran_agent_fill_loaded_apps
(
mid_t
mod_id
,
Protocol__FlexEnbConfigReply
*
reply
);
#endif
#endif
openair2/ENB_APP/flexran_agent_common.c
View file @
e5695779
...
@@ -330,6 +330,12 @@ int flexran_agent_destroy_enb_config_reply(Protocol__FlexranMessage *msg) {
...
@@ -330,6 +330,12 @@ int flexran_agent_destroy_enb_config_reply(Protocol__FlexranMessage *msg) {
if
(
reply
->
s1ap
)
if
(
reply
->
s1ap
)
flexran_agent_free_s1ap_cell_config
(
&
reply
->
s1ap
);
flexran_agent_free_s1ap_cell_config
(
&
reply
->
s1ap
);
if
(
reply
->
loadedapps
)
free
(
reply
->
loadedapps
);
if
(
reply
->
loadedmacobjects
)
free
(
reply
->
loadedmacobjects
);
free
(
reply
->
cell_config
);
free
(
reply
->
cell_config
);
free
(
reply
);
free
(
reply
);
free
(
msg
);
free
(
msg
);
...
@@ -836,6 +842,10 @@ int flexran_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__F
...
@@ -836,6 +842,10 @@ int flexran_agent_enb_config_reply(mid_t mod_id, const void *params, Protocol__F
if
(
flexran_agent_get_s1ap_xface
(
mod_id
))
if
(
flexran_agent_get_s1ap_xface
(
mod_id
))
flexran_agent_fill_s1ap_cell_config
(
mod_id
,
&
enb_config_reply_msg
->
s1ap
);
flexran_agent_fill_s1ap_cell_config
(
mod_id
,
&
enb_config_reply_msg
->
s1ap
);
flexran_agent_fill_loaded_apps
(
mod_id
,
enb_config_reply_msg
);
flexran_agent_mac_fill_loaded_mac_objects
(
mod_id
,
enb_config_reply_msg
);
*
msg
=
malloc
(
sizeof
(
Protocol__FlexranMessage
));
*
msg
=
malloc
(
sizeof
(
Protocol__FlexranMessage
));
if
(
*
msg
==
NULL
)
{
if
(
*
msg
==
NULL
)
{
...
...
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