462 Commits (76a3c0ed1c78cd17645e74cdc43e38bfadbf91db)

Author SHA1 Message Date
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
Andre Puschmann 62dad5e21d add nb-iot tag support to PCAP writer 6 years ago
Francisco Paisana 7be183c223 rework scheduler 6 years ago
Xavier Arteaga 2aa36dd11c Added backtrace print helper 6 years ago
Andre Puschmann fcd086a1c5 fix metrics_hub compilation for older gcc using std::chrono 6 years ago
Andre Puschmann 0f6997170b fix unitialized var in pdu.h 6 years ago
Francisco Paisana 1674c8939f automatically resolve invalid prach_offset for prb6 6 years ago
yagoda 3842beab0f - fixing pmch file test for standard LTE rates
- adding special value for MTCH stop
- adding error messages for config values incompatible with MBMS
6 years ago
Andre Puschmann 4b01a2e4a0 update copyright notice 6 years ago
Andre Puschmann 205db6f229 add missing license headers 6 years ago
Ismael Gomez 7780b1aba5 add tdd/ca support 6 years ago
Andre Puschmann afb591ee97 add ctor for worker class in thread_pool 6 years ago
Andre Puschmann c8f8c16d50
make EIA and EEA algorithms configurable (#323)
this patch allows to configure the EIA and EEA algorithms
the UE uses and announces during attach. They can
be specified as a comma-separated list.

The patch also removes a dedicated NAS config class and uses
the default nas_args_t type for this. There was a full
duplication of members before.

The patch also converts nas_args_t and usim_args_t into a class
with a default constructor that initialize all booleans.
6 years ago
Andre Puschmann 2e1b8240e6 fix uninitialized timeval struct in metrics_hub
This was causing issue in some builds done on the Ubuntu
PPA systems leading to an SIGILL when starting the UE/eNB
6 years ago
Andre Puschmann 77ca1d9882 load config file from user's home directory first before checking etc 6 years ago
Francisco Paisana 0204db2e12 new asn1 rrc library 6 years ago
Andre Puschmann c88cc35fdf try to load config files from /etc/srslte before checking users's home 6 years ago
Andre Puschmann df40259c26 fix issue in PDCP when bearer ID for DRBs was not starting with 1 6 years ago
Pedro Alvarez 25108e2e2b Added configuration options to UE for IPv6 PDN. Starting to send PDN connectivity requesting IPv6. 6 years ago
Andre Puschmann 3f36594f1e fix copy ctors in bit_buffer_t 6 years ago
Andre Puschmann 481a1829dd stop metrics hub thread before calling stop on listeners 6 years ago
Andre Puschmann 270707b7a8 add missing initialization in block_queue 6 years ago
Andre Puschmann 93d17fed3e disable buffer pool logging by default 6 years ago
Andre Puschmann bd6bb6903f fix block_queue pop and clear methods
- pop was bzero'ing the popped object which
  causes for more complex objects like std::string
- clear wasn't actually emptying the queue
6 years ago
Andre Puschmann e64de7ec6b increase maximum buffer size to accomodate max TBS for Cat4 UEs 6 years ago
Pedro Alvarez b577c9ac8c Merge branch 'mnc_plmn_217' into next 6 years ago
Andre Puschmann 1985d7b37c fix byte_buffer copy and assignment ctor 6 years ago
Andre Puschmann 07e42c1964 Merge branch 'rlc_am_subclass' into next 6 years ago
Pedro Alvarez c4a5af11d5 Fixed nibble order in mccmnc_to_plmn and plmn_to_mccmnc. Fixed corresponding PLMN test 6 years ago
Andre Puschmann c9186f110c add log_filter dtor 6 years ago
Pedro Alvarez 49c44a2bd4 Moved int_helpers to lib so that the EPC can use those functions too. 6 years ago
Andre Puschmann d981f129e0 Merge branch 'master' into next 6 years ago
Andre Puschmann adbec3ee70 fix warning in common.h reported by clang-tidy 6 years ago
Andre Puschmann 2ef2baf72a increase size of buffer_pool
- This solves an issue where in the worst-case an RLC AM instance would
  block because no new data nor control PDUs could be created to flush
  the buffers, effectivly causing a system stall.
- Happens in RLC AM stress test regularly with higher drop rates.
6 years ago
David Rupprecht bf4c84ef7b Fixed clear function in blocked queue (#199) 6 years ago
Andre Puschmann be3b2fbc08
Merge pull request #239 from softwareradiosystems/epc_stacktrace
Epc stacktrace
6 years ago
Pedro Alvarez 84e7925f69 Fixed up a comment. 6 years ago
Pedro Alvarez 597cf18b9d Changing common/debug.h to crash_handler.h 6 years ago
Andre Puschmann 291d80119c fix conflicts after merging 6 years ago
Ismael Gomez 3f38165827 Add log to pool deallocate 6 years ago
Ismael Gomez 2d5cdc4f35 Add log to pool deallocate 6 years ago
Ismael Gomez 5474f6d55f Add log to pool deallocate 6 years ago
Andre Puschmann 936001aaf5 add blocking allocation to buffer_pool 6 years ago
Pedro Alvarez c3ef88e112 Fixing conflicts with next. 6 years ago
Andre Puschmann 4c59f52f9a
Merge pull request #237 from softwareradiosystems/epc_pcap
Epc pcap
6 years ago
Ismael Gomez bd5c1fd83a deallocate dedicatedInfoNAS in rrc 6 years ago
Ismael Gomez 074db8478c deallocate dedicatedInfoNAS in rrc 6 years ago
Pedro Alvarez bd43b6e937 Cleanup comment. 6 years ago
Pedro Alvarez ff49e56871 Starting to add s1ap_pcap class. 6 years ago
Pedro Alvarez 96786e96da Splitting the lib debug into phy and common debug. 6 years ago
Ismael Gomez 493706eab1 Incorrect default value in buffer pool 6 years ago
Ismael Gomez a2615628aa Increase buffer pool size for enb 6 years ago
Andre Puschmann 355330dab9
Merge pull request #234 from softwareradiosystems/log_fix
Log fix
6 years ago
Ismael Gomez 589e569ce9
Changes on srsENB mutexing logic to fix general race condition and deadlock issues (#229)
* fixed some issues with the UL scheduling

* Hack to fix UL scheduler

* minor fix

* Cleaned up code and fixed issue with the update_allocation function

* fixed the console printing in the enb

* log/console fix

* fixed the log print

* added a normalization factor

* RLC: entity uses dynamic instances. Simplified stop/reset/reestablish procedure. Added non-blocking interface

* Limit decimals in metrics stdout

* Changed mutexes to rwlock in RLC/RRC/MAC/PDCP to fix race conditions when removing users

* Fix deadlock bug for MIMO

* Remove headers

* Fix missing unlock causing overflows

* Do not decrease CQI when PUCCH (this is a temporal fix, requires to reduce the maximum MCS)

* Fix mutex unlock in worker

* Configurable RLC tx buffer. Default to 512 for enodeb

* Check NULL SDU in write_sdu()

* Protect RLC objects and tx_queue from being destroyed while using it

* Remove superfluous code

* Disable SIB logging

* Fix block_queue for enb
6 years ago
Andre Puschmann 87fd218c72 remove unused cond variable in logger 6 years ago
Andre Puschmann 4deb251071 remove duplicate run-state variable in logger_file 6 years ago
Andre Puschmann 05ede38ea6 remove obsolte config.h 6 years ago
Pedro Alvarez f301bb6373 Merging next into op_vs_opc and resolving conflicts. 6 years ago
Andre Puschmann 01f6395d70 add option to force IMSI attach by not loading NAS ctxt from file 6 years ago
Pedro Alvarez 75c5e476f1 Added OPc option to UE. (needs testing.) 6 years ago
Pedro Alvarez 02bc1c9956 Revert "Starting to add OP/OPc support."
This reverts commit 1766e11076.
6 years ago
Pedro Alvarez e3d1cff4a3 Revert "Adding OPc option to security functions."
This reverts commit 0eeb70bede.
6 years ago
Pedro Alvarez 0eeb70bede Adding OPc option to security functions. 6 years ago
Pedro Alvarez 1766e11076 Starting to add OP/OPc support. 6 years ago
Ismael Gomez 67e90d5a9b Code style: Use { } even in 1-line if 7 years ago
Ismael Gomez 863fe4fcd0 Revert "check in SRSLTE_CONFIG_DIR for configs by default"
This reverts commit fb77cb87ca.
7 years ago
Andre Puschmann fb77cb87ca check in SRSLTE_CONFIG_DIR for configs by default 7 years ago
Andre Puschmann 36c650399b rework app startup to search for config files in user's home directory 7 years ago
Ismael Gomez 0a2e9d7b8b Do not reset metrics in the hub 7 years ago
Andre Puschmann cb15dee3d4 Merge branch 'embms_merge_final' into next 7 years ago
yagoda 54bdfd83ec adding support for mbsfn subframe configuration to pdsch examples 7 years ago
Ismael Gomez 4662b83fe9 Use bzero instead of {} for initializing structs 7 years ago
Andre Puschmann 61d525ea80 Merge branch 'next' into embms_merge_final 7 years ago
Andre Puschmann 234ec178b2 cleanup pdu.h 7 years ago
Ismael Gomez bad007cdd9 Increase/decrease nbytes counter inside mutexed queue 7 years ago
Andre Puschmann 9ca2b89282 fixing compile warnings 7 years ago
Andre Puschmann 9ce3be974a Merge branch 'next' into embms_merge_final 7 years ago
yagoda e4c3f0bc30 adding mbms-gw and mch generation tables 7 years ago
yagoda ec918eab76 adding support for embms in common functions and interfaces 7 years ago
Andre Puschmann a30ad8952c fix indent and simplify auth request packing 7 years ago
Andre Puschmann d0457211ad adding support for CHAP auth 7 years ago
Andre Puschmann 51e093e611 Merge branch 'next' into rlc_updates 7 years ago
Ismael Gomez 040c33497d merged PR#189 and added check for non-empty queue in get size tail 7 years ago
Ismael Gomez 4515dd94ea Use blocking queue for RRC measurement fixes #193 7 years ago
Ismael Gomez 04609cd07d Check msg_queue size_tail_bytes existence of buffer 7 years ago
Ismael Gomez ba40a4de84 Add checks for when RLC TM queue is corrupted and reset it 7 years ago
Ismael Gomez f3f4528a2f Testing commit to force a Reestablishment 1s after CONNECT 7 years ago
Andre Puschmann 85028d2aed use pretty function name in buffer_pool debug
- this avoids ambiguity between names, for example
  in reassemble_rx_sdus() for rlc_am an rlc_um
7 years ago
Andre Puschmann 718a15608c dealloc SCH pdu in MAC instead of pdu_queue
- this is basically e9fcb10c9e
  but with the counterpart in the eNB's MAC
7 years ago
Andre Puschmann 595ed70cae Revert "Deallocate SCH pdu on demux instead of pdu_queue"
This reverts commit e9fcb10c9e.
7 years ago
Andre Puschmann 05696a5ca7 Merge branch 'next' into rlc_updates 7 years ago
Ismael Gomez e9fcb10c9e Deallocate SCH pdu on demux instead of pdu_queue 7 years ago
Ismael Gomez aa1724b8f3 Add missing-field-initializers flag and properly initialize structs 7 years ago
Joseph Giovatto ab1d9e98f3 Format and typelimit warnings (#169)
* merge with origin 4fc7dbc3 8daa8346

* fixed whitespace diff

* added .gitignore

* added format warning flags to C_FLAGS
added typelimit check to C_FLAGS and CXX_CLAGS

* Revert "added format warning flags to C_FLAGS"

Apply to branch format_and_typelimt branch

This reverts commit bf7467e82e.

* check for format warnings to top level C_FLAGS
added typelimit warnings to top level C_FLAGS and CXX_FLAGS
beset effort attempt to remedy warnings
removed unused param names in hex_log baseclass methods due to multitude of unused-warnings
7 years ago
Andre Puschmann a2f6166365 Merge branch 'next' into rlc_updates 7 years ago
Andre Puschmann d8bfd2713c initialize byte_buffer content in ctors 7 years ago
Ismael Gomez b237d6063e Align header buffer to 8-byte boundary as expected by S1AP pack/unpack functions 7 years ago
Ismael Gomez ab78eb6d58 Process BCCH from pdu_process thread. Process PCCH from new thread in RRC 7 years ago
Ismael Gomez edd9cbf4dc Merge branch 'next' into sync_states 7 years ago
Andre Puschmann b298d3d3f9 add missing const keyword to log_filter's members 7 years ago
Andre Puschmann e76fe75c22 add missing const keyword to log_filter's members 7 years ago
Andre Puschmann 61a24cbd4a Merge branch 'next' into rlc_updates 7 years ago