Robert Schmidt
8a47fa484c
Handle residual MAC PDU < 0 gracefully
2020-03-24 17:54:08 +01:00
Robert Schmidt
daefb67c82
Fix: correct check for dummy-traffic
2020-03-24 17:54:08 +01:00
Robert Schmidt
69c16efe07
Fix: check that UE RRC config files are found
2020-03-24 17:54:08 +01:00
Robert Schmidt
2c21e8229c
Fix: correctly set context before calling pdcp_run()
2020-03-24 17:54:08 +01:00
Robert Schmidt
8a589f5b08
Fix: rx_indication length is in bytes
2020-03-24 15:54:45 +01:00
Robert Schmidt
df0bc30e28
Make function static inline, not inline
...
inline alone does only define a function without a corresponding
declaration. static solves this problem
2020-03-24 15:41:54 +01:00
Robert Schmidt
0de3c73475
Place MBMS tun fd into single int
2020-03-10 17:38:24 +01:00
Robert Schmidt
84482489e4
Reformat phy_stub_UE.c with clang-format
2020-03-08 20:34:20 +01:00
Robert Schmidt
fa7ace4b1d
Reimplement dl_config_req_UE_MAC() more concisely
2020-03-08 18:34:00 +01:00
Robert Schmidt
34e7952944
CI: Multi. UEs handled by 1 thread (no races) in l2sim
2020-03-08 18:33:34 +01:00
Robert Schmidt
719667895c
Prevent memory leak in L2 sim due to NFAPI
2020-03-08 18:33:34 +01:00
Robert Schmidt
6ec6c8b261
Request CQI in all NFAPI modes (i.e., also for L2 sim)
2020-03-08 18:33:34 +01:00
Robert Schmidt
6866be7175
Trigger ULSCH CQI ind only when instructed
2020-03-08 18:33:34 +01:00
Robert Schmidt
943f907ae1
Send correct ULSCH CQI indication message in L2 sim
2020-03-08 18:33:34 +01:00
Robert Schmidt
b34a0e2f54
Increase (fixed) PHR for UE phy stub mode (L2 sim)
2020-03-05 16:06:02 +01:00
Robert Schmidt
8af8836c4b
Call oai_nfapi_cqi_indication() to send cqi_indications
2020-03-05 16:04:44 +01:00
Robert Schmidt
15a2767562
Don't call fill_ulsch_cqi_indication_UE_MAC()
...
This functions fills the ULSCH CQI indication message incorrectly. Also,
it should only be triggered when the eNB requests CSI. We disable it
here and a subsequent commit enables it again.
2020-03-05 16:04:44 +01:00
Robert Schmidt
c321f9b5a3
Make UE mem alloc for UL_INFO only once in PHY stub mode
2020-03-05 16:04:44 +01:00
Robert Schmidt
5f851d45b3
Fill UE RX Indication Rel9 to prevent error message
2020-03-05 16:04:44 +01:00
Robert Schmidt
05577be422
Reduce logging verbosity and levels
2020-03-04 13:38:04 +01:00
Robert Schmidt
a51dc94e8b
Set correct UE ID in Kenb Refresh Req
...
NAS triggered the Kenb Refresh Req always for (hardcoded) UE 0. This
fixes this by setting the correct UE ID.
An effect of this was that the Kenb would always be set for UE 0,
regardless for which UE it was actually intended. This led for integrity
check failures for every UE with ID > 0.
2020-03-04 13:38:04 +01:00
Robert Schmidt
dabe2ae7ab
FlexRAN: remove unused import in protocol def
2020-01-20 14:05:05 +01:00
Robert Schmidt
1c8c839f65
FlexRAN: Reformat code for X2 HO NetControl activation
2020-01-20 14:05:05 +01:00
Robert Schmidt
e33be3ccd3
FlexRAN: Re-enable the soft-restart, it works
2020-01-20 14:05:05 +01:00
Robert Schmidt
c6e389ed4c
FlexRAN: assert if out of memory
2020-01-20 14:05:05 +01:00
Robert Schmidt
a87220d376
Add S1AP control module for FlexRAN with status monitoring support
2020-01-20 14:05:05 +01:00
Robert Schmidt
44fdb23f15
FlexRAN: fix RRC protobuf definition
2020-01-20 11:35:35 +01:00
Robert Schmidt
6a581d903b
Add FlexRAN protobuf definition for S1AP
2020-01-20 11:35:35 +01:00
Robert Schmidt
d2b1e6aa9a
FlexRAN: report employed splits to controller
2020-01-20 11:35:35 +01:00
Robert Schmidt
a8b4a62b82
Read RU config before FlexRAN to allow split identification
2020-01-20 11:35:35 +01:00
Robert Schmidt
f87c1cbb92
FlexRAN refactor+format MAC stats function
2020-01-20 11:35:35 +01:00
Robert Schmidt
b6d466d772
FlexRAN: reimplement timers without ITTI
...
The timer code used to trigger periodic statistics message sending used
ITTI. Together with a high frequency reporting (e.g. 1ms), this resulted
in high CPU usage. This commit reimplements this:
* using a thread that is synchronized to the RU (if there is no MAC, we
assume there is no RU generating a tick so we create the tick source
ourselves)
* no RB trees but plain arrays
* smaller interface for users
* slight user interface changes
* remove stopped timer state: such timer might be simply removed
* remove one-shot timers
2020-01-20 11:35:35 +01:00
Robert Schmidt
233affc9dd
FlexRAN: include header, not C file
2020-01-20 11:34:54 +01:00
Robert Schmidt
5c4aa309eb
FlexRAN: helper function to get No. UEs
2020-01-20 11:34:54 +01:00
Robert Schmidt
7415d08138
FlexRAN: Simplify stats request handling
...
* only set up timer for sending requests
* simplify interface for timer setup
* on timer expiry, do not pass through stats request function but
directly send the reply
* Remove whatever report structure and use stats request directly for
inferring the data to send
2020-01-20 11:34:54 +01:00
Robert Schmidt
a21c1b1f73
Remove unused sleep function()
2020-01-20 11:33:32 +01:00
Robert Schmidt
e26f7d7555
F1: correctly initialize CU RRC params (clean up code after 99012f88b9)
2019-06-27 14:22:10 +02:00
Robert Schmidt
5b12a60950
Flexran-triggered RRC Reconf: free memory of mac_MainConfig after setting new, do not free new memory
2019-06-25 15:47:52 +02:00
Robert Schmidt
0f568fd40a
FlexRAN: Comment non-functional code regarding Neigh CGI PLMN ID reporting
2019-06-25 10:40:12 +02:00
Robert Schmidt
f1a1ff036d
FlexRAN: HO request first check whether X2 is active, minor indentation fixes
2019-06-24 17:55:13 +02:00
Robert Schmidt
a6be54a6f4
Fix: X2 Setup Req/Resp: first check, then increase number of cells
2019-06-24 17:54:38 +02:00
Robert Schmidt
960e8dc9d8
FlexRAN: Calculate sfnsn such that diff 1s = 1000
2019-06-24 16:29:14 +02:00
Robert Schmidt
a90a7f352e
Additional messages for error diagnosis for net-ctrld HO
2019-06-24 16:29:14 +02:00
Robert Schmidt
67fc2f7c62
FlexRAN: add GTP statistics in UE stats through RRC module
2019-06-24 16:29:14 +02:00
Robert Schmidt
939251e004
Fix: Memory allocation for offsetFreq parameter
2019-06-24 16:29:14 +02:00
Robert Schmidt
8cf520d283
Rename FlexRAN RRC reconfiguration function, simplify function
2019-06-24 16:29:11 +02:00
Robert Schmidt
76a7b7036e
FlexRAN: Add Protobuf UE-specific RRC measurement report configuration
2019-06-24 16:15:44 +02:00
Robert Schmidt
82db432191
Make separate func_ptr setters for PDCP Ind/RLC Req
2019-04-19 14:06:48 +02:00
Robert Schmidt
42713b95fc
Configure complete PDCP in lte-(ue)softmodem
...
* Instead of partly initializing in read_config_and_init(), everything of
PDCP is initialized in main() of lte-softmodem
* Omit RC.rrc access in RRU through checking of RC.nb_inst > 0
* Includes FlexRAN, i.e. do not start FlexRAN in RRU
* Function pointers to PDCP functions have to be set explicitly (avoid
confusion of multiply setting function pointers)
2019-04-19 14:05:51 +02:00
Robert Schmidt
de1dc5c9d7
Correct if before call free()
2019-04-18 16:03:01 +02:00
Robert Schmidt
b4f462b9c8
Align PROTO_AGENT functions with PDCP/RLC function pointers
2019-04-18 13:42:20 +02:00
Robert Schmidt
896ea4a72a
Fix: Check for node type in L2_interface only when not UE
2019-03-26 13:37:14 +01:00
Robert Schmidt
024007716a
Check type of node using NODE_IS_CU/DU/MONOLITHIC macros
2019-03-26 13:15:02 +01:00
Robert Schmidt
f0fced85f2
Execute pdcp_run from rrc_data_req only when in CU mode
2019-03-26 10:50:11 +01:00
Robert Schmidt
dc9a68ff30
Correct condition to read MIB/SIB1 params only when not CU
2019-03-26 10:49:47 +01:00
Robert Schmidt
cdc2d921c1
FlexRAN: fix total_size_ul_mac_sdus parameter
2019-03-24 16:45:32 +01:00
Robert Schmidt
c1f142cc44
Fix warnings: space between literal and identifier in macro
...
This resolves the following warning:
"error: invalid suffix on literal; C++11 requires a space between literal and
identifier"
Since this file might be included from a C++11 file. It only adds spaces.
2019-03-23 17:32:28 +01:00
Robert Schmidt
4f6b1e46a5
Remove warnings for DU_send_INITIAL_UL_RRC_MESSAGE_TRANSFER() include
2019-03-23 17:10:43 +01:00
Robert Schmidt
10a5e5fd75
Use OAI NUM_ENB/UE defines for F1U (removes warnings)
2019-03-23 16:57:26 +01:00
Robert Schmidt
9611a22a65
Remove warnings in RRC
2019-03-23 16:40:47 +01:00
Robert Schmidt
7519b8e061
Free UE in RRC/S1/GTP if not DU
2019-03-23 16:20:43 +01:00
Robert Schmidt
9fd0f9f8bf
Re-comment Assert for unconfigured RLC as in current develop
2019-03-19 15:48:00 +01:00
Robert Schmidt
1f590efe2b
Merge branch 'develop' into feature-127-protocol-split
2019-03-19 14:49:07 +01:00
Robert Schmidt
13857c67e8
fix segfault RRU: check for nb_inst >0 before node_type
2019-03-14 14:24:16 +01:00
Robert Schmidt
62d9b8cf36
Merge branch 'develop' into feature-127-protocol-split
2019-03-14 13:10:21 +01:00
Robert Schmidt
7edf4387f9
Fix bug in eNB: correctly set brOption for RRC R14
2019-03-08 16:58:45 +01:00
Robert Schmidt
20c35748ca
Fix lte-uesoftmodem: segfaults & logic errors
...
* prevent segfault: guard access to RC.rrc with UETARGET
* in rlc_data_ind(): correct logic to test for all cases eNB, CU, DU, UE
2019-03-08 16:52:34 +01:00
Robert Schmidt
05ebea4a24
Reduce PHY layer logging (as in current develop)
2019-03-08 16:51:57 +01:00
Robert Schmidt
02d99edf23
Fix cppcheck errors: RRC, F1AP
2019-03-07 14:16:16 +01:00
Robert Schmidt
ede37e56b8
Use correct RNTI for RRC data req
2019-03-07 12:46:34 +01:00
Robert Schmidt
bbedd315e7
Correctly link lte-uesoftmodem(-nos1) (hack)
...
Although not used in the UE, we currently need to link the F1 library into it.
This is because we do not define ASN_DISABLE_OER_SUPPORT (otherwise, F1 has
compilation problems). In this case, some functions are apparently not
correctly defined, giving linker errors in the UE. Linking F1 in solves the
problem.
This is a hack. It would be better to be able to define ASN_DISABLE_OER_SUPPORT
and have no compilation errors or compile everything with
ASN_DISABLE_OER_SUPPORT except F1. I did not do this because I did not find
another way than add target_compile_definitions() to every target except F1
which adds many lines just so that one target (F1 ASN.1) compiles correctly (in
other words, F1 needs to be fixed).
2019-03-06 19:28:12 +01:00
Robert Schmidt
275b559fbf
Fix linker error: link F1-U protobuf for eNB noS1 case
2019-03-06 14:18:54 +01:00
Robert Schmidt
7a7c2afa11
Handle cppcheck errors in ASYNC_IF
2019-03-06 13:59:39 +01:00
Robert Schmidt
66d4c4e92d
Fix cppcheck issues in PROTO_AGENT
2019-03-06 13:43:09 +01:00
Robert Schmidt
56af9c60e4
Fix compilation/linking errors in lte-uesoftmodem
2019-03-05 18:47:29 +01:00
Robert Schmidt
e3bb3ab7d3
Change integer based conf parameter from string
2019-03-05 18:27:54 +01:00
Robert Schmidt
f9c4c501e3
Merge branch 'develop' into feature-127-protocol-split
2019-03-05 14:17:38 +01:00
Robert Schmidt
1e3d0c9a16
Update F1 CU/DU configuration (tested, formatted)
2019-02-27 15:31:52 +01:00
Robert Schmidt
544d80c40d
Merge branch 'develop' into feature-127-protocol-split
2019-02-25 18:06:35 +01:00
Robert Schmidt
97126eb57e
Fix carrierFreq MeasObj calculation to handle F1 case
2019-02-25 16:33:02 +01:00
Robert Schmidt
cc2a507d59
Unify and comment RRC container print of F1
2019-02-25 16:23:42 +01:00
Robert Schmidt
80b6245213
Remove comments left after merge
2019-02-22 18:38:34 +01:00
Robert Schmidt
eab78405cc
Log received F1 messages correctly
2019-02-22 18:33:12 +01:00
Robert Schmidt
549e72d001
Trigger UL RRC Message through ITTI Message
2019-02-22 16:36:26 +01:00
Robert Schmidt
c75fd52e3a
Remove many warnings
2019-02-22 15:22:13 +01:00
Robert Schmidt
bd36a9ef0c
Gracefully handle different numbers of UE in MAC and RRC
2019-02-22 15:22:09 +01:00
Robert Schmidt
a4d909bca8
Initialize variables to prevent illegal free()
2019-02-22 10:51:40 +01:00
Robert Schmidt
1a07a1e067
Replace redundant CU_F1AP/DU_F1AP with F1AP
2019-02-22 10:26:41 +01:00
Robert Schmidt
030e11ba9a
Merge branch 'develop' into feature-127-protocol-split
2019-02-21 20:18:35 +01:00
Robert Schmidt
2f23047900
Restructure F1AP UE list
...
* Restructure the code handling the UEs F1AP knows
* This fixes a bug that only two phones can be connected
2019-02-08 19:42:25 +01:00
Robert Schmidt
032fc48ac0
Remove unused, commented F1AP code
2019-02-08 18:01:56 +01:00
Robert Schmidt
36f192e873
Fix test of socket_link.c after interface change
...
link_send_packet() has been extended to use for multiple protocols (added UDP,
SCTP after TCP). The test was not update, though, which is fixed in this
commit.
2019-02-07 18:03:18 +01:00
Robert Schmidt
9fd4b45226
Remove F1-related flags from build_oai script
2019-02-07 18:03:17 +01:00
Robert Schmidt
822f9849a2
Stop CU's PROTO_AGENT when DU disconnects
...
This adds an exit flag as well as the proto_agent_async_msg_recv_unlock()
function to unlock and release the proto_agent worker thread correctly.
2019-02-07 18:00:20 +01:00
Robert Schmidt
beec74b01a
Correctly stop link_manager sender and receiver threads
...
This changes the destroy_link_manager() function to:
* call a new function message_get_unlock() to unlock the sending thread from
its blocking message_get()
* calls pthread_cancel() on the receiving thread, because this unlocks any
blocking read from a file descriptor
The same message_get_unlock() function has been added ringbuffer_queue to keep
the interfaces the same (it does nothing, because ringbuffer_queue is
non-blocking).
2019-02-07 17:56:56 +01:00
Robert Schmidt
0643d6b561
Make queue_recv() functions return size, not as out-param
2019-01-29 16:55:15 +01:00
Robert Schmidt
63c4a90eb7
Remove unused PROTO_AGENT code
2019-01-29 16:55:15 +01:00
Robert Schmidt
8c0ebfadda
Add FlexRAN PLMN ID list and remove defunct cell_id
2019-01-28 08:36:32 +01:00
Robert Schmidt
d9d6ce374f
Perform S1 UE Context Release Complete after corresponding F1 message
...
This commits isolates the S1 UE Ctxt Rel Complete and GTP Tunnel Delete
Requests in functions and calls these function in the original place
(rrc_rx_tx()). The same functions are then used in the F1 UE Ctxt Rel
Complete handler to perform the same functionality, i.e. forward the UE
Ctxt Rel Complete message to the MME and free outstanding resources (RRC
context, GTP tunnels, S1 context).
2019-01-25 16:37:57 +01:00
Robert Schmidt
2cdcb6466b
Move PDCP stats recording out from non-applying packet_forwarded FALSE case
2019-01-22 16:11:37 +01:00