- 03 Sep, 2018 40 commits
-
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
Affects: * store_dlsch_buffer() * assign_rbs_required()
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Robert Schmidt authored
When the RLC layer returns error codes (like dropped packets), this is still counted as PDCP layer traffic. In order to reflect dropped packets or malfunctioning, this patch makes that upon an RLC error code, the function is exited immediately. In this case, it is not counted as additional PDCP traffic. An example is too much UDP traffic. If the RLC buffer is saturated and the packet therefore refused, incoming traffic won't be counted anymore. With this patch, the PDCP layer statistics won't count such traffic anymore.
-
Robert Schmidt authored
the integration of the nfapi-L2-emulator-for-develop (f254107b) added more types in the RCconfig_flexran(), but they were partially wrong. This commit fixes those types after the rebase of this branch on top of 2018.w19
-
Robert Schmidt authored
-
Robert Schmidt authored
* give the correct UE_id instead an index of the protobuf message (they can diverge from each other) * in the PDCP part of the RAN API, the RAN API has to make the conversion UE_id (MAC) to UID (PDCP) * a follow up commit could clean up the interfaces: - the MAC functions take the UE_id - the RRC functions take the RNTI - the PDCP functions take the UID this would mean the caller has to find those ID but would decrease computations since the RAN API functions do not have to do that themselves
-
Robert Schmidt authored
If the buffer in the RLC is full, testing the buffer state over and over again slows the DL traffic down. In order to circumvent this, the PDCP will drop any data during a configurable time (compile-time) before it delivers data to RLC again. To change this, see the constant TM_SKIP_FULL_BUF_MS in pdcp.h.
-
Robert Schmidt authored
-
Robert Schmidt authored
-
Navid Nikaein authored
-
Navid Nikaein authored
-
Robert Schmidt authored
-
Robert Schmidt authored
- 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
-
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
-