Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
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
Michael Black
OpenXG UE
Commits
4b1aaea6
Commit
4b1aaea6
authored
Apr 14, 2020
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Delete old protobuf slice types flex_slice_{dl,ul}
parent
b63e71bf
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 @
4b1aaea6
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.c
View file @
4b1aaea6
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_internal.h
View file @
4b1aaea6
...
@@ -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
);
...
...
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_slice_verification.c
View file @
4b1aaea6
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/CONTROL_MODULES/MAC/flexran_agent_mac_slice_verification.h
View file @
4b1aaea6
...
@@ -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
);
openair2/ENB_APP/MESSAGES/V2/config_common.proto
View file @
4b1aaea6
...
@@ -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
...
...
openair2/ENB_APP/MESSAGES/V2/config_messages.proto
View file @
4b1aaea6
...
@@ -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
{
...
...
openair2/ENB_APP/flexran_agent_common.c
View file @
4b1aaea6
...
@@ -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
);
}
}
...
...
openair2/ENB_APP/flexran_agent_ran_api.c
View file @
4b1aaea6
...
@@ -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
){
...
...
openair2/ENB_APP/flexran_agent_ran_api.h
View file @
4b1aaea6
...
@@ -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 */
...
...
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