Commit Graph
87 Commits
Author SHA1 Message Date
Robert Schmidt 9c47c860bc FlexRAN: RCconfig_flexran(): only read necessary information
if the FlexRAN agent is disabled, do not read all the data and skip reading
of more information
2018-03-23 09:20:19 +01:00
Robert Schmidt d54d415125 FlexRAN: add Information in enb_config_reply msg 2018-03-22 18:43:15 +01:00
Robert Schmidt 1854826053 FlexRAN: send agent_id (aka enb_id) 2018-03-22 18:43:15 +01:00
Robert Schmidt e7a60fc992 FlexRAN: make agent_id for identification purposes, discern from mod_id
The agent_id is a uint64 consisting of: module ID (i.e. mod_id, the several
instances of OAI at once, 16 bit), the enb_id from the configuration file (32
bit) and the cell_id from the configuration file (16 bit).

The module ID is part of the agent ID but it is easier to have it directly in
the struct.
2018-03-22 18:41:14 +01:00
Robert Schmidt 318e4a345e free configmodule memory when shutting down
It is possible to restart the lte-softmodem via the FlexRAN controller. For
this to work, the end_configmodule() method needs to be called when shutting
the lte-softmodem down so that the configuration can be read again during a
restart.
2018-03-20 14:41:58 +01:00
Robert Schmidt 4924b18ebd FlexRAN: send RNTI in protobuf mac_stats_reply message 2018-03-02 17:36:43 +01:00
Robert Schmidt 8cace6537e correctly check for MAC presence in FlexRAN RAN API 2018-03-02 17:36:43 +01:00
Robert Schmidt 7d8d1588c3 remove unnecessary function declaration
has been introduced in commit 365ca71a4a
2018-03-01 09:04:41 +01:00
Robert Schmidt e66bd0e2b1 RAN API: unify style, declare missing function in header 2018-02-22 12:03:10 +01:00
Robert Schmidt a4f260f5a4 fix: no FLEXRAN_AGENT_SB_IF compilation directive 2018-02-14 17:50:41 +01:00
Robert Schmidt 7b1afbb0bf provide stop_L1L2()/restart_L1L2() in oaisim
the functions are meant to restart the lte-softmodem (lower layers) and are not
supported in oaisim. They are provided to make oaisim compile.
2018-02-14 16:45:14 +01:00
Robert Schmidt 9dcd1f9b89 bugfix: max_allowed_rbs has been renamed max_rbs_allowed_slice 2018-02-14 16:45:14 +01:00
Robert Schmidt 50f7053159 return 0 for unsigned in RAN API 2018-02-14 16:44:29 +01:00
Robert Schmidt d741b951fa define&send IMSI in Protobuf 2018-02-13 19:01:47 +01:00
Robert Schmidt df43d19c35 refactoring of the original IMSI extraction code
- move IMSI extraction code to function, remove FLEXRAN comp. directive
- refactor the code, esp. don't do deep if-nesting
- remove m-tmsi part (does not give correct value)
- copy complete IMSI info to UE context, decode in RAN API
2018-02-13 19:01:47 +01:00
Robert Schmidt d8a6715395 store IMSI information + provide FlexRAN API to query UE's IMSI 2018-02-13 19:01:47 +01:00
Robert Schmidt 9d05a9a3b1 track IMSIs by decoding NAS messages
Original Author: Xenofon Foukas
Changed formatting
does not compile
RS: cast to get rid of compiler warning
-> ImsiEpsMobileIdentity_t to ImsiMobileIdentity_t which is defined the same
way
2018-02-13 19:01:47 +01:00
Robert Schmidt ef78dcde55 send UE Capabilities to Flexran RTController 2018-02-13 19:00:34 +01:00
Robert Schmidt 12ac8b180d prevent warnings: init Protocol__FlexHeader to NULL 2018-02-13 14:29:15 +01:00
Robert Schmidt c33e184dde bugfix: selectively inform FlexRAN RTController of UE state change 2018-02-13 14:25:50 +01:00
Robert Schmidt a68d70a13d bugfix: prevent segfault in pre_processor.c 2018-02-13 14:23:54 +01:00
Robert Schmidt 4bf4ad8e98 change build scripts: always compile FlexRAN 2018-02-12 15:30:30 +01:00
Robert Schmidt 54e803e71a Sample configuration FlexRAN: Agent is disabled 2018-02-12 15:21:44 +01:00
Robert Schmidt 135b06ae66 bugfix: only send eNB stats to controller if agent enabled 2018-02-12 15:21:02 +01:00
Robert Schmidt 219b5bc92f make FlexRAN Agent activation configurable 2018-02-12 15:11:19 +01:00
Robert Schmidt adec4e39df remove all conditional FlexRAN-related compilation directives 2018-02-12 14:38:44 +01:00
Robert Schmidt 3768723c62 remove unnecessary comments 2018-02-12 13:50:48 +01:00
Robert Schmidt ceece5694d rename flexran_slice_member() -> ue_slice_membership() 2018-02-12 13:50:48 +01:00
Robert Schmidt 8108d59a0b no regression, fixes compilation warnings&errors 2018-02-12 13:50:48 +01:00
Robert Schmidt cf0a5ca920 fix RAN API due to merge + repair functions 2018-02-12 13:50:48 +01:00
Robert Schmidt a78aaa451c fix slicing capability in ulsch scheduler 2018-02-12 13:50:45 +01:00
Robert Schmidt 8877b18a9a fix eNB_ulsch_dlsch_scheduler() broken by merge 2c8443121d 2018-02-09 19:05:36 +01:00
Robert Schmidt e8e58e2594 Merge branch 'develop' into feature-merge-merge-f68 2018-02-09 17:10:41 +01:00
Robert Schmidt d746ff6127 update comments in restart_L1L2() 2018-02-09 16:29:59 +01:00
Robert Schmidt 1eabadb137 remove unnecessary code from lte-enb.c 2018-02-09 15:47:59 +01:00
Robert Schmidt 386fd21c93 free_eNB_{d,u}lsch(): remove log, complete function dlsch 2018-02-09 15:31:59 +01:00
Robert Schmidt bb6fd31de6 free all memory for lte_ul_ref* structures 2018-02-09 10:59:59 +01:00
Robert Schmidt 6cff88b9c8 free memory on teardown after all RU/eNB threads have been released 2018-02-09 10:56:14 +01:00
Robert Schmidt c518ed89e2 bugfix after merge 2018-02-08 19:12:20 +01:00
Robert Schmidt 1a1ad6ed8f remove non-existing files from build description file 2018-02-08 19:11:57 +01:00
Robert Schmidt c8ae5b7c09 decrease warning 2018-02-08 18:55:23 +01:00
Robert Schmidt a21bc513bb Merge branch 'develop' into feature-merge-f68 2018-02-08 18:05:28 +01:00
Robert Schmidt fcddbc2b44 RAN API: add functions using UE_Capability
- flexran_get_half_duplex()
- flexran_get_intra_sf_hopping()
- flexran_get_type2_sb_1()
- flexran_get_ue_category()
- flexran_get_res_alloc_type1()
2018-01-31 16:49:24 +01:00
Robert Schmidt 6eeb257717 add UE_Capability to type eNB_RRC_UE_t and read it when received 2018-01-31 16:49:24 +01:00
Robert Schmidt dd7d2ef63b Navid: revise RRC 2018-01-31 16:49:24 +01:00
Robert Schmidt e669f83dc1 Navid: revise RAN API 2018-01-31 16:49:24 +01:00
Robert Schmidt 6dcac9234c Navid: revise FlexRAN 2018-01-31 16:49:24 +01:00
Robert Schmidt d092231181 free memory when stopping/restarting lte-softmodem
- add function free_td() -> complements init_td() [seems to not be used, added
  for completeness]
