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
8c76d6ab
Commit
8c76d6ab
authored
4 years ago
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Delete old protobuf slice types flex_slice_{dl,ul}
parent
198822aa
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
45 additions
and
1624 deletions
+45
-1624
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
+12
-194
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c
.../ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c
+1
-665
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h
.../ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h
+0
-20
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_slice_verification.c
...ONTROL_MODULES/MAC/flexran_agent_mac_slice_verification.c
+0
-343
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_slice_verification.h
...ONTROL_MODULES/MAC/flexran_agent_mac_slice_verification.h
+0
-6
openair2/ENB_APP/MESSAGES/V2/config_common.proto
openair2/ENB_APP/MESSAGES/V2/config_common.proto
+0
-77
openair2/ENB_APP/MESSAGES/V2/config_messages.proto
openair2/ENB_APP/MESSAGES/V2/config_messages.proto
+0
-8
openair2/ENB_APP/flexran_agent_common.c
openair2/ENB_APP/flexran_agent_common.c
+1
-19
openair2/ENB_APP/flexran_agent_ran_api.c
openair2/ENB_APP/flexran_agent_ran_api.c
+14
-160
openair2/ENB_APP/flexran_agent_ran_api.h
openair2/ENB_APP/flexran_agent_ran_api.h
+17
-132
No files found.
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac.c
View file @
8c76d6ab
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c
View file @
8c76d6ab
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h
View file @
8c76d6ab
...
@@ -111,30 +111,10 @@ Protocol__FlexSliceConfig *flexran_agent_create_slice_config(int n_dl, int m_ul)
...
@@ -111,30 +111,10 @@ Protocol__FlexSliceConfig *flexran_agent_create_slice_config(int n_dl, int m_ul)
* Protocol__FlexSliceConfig struct */
* Protocol__FlexSliceConfig struct */
void
flexran_agent_read_slice_config
(
mid_t
mod_id
,
Protocol__FlexSliceConfig
*
s
);
void
flexran_agent_read_slice_config
(
mid_t
mod_id
,
Protocol__FlexSliceConfig
*
s
);
/* read the DL slice config via the RAN into a given Protocol__FlexDlSlice
* struct */
void
flexran_agent_read_slice_dl_config
(
mid_t
mod_id
,
int
slice_idx
,
Protocol__FlexDlSlice
*
dl_slice
);
/* read the UL slice config via the RAN into a given Protocol__FlexUlSlice
* struct */
void
flexran_agent_read_slice_ul_config
(
mid_t
mod_id
,
int
slice_idx
,
Protocol__FlexUlSlice
*
ul_slice
);
/* reads content of slice over the sc_update structure, so that it can be
/* reads content of slice over the sc_update structure, so that it can be
* applied later by performing a diff between slice_config and sc_update */
* applied later by performing a diff between slice_config and sc_update */
void
prepare_update_slice_config
(
mid_t
mod_id
,
Protocol__FlexSliceConfig
*
slice
);
void
prepare_update_slice_config
(
mid_t
mod_id
,
Protocol__FlexSliceConfig
*
slice
);
/* apply generic slice parameters (e.g. intra-/interslice sharing activated or
* not) if there are changes. Returns the number of changed parameters. */
int
apply_new_slice_config
(
mid_t
mod_id
,
Protocol__FlexSliceConfig
*
olds
,
Protocol__FlexSliceConfig
*
news
);
/* apply new configuration of slice in DL if there are changes between the
* parameters. Returns the number of changed parameters. */
int
apply_new_slice_dl_config
(
mid_t
mod_id
,
Protocol__FlexDlSlice
*
oldc
,
Protocol__FlexDlSlice
*
newc
);
/* apply new configuration of slice in UL if there are changes between the
* parameters. Returns the number of changed parameters. */
int
apply_new_slice_ul_config
(
mid_t
mod_id
,
Protocol__FlexUlSlice
*
oldc
,
Protocol__FlexUlSlice
*
newc
);
/* inserts a new ue_config into the structure keeping ue to slice association
/* inserts a new ue_config into the structure keeping ue to slice association
* updates and marks so it can be applied */
* updates and marks so it can be applied */
void
prepare_ue_slice_assoc_update
(
mid_t
mod_id
,
Protocol__FlexUeConfig
*
ue_config
);
void
prepare_ue_slice_assoc_update
(
mid_t
mod_id
,
Protocol__FlexUeConfig
*
ue_config
);
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_slice_verification.c
View file @
8c76d6ab
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_slice_verification.h
View file @
8c76d6ab
...
@@ -29,9 +29,3 @@
...
@@ -29,9 +29,3 @@
#include "flexran_agent_common_internal.h"
#include "flexran_agent_common_internal.h"
#include "flexran_agent_mac_internal.h"
#include "flexran_agent_mac_internal.h"
int
flexran_verify_dl_slice
(
mid_t
mod_id
,
Protocol__FlexDlSlice
*
dls
);
int
flexran_verify_group_dl_slices
(
mid_t
mod_id
,
Protocol__FlexDlSlice
**
existing
,
int
n_ex
,
Protocol__FlexDlSlice
**
update
,
int
n_up
);
int
flexran_verify_ul_slice
(
mid_t
mod_id
,
Protocol__FlexUlSlice
*
uls
);
int
flexran_verify_group_ul_slices
(
mid_t
mod_id
,
Protocol__FlexUlSlice
**
existing
,
int
n_ex
,
Protocol__FlexUlSlice
**
update
,
int
n_up
);
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/MESSAGES/V2/config_common.proto
View file @
8c76d6ab
...
@@ -61,83 +61,6 @@ enum flex_qam {
...
@@ -61,83 +61,6 @@ enum flex_qam {
//
//
// Slice config related structures and enums
// Slice config related structures and enums
//
//
enum
flex_dl_sorting
{
CR_ROUND
=
0
;
// Highest HARQ first
CR_SRB12
=
1
;
// Highest SRB1+2 first
CR_HOL
=
2
;
// Highest HOL first
CR_LC
=
3
;
// Greatest RLC buffer first
CR_CQI
=
4
;
// Highest CQI first
CR_LCP
=
5
;
// Highest LC priority first
}
enum
flex_ul_sorting
{
CRU_ROUND
=
0
;
// Highest HARQ first
CRU_BUF
=
1
;
// Highest BSR first
CRU_BTS
=
2
;
// More bytes to schedule first
CRU_MCS
=
3
;
// Highest MCS first
CRU_LCP
=
4
;
// Highest LC priority first
CRU_HOL
=
5
;
// Highest HOL first
}
enum
flex_dl_accounting_policy
{
POL_FAIR
=
0
;
POL_GREEDY
=
1
;
POL_NUM
=
2
;
}
enum
flex_ul_accounting_policy
{
POLU_FAIR
=
0
;
POLU_GREEDY
=
1
;
POLU_NUM
=
2
;
}
enum
flex_slice_label
{
xMBB
=
0
;
URLLC
=
1
;
mMTC
=
2
;
xMTC
=
3
;
Other
=
4
;
}
message
flex_dl_slice
{
optional
uint32
id
=
1
;
optional
flex_slice_label
label
=
2
;
// should be between 0 and 100
optional
uint32
percentage
=
3
;
// whether this slice should be exempted form interslice sharing
optional
bool
isolation
=
4
;
// increasing value means increasing prio
optional
uint32
priority
=
5
;
// min and max RB to use (in frequency) in the range [0, N_RBG_MAX]
optional
uint32
position_low
=
6
;
optional
uint32
position_high
=
7
;
// maximum MCS to be allowed in this slice
optional
uint32
maxmcs
=
8
;
repeated
flex_dl_sorting
sorting
=
9
;
optional
flex_dl_accounting_policy
accounting
=
10
;
optional
string
scheduler_name
=
11
;
}
message
flex_ul_slice
{
optional
uint32
id
=
1
;
optional
flex_slice_label
label
=
2
;
// should be between 0 and 100
optional
uint32
percentage
=
3
;
// whether this slice should be exempted form interslice sharing
optional
bool
isolation
=
4
;
// increasing value means increasing prio
optional
uint32
priority
=
5
;
// RB start to use (in frequency) in the range [0, N_RB_MAX]
optional
uint32
first_rb
=
6
;
// TODO RB number
//optional uint32 length_rb = 7;
// maximum MCS to be allowed in this slice
optional
uint32
maxmcs
=
8
;
repeated
flex_ul_sorting
sorting
=
9
;
optional
flex_ul_accounting_policy
accounting
=
10
;
optional
string
scheduler_name
=
11
;
}
//
//
// UE config related structures and enums
// UE config related structures and enums
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/MESSAGES/V2/config_messages.proto
View file @
8c76d6ab
...
@@ -49,14 +49,6 @@ message flex_cell_config {
...
@@ -49,14 +49,6 @@ message flex_cell_config {
}
}
message
flex_slice_config
{
message
flex_slice_config
{
// whether remaining RBs after first intra-slice allocation will
// be allocated to UEs of the same slice
optional
bool
intraslice_share_active
=
3
;
// whether remaining RBs after slice allocation will be allocated
// to UEs of another slice. Isolated slices will be ignored.
optional
bool
interslice_share_active
=
4
;
repeated
flex_dl_slice
dl
=
1
;
repeated
flex_ul_slice
ul
=
2
;
}
}
message
flex_ue_config
{
message
flex_ue_config
{
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/flexran_agent_common.c
View file @
8c76d6ab
...
@@ -316,25 +316,7 @@ int flexran_agent_destroy_enb_config_reply(Protocol__FlexranMessage *msg) {
...
@@ -316,25 +316,7 @@ int flexran_agent_destroy_enb_config_reply(Protocol__FlexranMessage *msg) {
}
}
if
(
reply
->
cell_config
[
i
]
->
slice_config
)
{
if
(
reply
->
cell_config
[
i
]
->
slice_config
)
{
for
(
int
j
=
0
;
j
<
reply
->
cell_config
[
i
]
->
slice_config
->
n_dl
;
++
j
)
{
/* TODO */
if
(
reply
->
cell_config
[
i
]
->
slice_config
->
dl
[
j
]
->
n_sorting
>
0
)
free
(
reply
->
cell_config
[
i
]
->
slice_config
->
dl
[
j
]
->
sorting
);
free
(
reply
->
cell_config
[
i
]
->
slice_config
->
dl
[
j
]
->
scheduler_name
);
free
(
reply
->
cell_config
[
i
]
->
slice_config
->
dl
[
j
]);
}
free
(
reply
->
cell_config
[
i
]
->
slice_config
->
dl
);
for
(
int
j
=
0
;
j
<
reply
->
cell_config
[
i
]
->
slice_config
->
n_ul
;
++
j
)
{
if
(
reply
->
cell_config
[
i
]
->
slice_config
->
ul
[
j
]
->
n_sorting
>
0
)
free
(
reply
->
cell_config
[
i
]
->
slice_config
->
ul
[
j
]
->
sorting
);
free
(
reply
->
cell_config
[
i
]
->
slice_config
->
ul
[
j
]
->
scheduler_name
);
free
(
reply
->
cell_config
[
i
]
->
slice_config
->
ul
[
j
]);
}
free
(
reply
->
cell_config
[
i
]
->
slice_config
->
ul
);
free
(
reply
->
cell_config
[
i
]
->
slice_config
);
free
(
reply
->
cell_config
[
i
]
->
slice_config
);
}
}
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/flexran_agent_ran_api.c
View file @
8c76d6ab
...
@@ -3018,142 +3018,44 @@ int flexran_get_ue_dl_slice_id(mid_t mod_id, mid_t ue_id) {
...
@@ -3018,142 +3018,44 @@ int flexran_get_ue_dl_slice_id(mid_t mod_id, mid_t ue_id) {
return
0
;
return
0
;
}
}
void
flexran_set_ue_dl_slice_idx
(
mid_t
mod_id
,
mid_t
ue_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
int
flexran_get_ue_ul_slice_id
(
mid_t
mod_id
,
mid_t
ue_id
)
{
int
flexran_get_ue_ul_slice_id
(
mid_t
mod_id
,
mid_t
ue_id
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
0
;
return
0
;
}
}
void
flexran_set_ue_ul_slice_idx
(
mid_t
mod_id
,
mid_t
ue_id
,
int
slice_idx
)
{
/* TODO */
if
(
!
mac_is_present
(
mod_id
))
return
;
}
int
flexran_dl_slice_exists
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
0
;
}
int
flexran_create_dl_slice
(
mid_t
mod_id
,
slice_id_t
slice_id
)
{
int
flexran_create_dl_slice
(
mid_t
mod_id
,
slice_id_t
slice_id
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
return
-
1
;
}
}
int
flexran_find_dl_slice
(
mid_t
mod_id
,
slice_id_t
slice_id
)
{
/* TODO */
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
}
int
flexran_remove_dl_slice
(
mid_t
mod_id
,
int
slice_idx
)
{
int
flexran_remove_dl_slice
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
return
-
1
;
}
}
int
flexran_get_num_dl_slices
(
mid_t
mod_id
)
{
int
flexran_find_dl_slice
(
mid_t
mod_id
,
slice_id_t
slice_id
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
0
;
}
int
flexran_get_intraslice_sharing_active
(
mid_t
mod_id
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
}
void
flexran_set_intraslice_sharing_active
(
mid_t
mod_id
,
int
intraslice_active
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
int
flexran_get_interslice_sharing_active
(
mid_t
mod_id
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
}
void
flexran_set_interslice_sharing_active
(
mid_t
mod_id
,
int
interslice_active
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
slice_id_t
flexran_get_dl_slice_id
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
}
void
flexran_set_dl_slice_id
(
mid_t
mod_id
,
int
slice_idx
,
slice_id_t
slice_id
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
int
flexran_get_dl_slice_percentage
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
}
void
flexran_set_dl_slice_percentage
(
mid_t
mod_id
,
int
slice_idx
,
int
percentage
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
int
flexran_get_dl_slice_isolation
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
}
void
flexran_set_dl_slice_isolation
(
mid_t
mod_id
,
int
slice_idx
,
int
is_isolated
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
int
flexran_get_dl_slice_priority
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
}
void
flexran_set_dl_slice_priority
(
mid_t
mod_id
,
int
slice_idx
,
int
priority
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
int
flexran_get_dl_slice_position_low
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
}
void
flexran_set_dl_slice_position_low
(
mid_t
mod_id
,
int
slice_idx
,
int
poslow
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
int
flexran_get_dl_slice_position_high
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
return
-
1
;
}
}
void
flexran_set_dl_slice_position_high
(
mid_t
mod_id
,
int
slice_idx
,
int
poshigh
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
int
flexran_get_dl_slice_maxmcs
(
mid_t
mod_id
,
int
slice_idx
)
{
//int flexran_get_dl_slice(mid_t mod_id, int slice_idx, Protocol__FlexSlice *s) {
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
//}
return
-
1
;
}
void
flexran_set_dl_slice_maxmcs
(
mid_t
mod_id
,
int
slice_idx
,
int
maxmcs
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
int
flexran_get_
dl_slice_sorting
(
mid_t
mod_id
,
int
slice_idx
,
Protocol__FlexDlSorting
**
sorting_list
)
{
int
flexran_get_
num_dl_slices
(
mid_t
mod_id
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
return
0
;
}
void
flexran_set_dl_slice_sorting
(
mid_t
mod_id
,
int
slice_idx
,
Protocol__FlexDlSorting
*
sorting_list
,
int
n
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
}
Protocol__FlexDlAccountingPolicy
flexran_get_dl_slice_accounting_policy
(
mid_t
mod_id
,
int
slice_idx
)
{
/* TODO */
if
(
!
mac_is_present
(
mod_id
))
return
PROTOCOL__FLEX_DL_ACCOUNTING_POLICY__POL_FAIR
;
void
flexran_create_ul_slice
(
mid_t
mod_id
,
slice_id_t
slice_id
)
{
return
PROTOCOL__FLEX_DL_ACCOUNTING_POLICY__POL_FAIR
;
}
void
flexran_set_dl_slice_accounting_policy
(
mid_t
mod_id
,
int
slice_idx
,
Protocol__FlexDlAccountingPolicy
accounting
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
if
(
!
mac_is_present
(
mod_id
))
return
;
return
;
}
}
char
*
flexran_get_dl_slice_scheduler
(
mid_t
mod_id
,
int
slice_idx
)
{
/* TODO */
if
(
!
mac_is_present
(
mod_id
))
return
NULL
;
int
flexran_remove_ul_slice
(
mid_t
mod_id
,
int
slice_idx
)
{
return
NULL
;
}
int
flexran_set_dl_slice_scheduler
(
mid_t
mod_id
,
int
slice_idx
,
char
*
name
)
{
if
(
!
mac_is_present
(
mod_id
))
return
0
;
return
0
;
}
int
flexran_create_ul_slice
(
mid_t
mod_id
,
slice_id_t
slice_id
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
return
-
1
;
}
}
...
@@ -3163,62 +3065,14 @@ int flexran_find_ul_slice(mid_t mod_id, slice_id_t slice_id) {
...
@@ -3163,62 +3065,14 @@ int flexran_find_ul_slice(mid_t mod_id, slice_id_t slice_id) {
return
-
1
;
return
-
1
;
}
}
int
flexran_remove_ul_slice
(
mid_t
mod_id
,
int
slice_idx
)
{
//int flexran_get_ul_slice(mid_t mod_id, int slice_idx, Protocol__FlexSlice *s) {
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
//}
return
-
1
;
}
int
flexran_get_num_ul_slices
(
mid_t
mod_id
)
{
int
flexran_get_num_ul_slices
(
mid_t
mod_id
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
0
;
return
0
;
}
}
int
flexran_ul_slice_exists
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
0
;
}
slice_id_t
flexran_get_ul_slice_id
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
}
void
flexran_set_ul_slice_id
(
mid_t
mod_id
,
int
slice_idx
,
slice_id_t
slice_id
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
int
flexran_get_ul_slice_percentage
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
}
void
flexran_set_ul_slice_percentage
(
mid_t
mod_id
,
int
slice_idx
,
int
percentage
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
int
flexran_get_ul_slice_first_rb
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
}
void
flexran_set_ul_slice_first_rb
(
mid_t
mod_id
,
int
slice_idx
,
int
first_rb
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
int
flexran_get_ul_slice_maxmcs
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
-
1
;
return
-
1
;
}
void
flexran_set_ul_slice_maxmcs
(
mid_t
mod_id
,
int
slice_idx
,
int
maxmcs
)
{
if
(
!
mac_is_present
(
mod_id
))
return
;
}
char
*
flexran_get_ul_slice_scheduler
(
mid_t
mod_id
,
int
slice_idx
)
{
if
(
!
mac_is_present
(
mod_id
))
return
NULL
;
return
""
;
}
int
flexran_set_ul_slice_scheduler
(
mid_t
mod_id
,
int
slice_idx
,
char
*
name
)
{
if
(
!
mac_is_present
(
mod_id
))
return
0
;
return
0
;
}
/************************** S1AP **************************/
/************************** S1AP **************************/
int
flexran_get_s1ap_mme_pending
(
mid_t
mod_id
){
int
flexran_get_s1ap_mme_pending
(
mid_t
mod_id
){
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/flexran_agent_ran_api.h
View file @
8c76d6ab
...
@@ -659,153 +659,38 @@ uint32_t flexran_get_rrc_enb_ue_s1ap_id(mid_t mod_id, rnti_t rnti);
...
@@ -659,153 +659,38 @@ uint32_t flexran_get_rrc_enb_ue_s1ap_id(mid_t mod_id, rnti_t rnti);
/* Get the DL slice ID for a UE */
/* Get the DL slice ID for a UE */
int
flexran_get_ue_dl_slice_id
(
mid_t
mod_id
,
mid_t
ue_id
);
int
flexran_get_ue_dl_slice_id
(
mid_t
mod_id
,
mid_t
ue_id
);
/* Set the DL slice index(!) for a UE */
/* Set the DL slice index(!) for a UE */
void
flexran_set_ue_dl_slice_idx
(
mid_t
mod_id
,
mid_t
ue_id
,
int
slice_idx
);
//
void flexran_set_ue_dl_slice_idx(mid_t mod_id, mid_t ue_id, int slice_idx);
/* Get the UL slice ID for a UE */
/* Get the UL slice ID for a UE */
int
flexran_get_ue_ul_slice_id
(
mid_t
mod_id
,
mid_t
ue_id
);
int
flexran_get_ue_ul_slice_id
(
mid_t
mod_id
,
mid_t
ue_id
);
/* Set the UL slice index(!) for a UE */
/* Set the UL slice index(!) for a UE */
void
flexran_set_ue_ul_slice_idx
(
mid_t
mod_id
,
mid_t
ue_id
,
int
slice_idx
);
//void flexran_set_ue_ul_slice_idx(mid_t mod_id, mid_t ue_id, int slice_idx);
/* Whether intraslice sharing is active, return boolean */
int
flexran_get_intraslice_sharing_active
(
mid_t
mod_id
);
/* Set whether intraslice sharing is active */
void
flexran_set_intraslice_sharing_active
(
mid_t
mod_id
,
int
intraslice_active
);
/*
Whether intraslice sharing is active, return boolean
*/
/*
Create slice in DL, returns the new slice index
*/
int
flexran_get_interslice_sharing_active
(
mid_t
mod
_id
);
//int flexran_create_dl_slice(mid_t mod_id, slice_id_t slice
_id);
/*
Set whether intraslice sharing is active
*/
/*
Remove slice in DL, returns new number of slices or -1 on error
*/
void
flexran_set_interslice_sharing_active
(
mid_t
mod_id
,
int
interslice_active
);
//int flexran_remove_dl_slice(mid_t mod_id, int slice_idx
);
/* Finds slice in DL with given slice_id and returns slice index */
int
flexran_find_dl_slice
(
mid_t
mod_id
,
slice_id_t
slice_id
);
/* Return the parameters of slice at index slice_idx */
//void flexran_get_dl_slice(mid_t mod_id, int slice_idx, Protocol__FlexSlice *s);
/* Get the number of slices in DL */
/* Get the number of slices in DL */
int
flexran_get_num_dl_slices
(
mid_t
mod_id
);
int
flexran_get_num_dl_slices
(
mid_t
mod_id
);
/* Query slice existence in DL. Return is boolean value */
/* Create slice in UL, returns the new slice index */
int
flexran_dl_slice_exists
(
mid_t
mod_id
,
int
slice_idx
);
//int flexran_create_ul_slice(mid_t mod_id, slice_id_t slice_id);
/* Remove slice in UL */
//int flexran_remove_ul_slice(mid_t mod_id, int slice_idx);
/* Create slice in DL, returns the new slice index */
int
flexran_create_dl_slice
(
mid_t
mod_id
,
slice_id_t
slice_id
);
/* Finds slice in DL with given slice_id and returns slice index */
/* Finds slice in DL with given slice_id and returns slice index */
int
flexran_find_dl_slice
(
mid_t
mod_id
,
slice_id_t
slice_id
);
int
flexran_find_ul_slice
(
mid_t
mod_id
,
slice_id_t
slice_id
);
/* Remove slice in DL, returns new number of slices or -1 on error */
/* Return the parameters of slice at index slice_idx */
int
flexran_remove_dl_slice
(
mid_t
mod_id
,
int
slice_idx
);
//void flexran_get_ul_slice(mid_t mod_id, int slice_idx, Protocol__FlexSlice *s);
/* Get the ID of a slice in DL */
slice_id_t
flexran_get_dl_slice_id
(
mid_t
mod_id
,
int
slice_idx
);
/* Set the ID of a slice in DL */
void
flexran_set_dl_slice_id
(
mid_t
mod_id
,
int
slice_idx
,
slice_id_t
slice_id
);
/* Get the RB share a slice in DL, value 0-100 */
int
flexran_get_dl_slice_percentage
(
mid_t
mod_id
,
int
slice_idx
);
/* Set the RB share a slice in DL, value 0-100 */
void
flexran_set_dl_slice_percentage
(
mid_t
mod_id
,
int
slice_idx
,
int
percentage
);
/* Whether a slice in DL is isolated */
int
flexran_get_dl_slice_isolation
(
mid_t
mod_id
,
int
slice_idx
);
/* Set whether a slice in DL is isolated */
void
flexran_set_dl_slice_isolation
(
mid_t
mod_id
,
int
slice_idx
,
int
is_isolated
);
/* Get the priority of a slice in DL */
int
flexran_get_dl_slice_priority
(
mid_t
mod_id
,
int
slice_idx
);
/* Get the priority of a slice in DL */
void
flexran_set_dl_slice_priority
(
mid_t
mod_id
,
int
slice_idx
,
int
priority
);
/* Get the lower end of the frequency range for the slice positioning in DL */
int
flexran_get_dl_slice_position_low
(
mid_t
mod_id
,
int
slice_idx
);
/* Set the lower end of the frequency range for the slice positioning in DL */
void
flexran_set_dl_slice_position_low
(
mid_t
mod_id
,
int
slice_idx
,
int
poslow
);
/* Get the higher end of the frequency range for the slice positioning in DL */
int
flexran_get_dl_slice_position_high
(
mid_t
mod_id
,
int
slice_idx
);
/* Set the higher end of the frequency range for the slice positioning in DL */
void
flexran_set_dl_slice_position_high
(
mid_t
mod_id
,
int
slice_idx
,
int
poshigh
);
/* Get the maximum MCS for slice in DL */
int
flexran_get_dl_slice_maxmcs
(
mid_t
mod_id
,
int
slice_idx
);
/* Set the maximum MCS for slice in DL */
void
flexran_set_dl_slice_maxmcs
(
mid_t
mod_id
,
int
slice_idx
,
int
maxmcs
);
/* Get the sorting order of a slice in DL, return value is number of elements
* in sorting_list */
int
flexran_get_dl_slice_sorting
(
mid_t
mod_id
,
int
slice_idx
,
Protocol__FlexDlSorting
**
sorting_list
);
/* Set the sorting order of a slice in DL */
void
flexran_set_dl_slice_sorting
(
mid_t
mod_id
,
int
slice_idx
,
Protocol__FlexDlSorting
*
sorting_list
,
int
n
);
/* Get the accounting policy for a slice in DL */
Protocol__FlexDlAccountingPolicy
flexran_get_dl_slice_accounting_policy
(
mid_t
mod_id
,
int
slice_idx
);
/* Set the accounting policy for a slice in DL */
void
flexran_set_dl_slice_accounting_policy
(
mid_t
mod_id
,
int
slice_idx
,
Protocol__FlexDlAccountingPolicy
accounting
);
/* Get the scheduler name for a slice in DL */
char
*
flexran_get_dl_slice_scheduler
(
mid_t
mod_id
,
int
slice_idx
);
/* Set the scheduler name for a slice in DL */
int
flexran_set_dl_slice_scheduler
(
mid_t
mod_id
,
int
slice_idx
,
char
*
name
);
/* Get the number of slices in UL */
/* Get the number of slices in UL */
int
flexran_get_num_ul_slices
(
mid_t
mod_id
);
int
flexran_get_num_ul_slices
(
mid_t
mod_id
);
/* Query slice existence in UL. Return is boolean value */
int
flexran_ul_slice_exists
(
mid_t
mod_id
,
int
slice_idx
);
/* Create slice in UL, returns the new slice index */
int
flexran_create_ul_slice
(
mid_t
mod_id
,
slice_id_t
slice_id
);
/* Finds slice in UL with given slice_id and returns slice index */
int
flexran_find_ul_slice
(
mid_t
mod_id
,
slice_id_t
slice_id
);
/* Remove slice in UL */
int
flexran_remove_ul_slice
(
mid_t
mod_id
,
int
slice_idx
);
/* Get the ID of a slice in UL */
slice_id_t
flexran_get_ul_slice_id
(
mid_t
mod_id
,
int
slice_idx
);
/* Set the ID of a slice in UL */
void
flexran_set_ul_slice_id
(
mid_t
mod_id
,
int
slice_idx
,
slice_id_t
slice_id
);
/* Get the RB share a slice in UL, value 0-100 */
int
flexran_get_ul_slice_percentage
(
mid_t
mod_id
,
int
slice_idx
);
/* Set the RB share a slice in UL, value 0-100 */
void
flexran_set_ul_slice_percentage
(
mid_t
mod_id
,
int
slice_idx
,
int
percentage
);
/* TODO Whether a slice in UL is isolated */
/*int flexran_get_ul_slice_isolation(mid_t mod_id, int slice_idx);*/
/* TODO Set whether a slice in UL is isolated */
/*void flexran_set_ul_slice_isolation(mid_t mod_id, int slice_idx, int is_isolated);*/
/* TODO Get the priority of a slice in UL */
/*int flexran_get_ul_slice_priority(mid_t mod_id, int slice_idx);*/
/* TODO Set the priority of a slice in UL */
/*void flexran_set_ul_slice_priority(mid_t mod_id, int slice_idx, int priority);*/
/* Get the first RB for allocation in a slice in UL */
int
flexran_get_ul_slice_first_rb
(
mid_t
mod_id
,
int
slice_idx
);
/* Set the first RB for allocation in a slice in UL */
void
flexran_set_ul_slice_first_rb
(
mid_t
mod_id
,
int
slice_idx
,
int
first_rb
);
/* TODO Get the number of RB for the allocation in a slice in UL */
/*int flexran_get_ul_slice_length_rb(mid_t mod_id, int slice_idx);*/
/* TODO Set the of number of RB for the allocation in a slice in UL */
/*void flexran_set_ul_slice_length_rb(mid_t mod_id, int slice_idx, int poshigh);*/
/* Get the maximum MCS for slice in UL */
int
flexran_get_ul_slice_maxmcs
(
mid_t
mod_id
,
int
slice_idx
);
/* Set the maximum MCS for slice in UL */
void
flexran_set_ul_slice_maxmcs
(
mid_t
mod_id
,
int
slice_idx
,
int
maxmcs
);
/* TODO Get the sorting order of a slice in UL, return value is number of elements
* in sorting_list */
/*int flexran_get_ul_slice_sorting(mid_t mod_id, int slice_idx, Protocol__FlexUlSorting **sorting_list);*/
/* TODO Set the sorting order of a slice in UL */
/*void flexran_set_ul_slice_sorting(mid_t mod_id, int slice_idx, Protocol__FlexUlSorting *sorting_list, int n);*/
/* TODO Get the accounting policy for a slice in UL */
/*Protocol__UlAccountingPolicy flexran_get_ul_slice_accounting_policy(mid_t mod_id, int slice_idx);*/
/* TODO Set the accounting policy for a slice in UL */
/*void flexran_get_ul_slice_accounting_policy(mid_t mod_id, int slice_idx, Protocol__UlAccountingPolicy accountin);*/
/* Get the scheduler name for a slice in UL */
char
*
flexran_get_ul_slice_scheduler
(
mid_t
mod_id
,
int
slice_idx
);
/* Set the scheduler name for a slice in UL */
int
flexran_set_ul_slice_scheduler
(
mid_t
mod_id
,
int
slice_idx
,
char
*
name
);
/************************** S1AP **************************/
/************************** S1AP **************************/
/* Get the number of MMEs to be connected */
/* Get the number of MMEs to be connected */
...
...
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