Commit Graph
1240 Commits
Author SHA1 Message Date
Navid Nikaein 6c4f58a0a0 move UE_list/slice init in dedicated functions 2018-09-03 18:10:28 +02:00
Robert Schmidt 0bb6a19f71 only initialize RC.mac once 2018-09-03 18:10:28 +02:00
Robert Schmidt da35afb01b fix: repair RC.mac memory allocation
- there can be a race between the FlexRAN agent reading the RC.mac and its
  allocation in main.c
- In order to circumvent this, change the allocation by allocating
  everything "into" a local variable
- finally "make it visible" by storing  the pointer in RC.mac
2018-09-03 18:10:28 +02:00
Robert Schmidt 328a464e37 remove update_sched slice param variables
- whether a scheduler callback has to be changed is now handled by the agent
2018-09-03 18:10:28 +02:00
Robert Schmidt 766e8a5bbe link to scheduler function in mac init fct 2018-09-03 18:10:28 +02:00
Robert Schmidt 21f6609472 FlexRAN: move slice param verification to agent
- until now, on every iteration, the scheduler checked for changed parameter
  (and verified some)
- this functionality moves to the FlexRAN Agent, which verifies all parameters
  * individually, e.g. Max MCS <= 28 for DL
  * group-based, e.g. the sum of slice percentages is <= 100
- slice configuration changes are only applied if all verifications pass
- it is assumed in the scheduler, that configuration passed from outside is
  correct and can be used "as-is"

fix accounting setting
2018-09-03 18:10:28 +02:00
Robert Schmidt 6b3dd8716b FlexRAN: set values of removed slices to 0 2018-09-03 18:10:28 +02:00
Robert Schmidt 088b1d5a8d refine MAC Debug output
- uncomment "Couldn't find RNTI for UE X" in UE_RNTI() and rb_alloc in
  pre_processor_reset() as they only inflate the debug output with little
  benefited
- "doing ue_schedule_spec" is now displayed for individual UEs (and individual
  CCs)
- show messages when not scheduling UE in ue_schedule_spec() due to invalid
  slice or if not in RRC_CONNECTED
2018-09-03 18:10:28 +02:00
Robert Schmidt 11e45be9c5 fix: resort UE_list after slice multiplexing
- slice multiplexing resorts UE_list for its purposes with restoring the
  original order
- in order to keep the order in UE_list, resort to original order after
  multiplexing
- ideally, this would happen in the multiplexing but currently, the slice_idx
  is not passed to multiplexing (it does not care), so this cannot be done ATM