- add function free_td8() -> undoes init_td8() [free memory of 8-bit LLR Turbo
  decoder]
- add function free_td16() -> undoes init_td16() [free memory of 16-bit LLR
  Turbo decoder]
- change function free_tdavx216() -> undoes init_tdavx216() [free memory of
  16-bit LLR Turbo decoder, AVX2 version]
- add free_lte_top() -> frees memory allocated by init_lte_top()
- change free_ul_ref_sigs() to set freed pointers to NULL
- add method free_transport() -> frees memory of ULSCH/DLSCH transport channels
- use the above functions when stopping/restarting the lte-softmodem
2018-01-31 16:49:24 +01:00
Robert Schmidt 4f1c51f38c add phy_free_RU() and phy_free_lte_eNB()
this methods free the memory that is allocated by the functions
phy_init_RU() and phy_init_lte_eNB()
2018-01-31 16:49:24 +01:00
Robert Schmidt d5b8310fb9 add some logging for RRM command parsing 2018-01-31 16:49:24 +01:00
Robert Schmidt 3f043c7d73 FlexRAN: implement possibilty to await a configuration
Through configuration, the lte-softmodem can be halted to await a
reconfiguration from the lte-softmodem. A mutex and condition variable are used
to implement this.

Furthermore, the dependance of lte-softmodem.c on FlexRAN has been reduced to
one include and the flexran_agent_start() call.
2018-01-31 16:49:24 +01:00
Robert Schmidt 811ada2429 soft-restart (i.e. only layers PHY-RRC) the lte-softmodem 2018-01-31 16:49:24 +01:00
Robert Schmidt 8e9d9807ae lte-ru.c: fct for interface -dependant config, export more functions
- add set_function_spec_param() which configures RU_t instance depending on its
  function(al split)
- export more functions like kill_RU_proc() so that they can be reused by
  restart functionality
