Commit Graph
473 Commits
Author SHA1 Message Date
Robert Schmidt cbc78cd3db Don't warn of ignoring sorting 2018-09-05 14:21:39 +02:00
Robert Schmidt fa27b6dcce Fix: Correct numbering of protobuf messages (as in RTC) 2018-09-05 14:21:39 +02:00
Robert Schmidt 972f52fd56 fix remove LOG_N in restart 2018-09-03 18:10:28 +02:00
Robert Schmidt 08b122e3ff FlexRAN: update slice config array dimensions 2018-09-03 18:10:28 +02:00
Robert Schmidt 204281e3af change types in RCconfig_flexran(), avoid seg fault
the integration of the nfapi-L2-emulator-for-develop (f254107b2) 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
2018-09-03 18:10:28 +02:00
Robert Schmidt cca5c1b71a FlexRAN: use correct identifiers for PDCP, RRC
* 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
2018-09-03 18:10:28 +02:00
Robert Schmidt 3b80c73f93 FlexRAN: Loop over UEs using UE_id, not index 2018-09-03 18:10:28 +02:00
Robert Schmidt 9399bed23a FlexRAN MAC: align allocated memory for lfds 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 62957b97d8 bugfix FlexRAN: only write to file if file is not null 2018-09-03 18:10:28 +02:00
Robert Schmidt 604ec25a68 improve soft-restarting messages 2018-09-03 18:10:28 +02:00
Robert Schmidt 917b9ca0c2 correct ITTI task name 2018-09-03 18:10:28 +02:00
Robert Schmidt c4077f3cf7 cell reconfiguration/restart: take protobuf, perform in ENB_APP
* 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
2018-09-03 18:10:28 +02:00
Robert Schmidt ef0d86564c when sending config report, copy slice config to new mem 2018-09-03 18:10:28 +02:00
Robert Schmidt 7a0c00330b put intra-/inter slice sharing within slice config 2018-09-03 18:10:28 +02:00
Robert Schmidt 44481a5649 FlexRAN: improve info messages 2018-09-03 18:10:28 +02:00
Robert Schmidt 472ebf5622 mark UL slice sorting overwriting as TODO 2018-09-03 18:10:28 +02:00
Robert Schmidt e94b0bde51 FlexRAN fixes
* 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
2018-09-03 18:10:28 +02:00
Robert Schmidt 0c0e7b6ead simplify control flow 2018-09-03 18:10:28 +02:00
Robert Schmidt bd041a34aa use changed RAN API, set scheduler for new slice 2018-09-03 18:10:28 +02:00
Robert Schmidt 6e5a2f45ce FlexRAN: set deleted slice configuration to zero 2018-09-03 18:10:28 +02:00
Robert Schmidt 8804319322 FlexRAN MAC: before verifying slice params, set default vals
- 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
2018-09-03 18:10:28 +02:00
Robert Schmidt d8c2943f60 FlexRAN RAN API: slice creation does not set default vals 2018-09-03 18:10:28 +02:00
Robert Schmidt 0778481f75 FlexRAN RAN API: extend scheduler set&get functions
- 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
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 5ceba4a2a6 FlexRAN: lock sc_update with mutex
Prevent sc_update from being changed by an incoming slice reconfiguration
change while writing data to the scheduler
2018-09-03 18:10:28 +02:00
Robert Schmidt 7b8c5cea52 FlexRAN: handle incoming UE-slice association message 2018-09-03 18:10:28 +02:00
Robert Schmidt 3a78d85f5e FlexRAN: Handle enb_config_reply reconfiguration message 2018-09-03 18:10:28 +02:00
Robert Schmidt 3d8586a5bf FlexRAN: Send Slice ID to which UE belongs in UE config reply 2018-09-03 18:10:28 +02:00
Robert Schmidt d93d73fe9b FlexRAN: Send the Slice Configuration in enb_config_reply 2018-09-03 18:10:28 +02:00
Robert Schmidt 92a3b07bca FlexRAN: send slice ID to which UE belongs + reformat
- flexran_agent_ue_config_reply() and flexran_agent_ue_state_change() send
  slice_id
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 9d75b5c3b7 Add FlexRAN RAN API for slice configuration
adds support for:
* create/remove slices
* change UE-slice association
* read/write slice parameters
* find slice index via ID
2018-09-03 18:10:28 +02:00
Robert Schmidt 1e840a9996 FlexRAN: add slice configuration protobuf messages 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 3f08e4503b Merge remote-tracking branch 'origin/x2' into develop_integration_2018_w35 2018-08-31 12:29:15 +02:00
Cedric Roux 4aec4a23a8 Merge remote-tracking branch 'origin/multi-sdr-ip-conf' into develop_integration_2018_w35 2018-08-31 11:50:19 +02:00
frtabu 51c86dd49e fix noS1 build failure 2018-08-24 20:06:02 +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
Konstantinos Alexandris 3b3b971807 minor fixes for x2 + modify conf files
The configuration file has now to contain ENB_IPV4_ADDRESS_FOR_X2C and
ENB_PORT_FOR_X2C in the NETWORK_INTERFACES section.

For example:

    NETWORK_INTERFACES :
    {
        ENB_INTERFACE_NAME_FOR_S1_MME            = "eth0";
        ENB_IPV4_ADDRESS_FOR_S1_MME              = "192.168.12.111/24";
        ENB_INTERFACE_NAME_FOR_S1U               = "eth0";
        ENB_IPV4_ADDRESS_FOR_S1U                 = "192.168.12.111/24";
        ENB_PORT_FOR_S1U                         = 2152; # Spec 2152

        ENB_IPV4_ADDRESS_FOR_X2C                 = "192.168.12.111/24";
        ENB_PORT_FOR_X2C                         = 36422; # Spec 36422
    };
2018-08-23 16:15:14 +02:00
Konstantinos Alexandris d3edb3a095 Merge remote-tracking branch 'origin/develop' into x2 2018-08-22 16:02:24 +02:00
Konstantinos Alexandris 40942e34a0 Initial commit on X2AP (add target eNBs as input) 2018-08-22 15:32:22 +02:00
Cedric Roux 69338c694b bugfix: fix array index
As reported by Konstantinos Alexandris and Robert Schmidt.
2018-08-17 15:55:04 +02:00
Eino Virtanen be0e409594 USRP addressess and clock sources can be configured in the configuration file with the RU section with comma separated IP addresses in 'sdr_addrs' and with strings "internal"/"external"/"gpsdo" in 'clock_src'.
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
2018-08-16 16:22:13 +02:00
frtabu 30509955c2 remove compilation warnings, especially when disabling T_TRACER. enhance LOG_M macro implementation, introduce LOG_DEBUG_XXX macro to replace #ifdef DEBUG_XXX 2018-07-30 20:07:22 +02:00
frtabu b85cbddeec log.c simplification, fix usefull functionality which never worked, move all log code from openair2 to common 2018-07-30 20:07:22 +02:00
Cedric Roux b1d0287327 Merge remote-tracking branch 'origin/issue321_tdd_config1' into develop_integration_2018_w29
Conflicts:
	openair2/LAYER2/MAC/eNB_scheduler_primitives.c
2018-07-20 12:26:13 +02:00