2018-09-03 18:10:28 +02:00
Robert Schmidt 8039cd40f5 share the allocation array rballoc_sub between slices 2018-09-03 18:10:28 +02:00
Robert Schmidt 44d1eb8015 preprocessor reset: avoid unnecessary iterations 2018-09-03 18:10:28 +02:00
Robert Schmidt fcaf237182 FlexRAN: Handle slice configuration
Incoming slice configuration changes are buffered in an intermediate structure.
The MAC scheduler periodically polls the agent about changes. If there has been
a slice configuration change, apply it.
2018-09-03 18:10:28 +02:00
Robert Schmidt de4ebe0914 remove warnings (comment concerned lines) 2018-09-03 18:10:28 +02:00
Robert Schmidt b29e20d4dd MAC sched slicing: sort only relevant slices 2018-09-03 18:10:28 +02:00
Robert Schmidt 59fc7832fa bugfixes: set max UL MCS to 20, improve sched loading message 2018-09-03 18:10:28 +02:00
Robert Schmidt 1d23a64ced bugfix: memset using the right size 2018-09-03 18:10:28 +02:00
Robert Schmidt 8f2d79709e MAC: change all slice_id_t to slice index variables 2018-09-03 18:10:28 +02:00
Robert Schmidt 87b8b6e86b Increase the number of possible slices to 10 2018-09-03 18:10:28 +02:00
Robert Schmidt 568bf8ae35 bugfix: deactive slice_counter
slice_counter had a wrong condition, not scheduling in DLSCH if the number of
slices is greater than one
2018-09-03 18:10:28 +02:00
Robert Schmidt 048c4d29a2 add slice association in UE_list, test against it in slice_membership() 2018-09-03 18:10:28 +02:00
Robert Schmidt 58c2a00626 MAC: slicing conf struct in RC
- introduce structure in RC for slicing conf (UL/DL)
- move global variables regarding slice configuration into RC
- change ue_slice_membership(): consider UL/DL
- remove the unnecessary header files
- set default parameters: one slice
2018-09-03 18:10:28 +02:00
Robert Schmidt 5cbe5c0df3 remove useless headers in scheduler 2018-09-03 18:10:28 +02:00
Niccolò Iardella e6168667d3 Add first_rb_offset 2018-09-03 18:10:28 +02:00
Niccolò Iardella 853ef6fe18 Fix warnings in schedule_dlsch 2018-09-03 18:10:28 +02:00
Niccolò Iardella 9efd5d6f27 Inter/intra-slice sharing are now optional 2018-09-03 18:10:28 +02:00
Niccolò Iardella 8d9a8ab59a Add UE sorting on LCID priority 2018-09-03 18:10:28 +02:00
Navid Nikaein 5634aa92a1 Keep the LCID priority in MAC layer to sort the UE accordingly 2018-09-03 18:10:28 +02:00
Niccolò Iardella 56405aeef0 Implement interslice_multiplexing, add new constants 2018-09-03 18:10:28 +02:00
Niccolò Iardella e2c270ee94 Fix indentation in schedule_ue_spec() and pre_processor.c 2018-09-03 18:10:28 +02:00
Niccolò Iardella df36e3f054 Bugfix: value of available RBs per slice could be negative 2018-09-03 18:10:28 +02:00
Niccolò Iardella ee4972cd2c Add partitioning as a separate function 2018-09-03 18:10:28 +02:00
Niccolò Iardella e80f64c8e5 Split positioning() in positioning() and intraslice_sharing() 2018-09-03 18:10:28 +02:00
Robert Schmidt d5415b2096 Fix: provide N_RBG in TM5 mode 2018-09-03 18:10:28 +02:00
Niccolò Iardella 89f5659586 Add accounting policy to pre_processor 2018-09-03 18:10:28 +02:00
Niccolò Iardella 71d1b1ab9a Refactoring and optimization 2018-09-03 18:10:28 +02:00
Niccolò Iardella 53c617cdcf Move slicing configuration variables in header files 2018-09-03 18:10:28 +02:00
Niccolò Iardella 490e24560a Split accounting and positioning in pre_processor 2018-09-03 18:10:28 +02:00
Niccolò Iardella 18ade8812a Add positioning support for DL 2018-09-03 18:10:28 +02:00
Cedric Roux c22180ff31 Merge remote-tracking branch 'origin/issue326_LOGreview' into develop_integration_2018_w35
Conflicts:
	cmake_targets/CMakeLists.txt
	openair1/PHY/LTE_TRANSPORT/dlsch_modulation.c
	openair1/SCHED_UE/phy_procedures_lte_ue.c
	openair2/LAYER2/MAC/eNB_scheduler_phytest.c
2018-08-31 12:55:28 +02:00
Cedric Roux 7654f8a208 Merge remote-tracking branch 'origin/issue_344_segv_trace_wireshark' into develop_integration_2018_w35 2018-08-31 12:43:33 +02:00
Cedric Roux d52de8e482 Merge remote-tracking branch 'origin/341-modulation-bugfix' into develop_integration_2018_w35 2018-08-31 12:12:53 +02:00
Cedric Roux 536b4a88b1 Merge remote-tracking branch 'origin/cqiSchedule' into develop_integration_2018_w35 2018-08-31 12:04:28 +02:00
Cedric Roux 27322602e9 Merge remote-tracking branch 'origin/336-fhg-embms-changes' into develop_integration_2018_w35 2018-08-31 11:42:26 +02:00
Rajeev Gangula 9f6d466fff Uncommemnt rrc_mac remove function. 2018-08-27 14:43:32 +02:00
Raymond Knopp 9399dd9735 try to merge with issue 341 to pass USRP/FDD test 2018-08-25 02:22:44 +02:00
frtabu 77f70e77ea MSC logging utility as a config option 2018-08-24 17:43:14 +02:00
frtabu 24f8fcf346 Use common log mechanism in layer 3, mapping specific macros to common ones and extending common log utilities to support specific layer3 requirements 2018-08-24 17:43:14 +02:00
frtabu 79588a494e LOG_F replaced by LOG_DUMPMSG. Add a generic function to dump a buffer or message. Go on with LOG_M implementation improvement. Remove redundant options to enable/disable logs. 2018-08-24 17:43:14 +02:00
WANG Tsu-Han f65c390226 warning removal 2018-08-23 18:34:50 +02:00
laurent d5f28018ed fix 344 2018-08-23 13:06:17 +02:00