Commit Graph
8252 Commits
Author SHA1 Message Date
Robert Schmidt 8d862dace4 F1 test: fixes after merge 2018-11-07 16:13:04 +01:00
Robert Schmidt f3a5720dd9 FlexRAN: Apply slicing configuration if MAC CM present 2018-11-07 16:13:03 +01:00
Robert Schmidt f0c5f57159 Do not free mem_block in PDCP, it is freed in F1 or RLC 2018-11-07 16:13:03 +01:00
Robert Schmidt c32094685e Deliver SCTP ITTI messages with instance I 2018-11-07 16:13:03 +01:00
Robert Schmidt a477043a24 Add some useful LOG statements 2018-11-07 16:13:03 +01:00
Robert Schmidt 6c33f79095 Fix bugs after merge
* F1AP has to read MCC/MNC from list
* Do not stop if MACRLC list is not present in conf, it might be a CU
2018-11-07 16:13:03 +01:00
Robert Schmidt 04126f7bdc Do not compile with mem_block.c 2018-11-07 16:13:03 +01:00
Robert Schmidt 07d9c6a3be Cast malloc() to type 2018-11-07 16:13:03 +01:00
Robert Schmidt 6bd69d6eaa Leave OER support in asn1c enabled
OER can be disable with the switch -DASN_DISABLE_OER_SUPPORT. In F1AP,
disabling OER leads to a typedef void a_type; leading to lots of compilation
errors because of illegal void variable declarations. This commit leaves OER
support enabled, avoiding this error.
2018-11-07 16:13:03 +01:00
Robert Schmidt 397d2f4815 Merge commit 'develop' into feature-127-protocol-split
* remove a lot of white spaces
* many conflicts in enb_config.c
2018-11-07 16:07:59 +01:00
Robert Schmidt c1e680dd89 FlexRAN: free memory of statistics reports 2018-11-07 10:58:09 +01:00
Robert Schmidt 836f6c6374 Include statistics flag only when values are written 2018-11-07 10:54:35 +01:00
Robert Schmidt f02b539234 Correct init_cont_stats_update(), test for result 2018-11-07 10:54:35 +01:00
Robert Schmidt 2cf4060680 Implement stats_reply-specific destroy function 2018-11-07 10:54:35 +01:00
Robert Schmidt 86d8e21445 Test for CMs before taking CM-specific stats 2018-11-07 10:54:34 +01:00
Robert Schmidt 23650bdea3 Make flexran_agent_handle_stats() respect presence of MAC, RRC CMs 2018-11-07 10:54:34 +01:00
Robert Schmidt 3b3c9daefb Reformat flexran_agent_handle_stats() for better readability 2018-11-07 10:54:34 +01:00
Robert Schmidt 328448e875 Remove flexran_agent_send_update_stats() which is unnecessary 2018-11-07 10:54:34 +01:00
Robert Schmidt 70f74777f3 Correctly implement proto_agent_stop(), call it 2018-11-07 10:54:34 +01:00
Robert Schmidt 920a4abb6d Make link_manager threads joinable
This makes it possible to stop the link_manager by joining its threads.
2018-11-07 10:53:59 +01:00
Robert Schmidt e71adffcfd Correct logging messages in FlexRAN & PROTO_AGENT 2018-11-07 10:53:52 +01:00
Robert Schmidt f01c78e532 Set thread names for FlexRAN and PROTO rx_thread 2018-11-07 10:53:52 +01:00
Robert Schmidt 1290552647 Introduce LOG_W logger for PROTO_AGENT 2018-11-07 10:53:52 +01:00
Robert Schmidt 54da66eeac Bugfix: Rename proto_agent global channel variable
The PROTO_AGENT variable holding the channel for various was named as the same
one for FlexRAN. In C, global variables with the same name are merged into one,
which had the effect that the same queues where used for PROTO_AGENT and
FlexRAN, locking the FlexRAN RX thread. Renaming the PROTO_AGENT variable (it
was introduced second) resolves this issue.
2018-11-07 10:53:52 +01:00
Robert Schmidt eaff77695b Correct malloc in proto_agent_async_channel_info 2018-11-07 10:53:52 +01:00
Robert Schmidt 44b29d04c3 Read config before starting FlexRAN for node_type and ID 2018-11-07 10:53:52 +01:00
Robert Schmidt 0efde02161 Sanitize link_manager interface, correct in FlexRAN/PROTO_AGENT
This commit cleans up the link_manager interface:
* don't provide peer_addr/port in create_link_manager() (for TCP/SCTP it is not
  needed, so in the UDP case in needs to be set explicitly)
