Francisco Paisana
1400777639
removed 1st thread from GTPU
2019-11-20 10:34:35 +00:00
Francisco Paisana
0539d932b8
clang format on the interface files
2019-11-18 11:43:31 +00:00
Andre Puschmann
40bacb80b1
fixing comments from Xavier's review
2019-11-17 18:51:24 +01:00
Andre Puschmann
e05ecdb139
adding NB-IoT DL channel estamiation and NPBCH code
2019-11-17 18:51:24 +01:00
Andre Puschmann
792e2f7f8f
add NB-IoT scrambling sequences
2019-11-17 18:51:24 +01:00
Andre Puschmann
b20f7ba541
refactor RLC UM and add NR receiver
2019-11-16 14:35:16 +01:00
Francisco Paisana
a9a33256e9
fixed some of the net utils functions
2019-11-15 17:57:36 +00:00
Francisco Paisana
546ee98879
fixed small issue that was causing compilation errors
2019-11-15 17:57:36 +00:00
Francisco Paisana
2de0eee9c7
clean up some comments
2019-11-15 17:57:36 +00:00
Francisco Paisana
76673d2d40
cleaned up socket util methods, and made the S1AP non-blocking.
2019-11-15 17:57:36 +00:00
Francisco Paisana
2c3e4a3daf
creation of util class net_addr_t that provides methods for conversion of IP addr const char* to sockaddr_in
2019-11-15 17:57:36 +00:00
Francisco Paisana
31dffde6c3
simplified interface and made it more generic to different types of sockets
2019-11-15 17:57:36 +00:00
Francisco Paisana
e37a718f21
created a sctp socket class
2019-11-15 17:57:36 +00:00
Francisco Paisana
131b1a7e41
added a class to handle multiple sockets via a select
2019-11-15 17:57:36 +00:00
Andre Puschmann
98ac39e617
fix compilation when macro SRSLTE_BUFFER_POOL_LOG_ENABLED is enabled
2019-11-15 17:20:51 +01:00
Andre Puschmann
03bd63d9ab
rename RLC AM class to RLC AM LTE
2019-11-15 16:02:37 +01:00
Francisco Paisana
ff62ae6ad0
created the method chain in RRC to receive and handle the response to a S1AP HORequired
2019-11-10 22:06:31 +00:00
Francisco Paisana
57cd40ca31
added an ho required message send from SeNB to MME
2019-11-10 22:06:31 +00:00
Francisco Paisana
690a9850e7
cleaned up some old patterns and run clang-format in RRC and scheduler
2019-11-08 13:59:38 +00:00
Xavier Arteaga
2e1479e9d6
SRSENB: Added PHY CA PRACH workers
2019-11-07 16:01:01 +01:00
Andre Puschmann
2d126371f6
adopt PDCP NR to use new timer class
2019-11-07 14:12:08 +01:00
Pedro Alvarez
ac9ee9d863
Added comment.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
ea0a413c8a
Added check on wether the PDCP entity is initialized.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
9998b3e857
Small white space fix and clang-format on pdcp_nr_test.h
2019-11-07 14:12:08 +01:00
Pedro Alvarez
cede56abe1
Fix small typo
2019-11-07 14:12:08 +01:00
Pedro Alvarez
8511fca940
Clang-formated to prepare for PR
2019-11-07 14:12:08 +01:00
Pedro Alvarez
d3a07fdd38
Added check for overflow at RX. Adding more tests.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
62230c6ab9
Starting to have overflow protection in PDCP NR tx
2019-11-07 14:12:08 +01:00
Pedro Alvarez
1d56fa6308
Improved speed of tests for COUNT wraparound, by setting the PDCP initial state.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
517ce8a220
Added test to test out of order COUNT wraparoung. Added setters to help with the testers.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
ceea761ca4
Added append_bytes method to byte_buffer_t class. Continue to reduce boilerplate.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
b7fdcaabc5
Starting to add reordering timers at PDCP NR entity. Timeout seems to be triggered correctly and pass the SDUs to the upper layers when it expires. First tests passing.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
b92c99ad2f
Removing PDCP config from rrc_interfaces_types. Starting to add t_reordering configuration.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
45d298507b
Starting to move pdcp configs to rrc_interface_types. Starting to add test for reorder timeout.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
6cf2bd7bc3
Starting to add reordering queue in the PDCP.
2019-11-07 14:12:08 +01:00
Pedro Alvarez
ff15ed5018
Starting to add timers to the NR PDCP.
2019-11-07 14:12:08 +01:00
Francisco Paisana
35c9f02579
added quant cfg parsing and addition to measCfg
2019-11-01 15:48:47 +00:00
Francisco Paisana
427fdb83fe
using std::make_tuple now to support old compilers. Move operator== definitions for meascfg types to rrc_asn1_types
2019-11-01 15:48:47 +00:00
Francisco Paisana
200e18ee3a
added diff computation for reportconfig and measid. Tests passing
2019-11-01 15:48:47 +00:00
Francisco Paisana
1524e28c3a
finished the function to compute diffs between cells/measObjs of two var_meas_cfg objects. Added tests for this. Now the update of a UE's var_meas_cfg is made via a shared pointer.
2019-11-01 15:48:47 +00:00
Francisco Paisana
b7559171b7
added logic to insert cells from conf file into var_meas_cfg and calculate diffs between meas_objs
2019-11-01 15:48:47 +00:00
Andre Puschmann
f4a0bebe1f
fix handling of invalid MAC LCIDs
2019-10-31 21:43:27 +01:00
Andre Puschmann
aa9733eb59
add packing for CCCH over UL-SCH for MAC NR
2019-10-31 21:43:27 +01:00
Francisco Paisana
7e62d6d1f9
added parser for rrc_cnfg section of rr.conf file, and dummy rrc_mobility class
2019-10-29 15:27:09 +00:00
Francisco Paisana
8440126d35
removal of srslte::timers class
2019-10-23 19:33:25 +01:00
Francisco Paisana
9ae5563331
fixed timer issue with setting the duration. Setting the duration cannot reset the on-going timer run
2019-10-23 19:33:25 +01:00
Francisco Paisana
d2c56caf7e
applied new timer class to the whole code base
2019-10-23 19:33:25 +01:00
Francisco Paisana
5953d5ef96
fixed some potential bug related to timer getting stopped, but signaling that it expired
2019-10-23 19:25:48 +01:00
Francisco Paisana
551192705e
allow for pre-reservation of timers vector and priority queue
2019-10-23 19:25:48 +01:00
Francisco Paisana
50a1c9d557
addressed potential overflow, and extended timer test to check if ordering is working correctly
2019-10-23 19:25:48 +01:00
Francisco Paisana
349646a9da
created a new class for timers. It uses a priority queue to avoid incrementing all timers every tti (step_all() went from O(N) to O(1)), and that is not bounded in number of timers. Not being bounded will be useful for layers that require one or more timers per UE
2019-10-23 19:25:48 +01:00
Francisco Paisana
15bde8660a
getting a future of an already finished proc is dangerous
2019-10-23 18:19:25 +02:00
Francisco Paisana
248583ecdf
added extra logging and removed uneeded member from proc_t
2019-10-23 18:19:25 +02:00
Francisco Paisana
b254bdbb93
typedefed the proc_result_t<void> to become proc_state_t
2019-10-23 18:19:25 +02:00
Francisco Paisana
f2d88e5a5b
simplified NAS rrc connection request procedure
...
move non-type-specific methods of proc_t to its base class.
procedure state machine was simplified via a future-type. Now procedures dont get stuck until the user reads the procedure outcome.
made the NAS procedures more event trigger/reaction-based.
2019-10-23 18:19:25 +02:00
Francisco Paisana
8864787f59
added the continuation functionality to procedures via the "then()" method.
2019-10-23 18:19:25 +02:00
Francisco Paisana
c1be118d1d
new wrapper-based design for stack procedures. Removes extra base class, gets rid of spurious copies/moves during the pop(), and allows the use of a non-default ctor()
2019-10-23 18:19:25 +02:00
Ismael Gomez
3828e03f33
Refactor in eNodeB, add channel emulator and fixes in OFDM
...
* Added channel emulator to srsENB. Added support for fixed delay
* Bug in OFDM when using nonguru mode
* A few changes and refactor in eNodeB
2019-10-23 11:09:39 -05:00
Xavier Arteaga
423475173d
Refactored magnitude and argument extraction from sf_worker
2019-10-21 16:17:37 +02:00
Xavier Arteaga
10480f62b3
SRSENB: Split sf_worker and cc_worker
2019-10-21 16:17:37 +02:00
Andre Puschmann
d5835fc8a0
add info_long() method to log filter
2019-10-18 16:38:55 +02:00
Andre Puschmann
891a66a2e5
make the establishment cause a paramter when sending a connection request
...
needed to signal a mo_sig establishment cause after a RLF
2019-10-18 16:38:55 +02:00
Andre Puschmann
626259eede
add helper method to obtain thread name
...
this is helpful to, for example, print the name of
the thread that calls a function, i.e.:
log.console("%s from %s\n", __PRETTY_FUNCTION__, thread::get_name().c_str());
2019-10-15 10:13:21 +02:00
Ismael Gomez
1d83bb08e2
Changes in ACK procedure to support CA. Tested 1 cell in SISO/MIMO
2019-10-14 11:20:35 +02:00
Andre Puschmann
d8fedf2e19
fix parsing of corrupted MAC PDUs
2019-10-11 17:35:52 +02:00
Andre Puschmann
c5f52adfba
nas: fix issue in which NAS wouldn't allow to attach once it failed
...
the main issue was the plmn_selected variable. the solution
was to create a function to enter the deregistered state that resets the variable
and performs all other actions that need to be performed, like clearing
EPS bearers.
The patch also extends the SS to support AT commands to enable/disable
data services and now succesfully passes TC_9_2_2_1_7
2019-10-09 11:34:49 +02:00
Francisco Paisana
2fb830fcfa
moved cell search to background task thread pool, and provided a stack interface to rrc to call "start_cell_search". Once completed, the background task signals back to RRC
2019-10-04 22:01:44 +02:00
Andre Puschmann
f07a9277a0
fix RLC AM issue where an invalid status PDU was generated
...
happens when very small grant is provided and the status
PDU generation fails because of a too small grant
add extra check to prevent that ACK_SN is also in NACKS list
2019-10-04 16:29:03 +02:00
Francisco Paisana
a2f1998350
fix issue with thread pool shut down
2019-10-04 10:24:21 +02:00
Andre Puschmann
c7f0caa24a
add TTI field to MAC dl/ul grants and fix PCAP to include TTI
2019-10-02 16:49:46 +02:00
Francisco Paisana
6db0e474be
moved RA waiting procedure to a background task of the stack thread pool
2019-10-02 11:04:47 +02:00
Francisco Paisana
c413fadea9
created a queue-based thread pool. Tasks are inserted into a queue and then popped by the thread pool workers to be processed.
2019-10-02 11:04:47 +02:00
Andre Puschmann
50999d8116
allow integrity protection for identity response
2019-10-01 20:59:00 +02:00
Francisco Paisana
fc9bb3c934
removed rrc asn1 header include from the ue_interfaces and phy
2019-09-30 21:05:32 +02:00
Xavier Arteaga
125f1e7282
ZMQ: Split Tx and Rx, bug fixes and clean up
2019-09-20 18:32:38 +02:00
Andre Puschmann
c99d5077c8
add RLC UM NR transmitter
2019-09-20 16:33:25 +02:00
Xavier Arteaga
6eb26be34e
Fixed include headers
2019-09-20 16:20:31 +02:00
Xavier Arteaga
35f85c651c
SRSUE: Added SCell synchronizer and measurements based on reference signals
2019-09-20 16:20:31 +02:00
Xavier Arteaga
8e17aba5d8
Improved SSS decoding and improved scell_search_test
2019-09-20 16:20:31 +02:00
Xavier Arteaga
dedf0f2f78
Added initial time to delay channel simulator
2019-09-20 16:20:31 +02:00
Xavier Arteaga
368690ea6b
SRSUE: Added intra frequency SCell search test
2019-09-20 16:20:31 +02:00
Xavier Arteaga
d7c1a0bda9
Added High Speed Train model to channel emulator
2019-09-20 16:20:31 +02:00
Xavier Arteaga
db5a21e659
Remove set_master_clock_rate from PHY RF API
2019-09-20 15:43:07 +02:00
Ismael Gomez
0984debe1b
Fix issues with RLF in B210 and X300 ( #669 )
...
* Calling tx_end() from radio_reset() causes long execution time in B210. Using boolean to call later instead. Fixes RLF failing in B210. Checked in X300
* Fix issue #655
2019-09-20 15:41:16 +02:00
Francisco Paisana
946ead06e8
using an interface between the stack and lower mac to process demux pdus.
2019-09-19 10:19:46 +02:00
Andre Puschmann
57317fab7c
expose debug_long to class log and use in RRC to log ASN1 structs
2019-09-18 16:12:24 +02:00
Francisco Paisana
14267640ee
implemented andre's PR review requests
2019-09-18 12:18:33 +02:00
Francisco Paisana
ceba00f00e
extended multiqueue to support blocking push
2019-09-18 12:18:33 +02:00
Francisco Paisana
647c624423
created a multiqueue handler, and started using it for the ue stack
2019-09-18 12:18:33 +02:00
Andre Puschmann
95b2239dd5
add base class for socket handler using netsource object
2019-09-17 21:56:47 +02:00
Andre Puschmann
6baa89cd2c
add MAC NR PDU packing and associated unit tests
2019-09-17 17:19:13 +02:00
Andre Puschmann
090f2b4110
add MAC-NR PCAP support
2019-09-17 17:19:13 +02:00
Ismael Gomez
a3932f9bea
Minor change to fix coverty issue
2019-09-17 14:22:38 +02:00
Francisco Paisana
cd521a84cb
bigger log buffer. Now it is 1024 chars ( #649 )
...
Use dynamic string for debug_long() function and known relation of size between log_str and log_filter
2019-09-17 11:42:17 +02:00
Andre Puschmann
5189bbad69
add stop() to logger_file
...
this allows to close and currently running log process, flush the content
to the file, continue logging during that time, open a new file
and write the new log entries to that new file
basically it allows to use the logger_file multiple times without
needing to destroy the object
this is used in the UE tester to write each testcase into a separate
log file
2019-09-16 21:39:15 +02:00
Andre Puschmann
4869509c7b
add write function to netsource
...
this is useful for listening sockets to also send responses,
i.e. implement bi-directional communication
2019-09-16 21:39:15 +02:00
Francisco Paisana
e768989074
added a packer/unpacker for bytes. This should a faster version than normal bit_ref::pack, when we want to pack multiple bytes, and the bit_ref::offset is 0. Also added a way to skip a fixed number of bits
2019-09-13 21:09:26 +02:00
Ismael Gomez
6bb0790cf1
Fix coverty issues ( #652 )
2019-09-13 15:06:20 +02:00
Xavier Arteaga
1a567a764e
SRSUE: Call Radio tx-end when PHY is reseted and removed redundant attribute is_start_of_burst.
2019-09-12 09:49:56 +02:00
Pedro Alvarez
1d3e541069
Fixed warning on bytes_to_mnc
2019-09-10 13:46:21 +02:00