Commit Graph

838 Commits

Author SHA1 Message Date
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
Pedro Alvarez 9b20a0de16 Added comment to zuc.cc and zuc.h 2019-09-10 13:46:21 +02:00
Pedro Alvarez 004db4a067 Applied clang-format to zuc_support PR. 2019-09-10 13:46:21 +02:00
David Rupprecht 50332089ce Add EEA3 and EIA3 support for UE/enodeb and MME 2019-09-10 13:46:21 +02:00
David Rupprecht d580a94dab Add EIA3 and test case 2019-09-10 13:46:21 +02:00
David Rupprecht 7e13860dd5 Add decryption function and all tests for enc 2019-09-10 13:46:21 +02:00
David Rupprecht 0841d837de Make ZUC state ful no global vars 2019-09-10 13:46:21 +02:00
David Rupprecht ef4cf7aa52 First ZUC working test case 2019-09-10 13:46:21 +02:00
Andre Puschmann 49279c89d8 send DL-DCCH on SRB2 after it has been established 2019-09-09 17:16:22 +02:00
Harald Welte 2e426948fe [ENB] Add CFSB support
This commit introduces CSFB (circuit switched fall-back) capabilities to
srsLTE.  Actually, all the eNB has to do is to send a
RrcConnectionRelease with the RedirectedCarrierInfo IE.

The MME triggers this by the S1AP CS Fallback Indicator IE, which may
be present either in the Initial Context Setup Requst or in the
UE Context Modification Request.

As srsLTE has no support for the UE Context Modification Request at all
yet (!), basic support for this message is introduced in this patch.

Both Mobile Originated and Mobile Terminated CSFB with a coupel of
different UE models have been verified using this patch in a setup
consisting of srsENB attached to an undisclosed EPC connected via SGsAP
to a complete  Osmocom 2G network.

Closes: #358
Closes: #363
2019-09-09 16:59:00 +02:00
Andre Puschmann d9577f0e1e suppress type-limit warning issued by some compilers by making var signed
Used to happen with older gcc giving:

"rlc_am.cc:1791:22: error: comparison of unsigned expression >= 0 is always true [-Werror=type-limits]"
2019-09-09 16:30:48 +02:00
Ismael Gomez bfddc55148
RRC-PHY interface (#639)
RRC-PHY interface refactor. Moved RRC-MAC interface to rrc_asn1_utils and created RRC-PHY interface also in rrc_asn1_utils. All ASN1 includes should be made from rrc_asn1_utils only keeping ue_interfaces clean of ASN1

Tested with different common and dedicated configurations (64QAM UL, 256QAM, CA, SRS enabled/disabled, etc)
2019-09-04 16:59:10 +02:00
Ismael Gomez c92c61d560
Optimized front-end logging processing (#641)
Avoid memory allocation and stringstream in log frontend calls (executed from worker threads). Uses a buffer pool of fixed buffer and vsnprintf
2019-09-04 15:32:29 +02:00
Francisco Paisana 67d6a25194 Moving mac timers to stack timers (#638)
* first step towards moving MAC timers to stack. Mac is still using its own timers. srslte::timers class can be restructured.

* moved timers out of the UE MAC
2019-09-04 15:28:09 +02:00
Francisco Paisana ef61f0408c fix asn1 version separator string 2019-09-02 20:21:54 +02:00
Francisco Paisana ad64207a32 added test for unknown group extensions, and the asn1 lib version in its generated files 2019-09-02 20:21:54 +02:00
Francisco Paisana 939c8905cb now the unknown group exts are also consumed 2019-09-02 20:21:54 +02:00
Francisco Paisana 116dc0a57b fixed group extensions, removed extra presence flag for copy_ptr<T> types as it was just a source of bugs. 2019-09-02 20:21:54 +02:00
Andre Puschmann ada4e6644f fixing various issues in NB-IoT sync code detected by Coverity and clang-tidy 2019-08-08 11:12:49 +02:00
Francisco Paisana c9d3b61038 added resumable procedures to make RRC and NAS non-blocking 2019-08-08 10:56:54 +02:00
Andre Puschmann e42449532b fix wrong namespace definition in various places 2019-08-07 15:32:49 +02:00
Andre Puschmann 80655db4a4 fix missing include in filesink 2019-08-05 11:11:04 +02:00
Andre Puschmann 95a5c2dcdb adding NB-IoT sync code 2019-08-05 11:11:04 +02:00
Ismael Gomez 19066c49ab Ad Rel10 info to dci logs 2019-07-30 18:18:44 +02:00
Pedro Alvarez 6efa944b5e Removed srslte prefix from pdcp_config_t 2019-07-30 15:01:50 +02:00
Pedro Alvarez 0e7c5634f1 Added comment to PDCP maximum SDU size. 2019-07-30 15:01:50 +02:00
Pedro Alvarez dd56d08269 Replaced byte_buffer by array in PDCP base 2019-07-30 15:01:50 +02:00
Pedro Alvarez 3da0391fff Adding default initializers to PDCP config. 2019-07-30 15:01:50 +02:00
Pedro Alvarez 494be243c0 Changed security direction to use an enum. 2019-07-30 15:01:50 +02:00
Pedro Alvarez 61051b4cb3 Changed PDCP NR read_data_header to return SN. 2019-07-30 15:01:50 +02:00
Pedro Alvarez f90b69e5f4 More clang-format for PDCP 2019-07-30 15:01:50 +02:00
Pedro Alvarez 491695ab77 Clang-formated PDCP NR PR. 2019-07-30 15:01:50 +02:00
Pedro Alvarez adfe9f950e Fixed issue in computing the SN. Added test for packets received in sequence for PDCP NR. Test is passing now. 2019-07-30 15:01:50 +02:00
Pedro Alvarez af2b593b8c Added check for integrity in test. First Rx PDCP NR test passing. 2019-07-30 15:01:50 +02:00
Pedro Alvarez d3b6828082 Changed PDCP configuration to explicitly have tx and rx direction. Decrypt on PDCP NR seems fine. 2019-07-30 15:01:50 +02:00
Pedro Alvarez ea3c44e9ac Removing header before decrypting. Continuing to add decryption tests to PDCP NR 2019-07-30 15:01:50 +02:00