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
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
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
OpenXG
OpenXG-RAN
Commits
872cfc03
Commit
872cfc03
authored
Apr 12, 2020
by
Robert Schmidt
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement Static Slicing
parent
9956b960
Changes
4
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
707 additions
and
0 deletions
+707
-0
cmake_targets/CMakeLists.txt
cmake_targets/CMakeLists.txt
+1
-0
openair2/LAYER2/MAC/slicing/slicing.c
openair2/LAYER2/MAC/slicing/slicing.c
+586
-0
openair2/LAYER2/MAC/slicing/slicing.h
openair2/LAYER2/MAC/slicing/slicing.h
+74
-0
openair2/LAYER2/MAC/slicing/slicing_internal.h
openair2/LAYER2/MAC/slicing/slicing_internal.h
+46
-0
No files found.
cmake_targets/CMakeLists.txt
View file @
872cfc03
...
...
@@ -1830,6 +1830,7 @@ set (MAC_SRC
${
MAC_DIR
}
/eNB_scheduler_fairRR.c
${
MAC_DIR
}
/eNB_scheduler_phytest.c
${
MAC_DIR
}
/pre_processor.c
${
MAC_DIR
}
/slicing/slicing.c
${
MAC_DIR
}
/config.c
${
MAC_DIR
}
/config_ue.c
)
...
...
openair2/LAYER2/MAC/slicing/slicing.c
0 → 100644
View file @
872cfc03
This diff is collapsed.
Click to expand it.
openair2/LAYER2/MAC/slicing/slicing.h
0 → 100644
View file @
872cfc03
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
/*!
* \file slicing.h
* \brief General slice definition and helper parameters
* \author Robert Schmidt
* \date 2020
* \email robert.schmidt@eurecom.fr
*/
#ifndef __SLICING_H__
#define __SLICING_H__
#include "openair2/LAYER2/MAC/mac.h"
typedef
struct
slice_s
{
/// Arbitrary ID
slice_id_t
id
;
/// Arbitrary label
char
*
label
;
union
{
default_sched_dl_algo_t
dl_algo
;
default_sched_ul_algo_t
ul_algo
;
};
/// A specific algorithm's implementation parameters
void
*
algo_data
;
/// Internal data that might be kept alongside a slice's params
void
*
int_data
;
// list of users in this slice
UE_list_t
UEs
;
}
slice_t
;
typedef
struct
slice_info_s
{
uint8_t
num
;
slice_t
**
s
;
uint8_t
UE_assoc_slice
[
MAX_MOBILES_PER_ENB
];
}
slice_info_t
;
int
slicing_get_UE_slice_idx
(
slice_info_t
*
si
,
int
UE_id
);
#define STATIC_SLICING 10
/* only four static slices for UL, DL resp. (not enough DCIs) */
#define MAX_STATIC_SLICES 4
typedef
struct
{
uint16_t
posLow
;
uint16_t
posHigh
;
}
static_slice_param_t
;
pp_impl_param_t
static_dl_init
(
module_id_t
mod_id
,
int
CC_id
);
pp_impl_param_t
static_ul_init
(
module_id_t
mod_id
,
int
CC_id
);
#endif
/* __SLICING_H__ */
openair2/LAYER2/MAC/slicing/slicing_internal.h
0 → 100644
View file @
872cfc03
/*
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The OpenAirInterface Software Alliance licenses this file to You under
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
* except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.openairinterface.org/?page_id=698
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*-------------------------------------------------------------------------------
* For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org
*/
/*!
* \file slicing_internal.h
* \brief Internal slice helper functions
* \author Robert Schmidt
* \date 2020
* \email robert.schmidt@eurecom.fr
*/
#ifndef __SLICING_INTERNAL_H__
#define __SLICING_INTERNAL_H__
#include "slicing.h"
void
slicing_add_UE
(
slice_info_t
*
si
,
int
UE_id
);
void
_remove_UE
(
slice_t
**
s
,
uint8_t
*
assoc
,
int
UE_id
);
void
slicing_remove_UE
(
slice_info_t
*
si
,
int
UE_id
);
void
_move_UE
(
slice_t
**
s
,
uint8_t
*
assoc
,
int
UE_id
,
int
to
);
void
slicing_move_UE
(
slice_info_t
*
si
,
int
UE_id
,
int
idx
);
slice_t
*
_add_slice
(
uint8_t
*
n
,
slice_t
**
s
);
slice_t
*
_remove_slice
(
uint8_t
*
n
,
slice_t
**
s
,
uint8_t
*
assoc
,
int
idx
);
#endif
/* __SLICING_INTERNAL_H__ */
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