* 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
* 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
- 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
- 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
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.
Try to merge feature-68-enb-agent into develop
develop should be fast-forwarded later to this branch to complete the merge
This code does not compile yet. Among other things:
- the scheduler structure needs to be reworked for FlexRAN
- the config is structured differently. The files enb_config.{c,h} from develop
have been copied in here, the files with merge annotations are in
enb_config.{c,h}.before_merge
- the restart needs to be restructured, since the PHY vars data structure lives
in RC now