- 03 Sep, 2018 40 commits
-
-
Robert Schmidt authored
-
Robert Schmidt authored
don't fail in library utility function, return with error code instead and let application decide what is best on how to proceed
-
Robert Schmidt authored
-
Robert Schmidt authored
* check whether a library has been loaded before; in this case, don't allocate new memory but load from old library again * vital parameters, previous exit_fun are checked by AssertFatal() * structure has changed a bit to make it easier to follow (instead of nested ifs includes one goto to the end of the function) * formatting has been improved
-
Robert Schmidt authored
* put mutex lock around instance_prach * destroy attributes
-
Robert Schmidt authored
-
Robert Schmidt authored
* instead of the lengthy YAML parsing, can now handle protobuf message * after setting the parameters, send a message to ENB_APP to perform it * old YAML way still works
-
Robert Schmidt authored
* join pthread_FH (ru_thread) once all condition variables have been set * join RU FHTX only if it has been started (check as for pthread_create()) * join PRACH thread in the monolithic case * send broadcast on condition variable cond_eNBs, as there can be multiple waits on it * integrate stop_ru(*ru) into kill_RU_proc(*ru) * Correct memory freeing
-
Robert Schmidt authored
-
Robert Schmidt authored
* init_td_thread()/init_te_thread() are only initialized depending on condition get_nprocs() > 2 && codingw * apply the same the same for the functions kill_td_thread()/kill_te_thread()
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
* properly allocate memory for scheduler name/sorting * free mem of sc_update, include todo for slice_config * set has_x to one, add fct whether sorting update necessary * set n_ul/n_dl to correct value after every loop iteration * support for delete of multiple slices * allocate memory for scheduler name in slice_config * check that we really set the scheduler
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
- in order to facilitate the steps as verification and parameter setting, slices are "filled up" with default values: * if it is an update, with the values of the concerned slice * if it is a new one, with the parameters of slice 0 - because of this, it can be assumed that all slices have all parameters
-
Robert Schmidt authored
-
Robert Schmidt authored
- whether a scheduler callback has to be changed is now handled by the agent
-
Robert Schmidt authored
-
Robert Schmidt authored
- setter & getter have been renamed - setter sets scheduler name and links to the corresponding function - it also returns whether it succeeded (whether the scheduler callback is non-null) - it performs a strdup on the scheduler name - the remove function free the scheduler function name
-
Robert Schmidt authored
- 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
-
Robert Schmidt authored
-
Robert Schmidt authored
- 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
-
Robert Schmidt authored
- 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
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
Prevent sc_update from being changed by an incoming slice reconfiguration change while writing data to the scheduler
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
- flexran_agent_ue_config_reply() and flexran_agent_ue_state_change() send slice_id
-
Robert Schmidt authored
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.
-
Robert Schmidt authored
adds support for: * create/remove slices * change UE-slice association * read/write slice parameters * find slice index via ID
-
Robert Schmidt authored
-