363 Commits (126e6126fa5c837cf87fc627bafbcfb9299ff34b)

Author SHA1 Message Date
Francisco Paisana 546ee98879 fixed small issue that was causing compilation errors 5 years ago
Francisco Paisana 2de0eee9c7 clean up some comments 5 years ago
Francisco Paisana 76673d2d40 cleaned up socket util methods, and made the S1AP non-blocking. 5 years ago
Francisco Paisana 2c3e4a3daf creation of util class net_addr_t that provides methods for conversion of IP addr const char* to sockaddr_in 5 years ago
Francisco Paisana 31dffde6c3 simplified interface and made it more generic to different types of sockets 5 years ago
Francisco Paisana e37a718f21 created a sctp socket class 5 years ago
Francisco Paisana 131b1a7e41 added a class to handle multiple sockets via a select 5 years ago
Andre Puschmann 98ac39e617 fix compilation when macro SRSLTE_BUFFER_POOL_LOG_ENABLED is enabled 5 years ago
Francisco Paisana 57cd40ca31 added an ho required message send from SeNB to MME 5 years ago
Francisco Paisana 690a9850e7 cleaned up some old patterns and run clang-format in RRC and scheduler 5 years ago
Pedro Alvarez ac9ee9d863 Added comment. 5 years ago
Pedro Alvarez 9998b3e857 Small white space fix and clang-format on pdcp_nr_test.h 5 years ago
Pedro Alvarez 8511fca940 Clang-formated to prepare for PR 5 years ago
Pedro Alvarez ceea761ca4 Added append_bytes method to byte_buffer_t class. Continue to reduce boilerplate. 5 years ago
Pedro Alvarez b92c99ad2f Removing PDCP config from rrc_interfaces_types. Starting to add t_reordering configuration. 5 years ago
Pedro Alvarez 45d298507b Starting to move pdcp configs to rrc_interface_types. Starting to add test for reorder timeout. 5 years ago
Andre Puschmann f4a0bebe1f fix handling of invalid MAC LCIDs 5 years ago
Andre Puschmann aa9733eb59 add packing for CCCH over UL-SCH for MAC NR 5 years ago
Francisco Paisana 8440126d35 removal of srslte::timers class 5 years ago
Francisco Paisana 9ae5563331 fixed timer issue with setting the duration. Setting the duration cannot reset the on-going timer run 5 years ago
Francisco Paisana d2c56caf7e applied new timer class to the whole code base 5 years ago
Francisco Paisana 5953d5ef96 fixed some potential bug related to timer getting stopped, but signaling that it expired 5 years ago
Francisco Paisana 551192705e allow for pre-reservation of timers vector and priority queue 5 years ago
Francisco Paisana 50a1c9d557 addressed potential overflow, and extended timer test to check if ordering is working correctly 5 years ago
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 5 years ago
Francisco Paisana 15bde8660a getting a future of an already finished proc is dangerous 5 years ago
Francisco Paisana 248583ecdf added extra logging and removed uneeded member from proc_t 5 years ago
Francisco Paisana b254bdbb93 typedefed the proc_result_t<void> to become proc_state_t 5 years ago
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.
5 years ago
Francisco Paisana 8864787f59 added the continuation functionality to procedures via the "then()" method. 5 years ago
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() 5 years ago
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
5 years ago
Xavier Arteaga 10480f62b3 SRSENB: Split sf_worker and cc_worker 5 years ago
Andre Puschmann d5835fc8a0 add info_long() method to log filter 5 years ago
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());
5 years ago
Andre Puschmann d8fedf2e19 fix parsing of corrupted MAC PDUs 5 years ago
Francisco Paisana a2f1998350 fix issue with thread pool shut down 5 years ago
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. 5 years ago
Andre Puschmann 57317fab7c expose debug_long to class log and use in RRC to log ASN1 structs 5 years ago
Francisco Paisana 14267640ee implemented andre's PR review requests 5 years ago
Francisco Paisana ceba00f00e extended multiqueue to support blocking push 5 years ago
Francisco Paisana 647c624423 created a multiqueue handler, and started using it for the ue stack 5 years ago
Andre Puschmann 95b2239dd5 add base class for socket handler using netsource object 5 years ago
Andre Puschmann 6baa89cd2c add MAC NR PDU packing and associated unit tests 5 years ago
Andre Puschmann 090f2b4110 add MAC-NR PCAP support 5 years ago
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
5 years ago
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
5 years ago
Pedro Alvarez 1d3e541069 Fixed warning on bytes_to_mnc 5 years ago
Pedro Alvarez 9b20a0de16 Added comment to zuc.cc and zuc.h 5 years ago
Pedro Alvarez 004db4a067 Applied clang-format to zuc_support PR. 5 years ago
David Rupprecht 50332089ce Add EEA3 and EIA3 support for UE/enodeb and MME 5 years ago
David Rupprecht d580a94dab Add EIA3 and test case 5 years ago
David Rupprecht 7e13860dd5 Add decryption function and all tests for enc 5 years ago
David Rupprecht 0841d837de Make ZUC state ful no global vars 5 years ago
David Rupprecht ef4cf7aa52 First ZUC working test case 5 years ago
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
5 years ago
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
5 years ago
Francisco Paisana c9d3b61038 added resumable procedures to make RRC and NAS non-blocking 5 years ago
Andre Puschmann e42449532b fix wrong namespace definition in various places 5 years ago
Pedro Alvarez 6efa944b5e Removed srslte prefix from pdcp_config_t 5 years ago
Pedro Alvarez 3da0391fff Adding default initializers to PDCP config. 5 years ago
Pedro Alvarez 494be243c0 Changed security direction to use an enum. 5 years ago
Pedro Alvarez f90b69e5f4 More clang-format for PDCP 5 years ago
Pedro Alvarez 491695ab77 Clang-formated PDCP NR PR. 5 years ago
Pedro Alvarez d3b6828082 Changed PDCP configuration to explicitly have tx and rx direction. Decrypt on PDCP NR seems fine. 5 years ago
Pedro Alvarez 73e30743d1 Added enum to PDCP config to replace two bools. 5 years ago
Pedro Alvarez 457f35699d Reverted back to a single config structure between PDCP NR and PDCP LTE. 5 years ago
Pedro Alvarez 9d0db108c6 Continue to add PDCP tx test 5 years ago
Pedro Alvarez 2081b22465 Added PDCP_SN_LEN constants. Added bearer_id and direction back to the pdcp_entity_base. 5 years ago
Pedro Alvarez 52f75c3cf2 Starting to add PDCP NR state variables. 5 years ago
Pedro Alvarez 1944bf9a80 Continue to split pdcp_entity_lte and pdcp_entity_nr. Compiling now. 5 years ago
Pedro Alvarez 005d03cb1a Starting to split pdcp_entity into pdcp_entity_lte and pdcp_entity_nr to support NR PDCP 5 years ago
Andre Puschmann 09610ce788 add type setter to sch_subh and use it for MCH PDUs 5 years ago
yagoda 408400bee6 adding fixes and tests for eMBMS 5 years ago
Andre Puschmann 9ee415ac82 correct the max size for a single TB
since the size in bits is counted per TB we don't need to allocate
space for the 2x2 MIMO case. Both CW have their own buffer.
5 years ago
Ismael Gomez c9c43e44e9 Fixed PDU buffer size 5 years ago
Pedro Alvarez 9597cc4c14 Clang-formated liblte_* 5 years ago
Andre Puschmann 4e86b2f6b2 introduce layerd architecture we use for UE to eNB
- this allows flexible use of different PHYs and radios
- use common radio_multi (moved to lib)
5 years ago
Andre Puschmann 92f0d58856 mac: move further init/config into ctor to allow early logging, etc. 5 years ago
Francisco Paisana b936629221 removed rrc asn1 header from bcd_helpers, from rlc_interface, and rlc tests 5 years ago
Francisco Paisana bb0dbf0f1c created a asn1 utils with helper functions and types related to the asn1. These types/functions will help isolate the rrc_asn1 lib from most of the layers, reducing this way the compile times, and leading to better isolation. This will also make the transition to NR smoother. I removed the asn1 types from the NAS and USIM interface so far. 5 years ago
Andre Puschmann 82a69fb51c mux: fix packing of short MAC PDUs 5 years ago
Andre Puschmann 4aaa0473b9 pdu: remove unused variable total_sdu_len 5 years ago
Andre Puschmann b6d7fd5def improve error handling in PDU packing 5 years ago
Andre Puschmann da35f41dd5 rework MAC logical channel prioritization 5 years ago
Andre Puschmann 414e55fafc pcap: add dtor
this fixes issue if object is destroyed and PCAP is still open
5 years ago
Pedro Alvarez d67d18cc6b Removing deplicated error codes. 5 years ago
Andre Puschmann e47010130f extend thread class to set unique thread name in ctor
this will also extend all classes that use srslte::thread
to specify the name of the thread in the ctor as well
as to set the name of the worker threads in the thread pool
the thread name will be displayed in gdb.
6 years ago
Andre Puschmann 0e95867f13 remove task dispatcher class 6 years ago
Andre Puschmann 709e769d0d pdu: fix formatting 6 years ago
Andre Puschmann ea2e692836 pdu: fix MAC RAR PDU packing and unpacking with backoff indicator 6 years ago
Francisco Paisana 00256f2cd9 fix the hanging in the UE during shutdown 6 years ago
Andre Puschmann 58b09c8677 fix pool_allocate macros for new unique_buffer 6 years ago
Andre Puschmann 65f50cd7ba introduce new UE layer design
- abstract UE object now consists of a radio, a PHY, and a stack layer
- add new stack abstraction layer that combines MAC, RLC, RRC, PDCP, NAS and GW
- PHY layer now has a single stack interface and does not talk to MAC and RRC seperatly
6 years ago
Francisco Paisana 0e3baa0f2f Renamed the reset() method of byte_buffer_t to clear() 6 years ago
Francisco Paisana 3bedc93ba5 added _t to unique_byte_buffer type 6 years ago
Francisco Paisana bc01a5ecda changed block_queue api to return back the unique buffer in case it fails to push it to the queue 6 years ago
Francisco Paisana f4aa03154d change queue read and other functions apis 6 years ago
Francisco Paisana f469e2178b replaced byte_buffer_t allocated by the buffer pool for unique_byte_buffer which is safer and easier to use 6 years ago
Francisco Paisana 0976ea6f27 created a unique byte buffer that automatically deallocates 6 years ago