2018-01-31 16:49:24 +01:00
Robert Schmidt a91a35877d join all RU threads 2018-01-31 16:49:24 +01:00
Robert Schmidt 9333c16ecb bugfixes: correctly initialize mutexes, conds of RU_proc_t, unlock RU.mutex after using 2018-01-31 16:49:24 +01:00
Robert Schmidt 1576b7bd08 bugfix: max_rbs_allowed_slice is array over CC, not LCID 2018-01-31 16:49:24 +01:00
Robert Schmidt 6179d9d748 Navid: fix access to non-existent harq_pid_* variables via RC read 2018-01-31 16:49:01 +01:00
Robert Schmidt 356d406cff Navid: remove FlexRAN Agent MAC xface function callbacks for scheduling 2018-01-31 16:48:37 +01:00
Robert Schmidt 3740afecc7 consider changed RAN API 2018-01-31 16:48:36 +01:00
Robert Schmidt 56d4d0ebef Bugfix: avoid cyclic header dependency, use FlexRAN variables instead 2018-01-31 16:48:36 +01:00
Robert Schmidt 6a6729bdac fix various compilaton errors due to merge 2018-01-31 16:48:29 +01:00
Robert Schmidt dfece3ff58 correct scheduler typedefs 2018-01-31 16:42:01 +01:00
Robert Schmidt 9b4d3bbae7 move scheduler function pointer typedef to proto.h 2018-01-31 16:42:01 +01:00
Robert Schmidt a03877e7f7 delete unnecessary code 2018-01-31 16:42:01 +01:00
Robert Schmidt 7dfac059b0 Review Navid: UL Scheduler: make slice aware 2018-01-31 16:42:01 +01:00
Robert Schmidt 024904db90 repair enb_app.c after merge, delete unnecessary code 2018-01-31 16:42:01 +01:00
Robert Schmidt a6098dbf09 delete unnecessary FlexRAN source files
all the FlexRAN scheduling code is now also handled by the general OAI
scheduling code
2018-01-31 16:42:01 +01:00
Robert Schmidt b45a340b63 RAN API: no set_RC_vars(), check use RC directly, give error messages 2018-01-31 16:42:01 +01:00
Robert Schmidt cdbf65f5af revise RAN API
- when changing values RC.rrc[i]->configuration should be changed too
- then, RRC_RECONFIGURATION_REQ will pass the changed conf down until PHY
- give warnings at functions that are not implemented

- rename functions
flexran_get_tdd_ack_nack_feedback() -> flexran_get_tdd_ack_nack_feedback_mode()
flexran_get_ue_pmi() -> flexran_get_ue_wpmi()
2018-01-31 16:41:56 +01:00
Robert Schmidt 6198a673f0 correctly instantiate flexran agent 2018-01-24 11:51:35 +01:00
Robert Schmidt ab3f9dad49 add flexran sample config 2018-01-24 11:51:35 +01:00
Robert Schmidt fac968246d define FlexRAN data in RAN context and use it
- defines RCconfig data structures
- adds method to read data
- use it in source files
2018-01-24 11:51:35 +01:00
Robert Schmidt 765d6370f6 update FlexRAN configuration definition (paramdef) 2018-01-24 11:51:35 +01:00
Robert Schmidt 78dd80b086 Merge branch 'feature-68-enb-agent' into feature-merge-f68
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
2018-01-24 11:47:28 +01:00
Robert Schmidt 359e1528dd refactor: FlexRAN reads eNB configuration automatically 2017-12-14 13:06:05 +01:00
Robert Schmidt f39dd5df18 bugfix: handle variable start_eNB in restart 2017-12-14 13:06:05 +01:00
Robert Schmidt fea641220b Start FlexRAN agent directly, lock with mutex&condition
- lock with mutexes
- don't start ENB_APP task, but Agent directly and wait in case of
  reconfiguration
2017-12-14 13:06:05 +01:00
Robert Schmidt 022916305c Fix multiple compilation warnings 2017-12-14 13:06:05 +01:00
Robert Schmidt 730ffc76f4 stop_L1L2(): no sleep, better oai_exit handling 2017-12-14 13:06:05 +01:00
Robert Schmidt eb2dfa1b70 kill_eNB_proc(): join all PHY threads 2017-12-14 13:06:05 +01:00
Robert Schmidt c619f6eff7 Feature: Provide restart for lte-softmodem
- {restart,stop}_L1L2() in lte-softmodem.c
- add function start_phy_rrc() in enb_app.{c,h}, accessible from outside
- will be used to restart PHY and RRC when lte-softmodem is restarted

use only one FlexRAN wait function
2017-12-14 13:06:05 +01:00
Robert Schmidt e88a3cdf46 bugfix ITTI: clean up in itti_exit_task()
- when exiting task, the task is set as "not configured"
- this permits to start a task again
2017-12-14 13:06:05 +01:00
Robert Schmidt ea65ddad2c fill PHY_vars_eNB_g in own function 2017-12-14 13:06:05 +01:00
Robert Schmidt 1aa5d2930a Handle TERMINATE_MESSAGE in TASK_MAC 2017-12-14 13:06:04 +01:00
Robert Schmidt c313dff2ad better logging, remove warnings 2017-12-14 13:06:04 +01:00
Robert Schmidt c62be7a101 Uniform messages of exiting threads 2017-12-14 13:06:04 +01:00
Robert Schmidt 6e6a462dc4 check whether RRC instance is present in RAN API 2017-12-14 12:49:25 +01:00