* Make FlexRAN connect again (correct hardcoded address)
* Fix FlexRAN: retain the manager pointer
* Fix FlexRAN: store receive_queue pointer
* the link_manager's sender thread passes the correct peer_addr/port for the
  UDP case
2018-11-07 10:48:36 +01:00
Robert Schmidt 34adfd2af8 ASYNC_IF link_{send,receive}_packet(): infer socket type automatically 2018-11-07 10:48:36 +01:00
Robert Schmidt ec9e70a023 FlexRAN: provide better error messages in async channel 2018-11-07 10:48:36 +01:00
Robert Schmidt d7948d04b4 Always fill RRC part of ue_config with all parameters 2018-11-07 10:48:36 +01:00
Robert Schmidt 2fa8c29fd4 Put ue_config MAC and RRC parts in resp. CMs 2018-11-07 10:48:36 +01:00
Robert Schmidt 1fc631e2a4 RAN API RRC part: Change interface to RNTI, change flexran_get_aperiodic_cqi_rep_mode()
* the RAN API RRC part now takes rnti and does not look it up in the MAC every
  time again
* the function flexran_get_aperiodic_cqi_rep_mode() has been changed to return
  a proper protobuf variable, not OAI typedef
2018-11-07 10:48:36 +01:00
Robert Schmidt fdd47e5701 RAN API: add functions for getting UE RNTIs directly from RRC 2018-11-07 10:48:36 +01:00
Robert Schmidt e0742be747 RAN API flexran_get_num_ues() belongs to MAC, change name 2018-11-07 10:48:36 +01:00
Robert Schmidt 3035781485 Move ue_lc_config message filling into MAC CM 2018-11-07 10:48:36 +01:00
Robert Schmidt 369e89ee2a Create RAN API flexran_get_num_ue_lcs() [no dedicated bearers detection] 2018-11-07 10:48:35 +01:00
Robert Schmidt 89d8afb612 Remove MAC presence checking from scheduler primitives 2018-11-07 10:48:35 +01:00
Robert Schmidt a7b114c4ec RAN API: Check for MAC presence 2018-11-07 10:48:35 +01:00
Robert Schmidt fa7168a097 FlexRAN enb_config_reply destroy message update 2018-11-07 10:48:35 +01:00
Robert Schmidt b702b415a7 Split enb_config_reply->cell_conf message to PHY, MAC, RRC 2018-11-07 10:48:35 +01:00
Robert Schmidt 2623e3f298 Improve interface of FlexRAN RAN API: Return protobuf types
The functions of the RAN API should not return the types of OAI, but protobuf
types. Previously, they would return OAI types and the calling code "marshals"
this into Protobuf type. This commit changes the following functions and
modifies the calling code to directly store the protobuf type:
* flexran_get_hopping_mode()
* flexran_get_phich_resource()
* flexran_get_phich_duration()
* flexran_get_ul_cyclic_prefix_length()
* flexran_get_dl_cyclic_prefix_length()
* flexran_get_duplex_mode() usage
* flexran_get_enable64QAM()
2018-11-07 10:48:35 +01:00
Robert Schmidt 9a2aab34f6 Remove lots of warnings in F1AP 2018-11-07 10:48:35 +01:00
Robert Schmidt be750619dc Remove warning of uninitialized use in RLC 2018-11-07 10:48:35 +01:00
Robert Schmidt e8af3bd464 Selectively load FlexRAN CMs depending on BS capability 2018-11-07 10:48:32 +01:00
Robert Schmidt c81535a8b0 Add FlexRAN PHY CM 2018-11-07 10:40:17 +01:00
Robert Schmidt 391320b992 Simplify PDCP FlexRAN agent interface 2018-11-07 10:40:17 +01:00
Robert Schmidt 5e0088fa52 Simplify RRC FlexRAN agent interface 2018-11-07 10:40:17 +01:00
Robert Schmidt 33d0ac4982 Simplify MAC FlexRAN agent interface 2018-11-07 10:40:17 +01:00
Robert Schmidt 608a14591e Add BS ID and Capabilities to FlexRAN Hello Msg
* Hello msg agent->RTC carries ID and capabilities this agent supports
* RAN API provides ID and capabilities:
    - flexran_get_bs_id()
    - flexran_get_capabilities() // protobuf list of capabilities
    - flexran_get_capabilities() // capabilities as bit mask

Add FlexRAN capabilities mask RAN API function
2018-11-07 10:40:07 +01:00
Robert Schmidt eb577d11dd Remove warnings in enb_config.c and rrc_eNB.c 2018-11-07 10:26:41 +01:00