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