David Rupprecht
64299960bd
Added procedure for NR reconfiguration and RRC with NR complete
2021-01-27 10:37:09 +01:00
David Rupprecht
99c3aa9ba2
Refactor assert to TESTASSERT in unit test
2021-01-26 21:19:37 +01:00
David Rupprecht
ffe513415c
stop gw in srsue nas test
2021-01-08 17:20:31 +01:00
David Rupprecht
f7d313147a
Added infrastrukture for measurements
...
Init rrc_nr as part of the LTE stack
2021-01-08 17:20:08 +01:00
David Rupprecht
4305929ec7
Hardcoded NR/MRDC-Capabilities
2021-01-08 17:20:08 +01:00
David Rupprecht
b79eef0860
Introducing nr_rrc <-> rrc interface for eutra and nr cap query
2021-01-08 17:20:08 +01:00
David Rupprecht
9eb0b72cb4
Added rrc function has_nr_dc
2021-01-08 17:20:08 +01:00
David Rupprecht
ce4526a935
Extended measurements interrat nr r15 testcase with measurements
2020-12-16 14:12:38 +01:00
David Rupprecht
826dd32c89
Rename meas_cell to meas_cell_eutra
...
Added meas_cell_nr class
Make meas_cell list as template class
Inheritance rrc_cell to meas_cell_nr
Added process_new_cell_meas_nr function
2020-12-16 14:12:38 +01:00
David Rupprecht
62b558fccf
Move rat type to common header
...
Removed phy measurement from rrc interface phy
Updated rrc interface for handling measurements
2020-12-16 14:12:38 +01:00
David Rupprecht
f4b0042c10
Added minimal interrat and nr measurement testcase
...
Added the handling of nr_r15 meas config
Added seperate handling of reportConfig for eutra
2020-12-12 15:59:27 +01:00
Andre Puschmann
07d2bc4fe8
change license header to agnostic version with hint to root LICENSE file
2020-12-12 15:59:25 +01:00
Francisco
66712023bb
remove unneeded includes of full rrc asn1 lib
2020-12-12 15:59:25 +01:00
Pedro Alvarez
6929883649
Added mutex and condition_variable to srsUE's nas_test to avoid race condition on thread initialization.
2020-12-12 15:58:34 +01:00
Xavier Arteaga
f64c268a69
SRSUE: Refactored MAC/RRC SCell Activation/Deactivation
2020-12-12 15:58:33 +01:00
Pedro Alvarez
604e79214d
Changed NAS is_attached interface to is_registered.
2020-12-12 15:58:33 +01:00
Pedro Alvarez
96f39da5d7
Fixes for airplane simulator.
2020-12-12 15:58:33 +01:00
Pedro Alvarez
14844a168a
Created new class to hold all NAS states for the NAS state machine. Added EMM-DEREGISTERED substates and EMM-REGISTERED substates.
...
Decoupled PLMN selection, attach request and service request. Removed RRC connect procedure from NAS.
2020-12-12 15:58:33 +01:00
Francisco Paisana
510959b50f
update nr asn1 files, and asn1 tests
2020-12-12 15:58:32 +01:00
Andre Puschmann
d51a060bfa
nas_test: fix potential out of bounds access
2020-10-18 15:56:16 +02:00
Andre Puschmann
1bbbc9d717
rrc_phy_ctrl_test: fix uninit memory
2020-10-18 15:56:16 +02:00
Francisco Paisana
665b3996bb
now the phy controller handles the scenario where the phy cell selection failed to be initialized
2020-10-16 15:54:42 +01:00
Andre Puschmann
fab86382c1
mac,rrc: add interface to set SR config explicitly without touching any other MAC function
...
when releasing PUCCH/SRS (see 5.3.13 in 36.331) we need to reset the SR config as well.
In our case, SR is handled by MAC so we need to (re-)configure MAC, not all of
MAC though, just SR.
2020-10-13 17:38:45 +02:00
Francisco Paisana
585d7c923a
refactor and simplification of cell selection procedure. Using now a SIB3 threshold to decide whether to select neighbor cell while in RRC_IDLE
2020-10-12 13:42:46 +01:00
Francisco Paisana
d910c910a4
rrc::meas_cell now uses stack timers instead of system timers.
2020-10-02 17:53:02 +01:00
Francisco Paisana
49ad1a4312
added unit test for meas cells
2020-10-02 17:53:02 +01:00
Francisco Paisana
2416e274a7
fix rrc_meas_test. The phy now needs to signal back to the rrc that the phy config is complete
2020-10-01 11:25:21 +01:00
faluco
51b27fc255
Import latest srslog version ( #1796 )
...
* - Import latest srslog version.
- Adjusted the nas_test to create logs correctly.
- Remove timestamp formatting now that is provided by srslog.
2020-09-30 15:52:42 +02:00
Pedro Alvarez
b3bfe336a9
Make sure that remote address test has a ip mask
2020-09-28 16:08:28 +02:00
Sylvain Munaut
6ce5863f03
test/tft_test: Add a combined test for IPv6 packets
2020-09-28 16:08:28 +02:00
Sylvain Munaut
9ba8b62972
test/tft_test: Update filter test suite
...
The “IPv4 local address type” filter should be 9 bytes since it includes
not only the ip address, but also its subnet mask.
Quoting from 3GPP TS 24.008 10.5.6.12:
"""
For "IPv4 remote address type", the packet filter component value field
shall be encoded as a sequence of a four octet IPv4 address field and a
four octet IPv4 address mask field. The IPv4 address field shall be
transmitted first. For "IPv4 local address type", the packet filter
component value field shall be encoded as defined for "IPv4 remote
address type".
"""
Same for the ToS which also includes a 1 byte mask value
2020-09-28 16:08:28 +02:00
Andre Puschmann
1afc137032
[REBASE] Make PHY non-blocking and fefactor HO procedure ( #1753 )
...
* Make PHY non-blocking and fefactor HO procedure
* makes entire PHY non-blocking through command interface
* adds dedicated queue for cell_search/cell_select commands
* refactor HO procedure to run faster, in one stack cycle. Looks closer to the specs
* force ue to always apply SIB2 configuration during reestablishment
* Run update_measurements in all workers
Co-authored-by: Ismael Gomez <ismagom@gmail.com>
2020-09-22 21:47:16 +02:00
faluco
f0d651ae8e
- Fixed a leak in the MME class not releasing the static byte buffer pool.
...
- Now the pool gets destroyed on program exit using a unique_ptr.
- Removed manual cleanup() calls in all the code base to free the pool instance.
2020-09-22 18:00:50 +02:00
Ismael Gomez
4c1d3ef7e8
Fix implementation of Random Access problem ( #1689 )
...
* Fix implementation of Random Access problem
* Apply AS activated condition on RLF before calling Reestablishment
2020-09-04 13:13:42 +02:00
Ismael Gomez
f49fbd6d02
Fix the order of HO/reest measurement actions ( #1696 )
2020-09-04 12:18:12 +02:00
Francisco Paisana
75b204bc52
fix phy ctrl call to cell selection observers
2020-08-24 22:10:32 +01:00
Francisco Paisana
834c0b3929
integrated new observer pattern into phy controller fsm
2020-08-24 22:10:32 +01:00
Francisco Paisana
48dd436d86
integrated observer pattern into rrc phy ctrl fsm
2020-08-24 22:10:32 +01:00
faluco
cfd3f51931
Import of srslog into srsepc and srsenb. ( #1574 )
...
* - Import of srslog into srsepc and srsenb.
* - Removed logger_file and logger_stdout files.
2020-07-30 19:17:23 +02:00
Pedro Alvarez
c686e6cea1
SRSUE: Set SCell configuration is unlocking ( #1544 )
2020-07-20 19:30:25 +02:00
Ismael Gomez
443dee7035
Changes in Cell Selection Procedure ( #1557 )
...
* Fixes RRC cell reselection procedure
2020-07-17 17:05:19 +02:00
Francisco Paisana
4fb8011a6d
updated phy controller to use task scheduler
2020-07-14 13:33:50 +01:00
Francisco Paisana
9c5471b094
more ergonomic event callback
2020-07-14 13:33:50 +01:00
Francisco Paisana
58a9610efa
use of stack event loop to propagate cell search and selection results
2020-07-14 13:33:50 +01:00
Francisco Paisana
d48a45976e
moved cell selection/search complete event signalling out of phy_controller
2020-07-14 13:33:50 +01:00
Francisco Paisana
48138b5281
removal of phy cell selection procedure as it now it is replaced by phy controller
2020-07-14 13:33:50 +01:00
Francisco Paisana
489969722e
implemented phy controller FSM to perform cell selection & search. The controller also tracks the phy sync state
2020-07-14 13:33:50 +01:00
Andre Puschmann
a7911f0dab
pdcp,rlc: refactor SDU queueing policy
...
this patch refactors the SDU queuing and dropping policy of the RLC and PDCP layer.
the previous design had issues when packets have been generated at a higher
rate above the PDCP than they could be consumed below the RLC.
When the RLC SDU queues were full, we allowed two policies, one to block on the write
and the other to drop the SDU. Both options are not ideal because they either
lead to a blocking stack thread or to lost PDCP PDUs.
To avoid this, this patch makes the following changes:
* PDCP monitors RLC's SDU queue and drops packets on its north-bound SAP if queues are full
* a new method sdu_queue_is_full() has been added to the RLC interface for PDCP
* remove blocking write from pdcp and rlc write_sdu() interface
* all writes into queues need to be non-blocking
* if Tx queues are overflowing, SDUs are dropped above PDCP, not RLC
* log warning if RLC still needs to drop SDUs
* this case should be avoided with the monitoring mechanism
2020-07-13 17:05:28 +02:00
Francisco Paisana
5e06430455
removal of stack handler interface
2020-07-13 11:19:25 +01:00
Francisco Paisana
7c364070ee
creation of task scheduler interface for classes/functions running outside the main control thread
2020-07-13 11:19:25 +01:00