* 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
* 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
- 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
- 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.
TODO: Currently the driver picks the two first RX and TX channels when nb_tx and nb_rx are both set to 2. If a developers wants to force usage of two devices, 'set_rx_subdev_spec' and 'set_tx_subdev_spec' can be used to indicate to the driver so that antennas from separate devices will be used. To rephrase: until 4 antennas are supported by OAI, testing with two devices, so that antennas from both devices are used, requires manual configuration of which subdevices' antennas are used.
Conflicts:
targets/ARCH/USRP/USERSPACE/LIB/usrp_lib.cpp