Commit Graph

279 Commits

Author SHA1 Message Date
Andre Puschmann da35f41dd5 rework MAC logical channel prioritization 2019-06-26 17:57:25 +02:00
Andre Puschmann 414e55fafc pcap: add dtor
this fixes issue if object is destroyed and PCAP is still open
2019-06-18 20:50:23 +02:00
Pedro Alvarez d67d18cc6b Removing deplicated error codes. 2019-06-07 13:51:56 +02:00
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.
2019-06-03 15:03:20 +02:00
Andre Puschmann 0e95867f13 remove task dispatcher class 2019-06-03 15:03:20 +02:00
Andre Puschmann 709e769d0d pdu: fix formatting 2019-05-30 13:06:42 +02:00
Andre Puschmann ea2e692836 pdu: fix MAC RAR PDU packing and unpacking with backoff indicator 2019-05-30 13:06:42 +02:00
Francisco Paisana 00256f2cd9 fix the hanging in the UE during shutdown 2019-05-24 17:08:14 +02:00
Andre Puschmann 58b09c8677 fix pool_allocate macros for new unique_buffer 2019-05-20 17:16:12 +02:00
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
2019-05-17 17:46:28 +02:00
Francisco Paisana 0e3baa0f2f Renamed the reset() method of byte_buffer_t to clear() 2019-05-16 12:35:01 +02:00
Francisco Paisana 3bedc93ba5 added _t to unique_byte_buffer type 2019-05-16 12:35:01 +02:00
Francisco Paisana bc01a5ecda changed block_queue api to return back the unique buffer in case it fails to push it to the queue 2019-05-16 12:35:01 +02:00
Francisco Paisana f4aa03154d change queue read and other functions apis 2019-05-16 12:35:01 +02:00
Francisco Paisana f469e2178b replaced byte_buffer_t allocated by the buffer pool for unique_byte_buffer which is safer and easier to use 2019-05-16 12:35:01 +02:00
Francisco Paisana 0976ea6f27 created a unique byte buffer that automatically deallocates 2019-05-16 12:35:01 +02:00
Andre Puschmann 62dad5e21d add nb-iot tag support to PCAP writer 2019-05-16 12:32:36 +02:00
Francisco Paisana 7be183c223 rework scheduler 2019-05-14 22:34:50 +02:00
Xavier Arteaga 2aa36dd11c Added backtrace print helper 2019-05-14 22:32:07 +02:00
Andre Puschmann fcd086a1c5 fix metrics_hub compilation for older gcc using std::chrono 2019-05-10 13:49:42 +02:00
Andre Puschmann 0f6997170b fix unitialized var in pdu.h 2019-05-10 12:01:03 +02:00
Francisco Paisana 1674c8939f automatically resolve invalid prach_offset for prb6 2019-04-29 15:53:59 +02:00
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
2019-04-29 12:04:42 +02:00
Andre Puschmann 4b01a2e4a0 update copyright notice 2019-04-29 09:20:02 +02:00
Andre Puschmann 205db6f229 add missing license headers 2019-04-26 21:20:12 +02:00
Ismael Gomez 7780b1aba5 add tdd/ca support 2019-04-25 20:57:58 +02:00
Andre Puschmann afb591ee97 add ctor for worker class in thread_pool 2019-02-20 16:14:48 +01:00
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.
2019-02-08 22:37:16 +01:00
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
2019-01-22 12:23:24 +01:00
Andre Puschmann 77ca1d9882 load config file from user's home directory first before checking etc 2019-01-22 12:09:52 +01:00
Francisco Paisana 0204db2e12 new asn1 rrc library 2019-01-17 17:43:13 +01:00
Andre Puschmann c88cc35fdf try to load config files from /etc/srslte before checking users's home 2018-12-11 17:40:48 +01:00
Andre Puschmann df40259c26 fix issue in PDCP when bearer ID for DRBs was not starting with 1 2018-12-10 16:58:08 +01:00
Pedro Alvarez 25108e2e2b Added configuration options to UE for IPv6 PDN. Starting to send PDN connectivity requesting IPv6. 2018-10-26 11:42:27 +02:00
Andre Puschmann 3f36594f1e fix copy ctors in bit_buffer_t 2018-10-17 14:44:58 +02:00
Andre Puschmann 481a1829dd stop metrics hub thread before calling stop on listeners 2018-10-15 11:01:59 +02:00
Andre Puschmann 270707b7a8 add missing initialization in block_queue 2018-10-15 09:39:21 +02:00
Andre Puschmann 93d17fed3e disable buffer pool logging by default 2018-10-10 16:29:57 +02:00
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
2018-10-03 10:29:56 +02:00
Andre Puschmann e64de7ec6b increase maximum buffer size to accomodate max TBS for Cat4 UEs 2018-09-26 16:59:11 +02:00
Pedro Alvarez b577c9ac8c Merge branch 'mnc_plmn_217' into next 2018-09-25 17:24:30 +01:00
Andre Puschmann 1985d7b37c fix byte_buffer copy and assignment ctor 2018-09-25 17:26:12 +02:00
Andre Puschmann 07e42c1964 Merge branch 'rlc_am_subclass' into next 2018-09-25 16:08:29 +02:00
Pedro Alvarez c4a5af11d5 Fixed nibble order in mccmnc_to_plmn and plmn_to_mccmnc. Fixed corresponding PLMN test 2018-09-25 14:55:12 +01:00
Andre Puschmann c9186f110c add log_filter dtor 2018-09-25 10:45:15 +02:00
Pedro Alvarez 49c44a2bd4 Moved int_helpers to lib so that the EPC can use those functions too. 2018-09-24 14:08:00 +01:00
Andre Puschmann d981f129e0 Merge branch 'master' into next 2018-09-20 12:54:05 +02:00
Andre Puschmann adbec3ee70 fix warning in common.h reported by clang-tidy 2018-09-13 17:12:32 +02:00
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.
2018-07-30 15:11:31 +02:00
David Rupprecht bf4c84ef7b Fixed clear function in blocked queue (#199) 2018-07-25 09:54:22 +02:00
Andre Puschmann be3b2fbc08
Merge pull request #239 from softwareradiosystems/epc_stacktrace
Epc stacktrace
2018-07-13 14:28:13 +02:00
Pedro Alvarez 84e7925f69 Fixed up a comment. 2018-07-13 12:06:27 +01:00
Pedro Alvarez 597cf18b9d Changing common/debug.h to crash_handler.h 2018-07-13 11:57:15 +01:00
Andre Puschmann 291d80119c fix conflicts after merging 2018-07-13 12:42:54 +02:00
Ismael Gomez 3f38165827 Add log to pool deallocate 2018-07-12 18:41:25 +02:00
Ismael Gomez 2d5cdc4f35 Add log to pool deallocate 2018-07-12 18:13:27 +02:00
Ismael Gomez 5474f6d55f Add log to pool deallocate 2018-07-12 18:13:19 +02:00
Andre Puschmann 936001aaf5 add blocking allocation to buffer_pool 2018-07-12 17:52:53 +02:00
Pedro Alvarez c3ef88e112 Fixing conflicts with next. 2018-07-12 15:43:27 +01:00
Andre Puschmann 4c59f52f9a
Merge pull request #237 from softwareradiosystems/epc_pcap
Epc pcap
2018-07-12 16:00:31 +02:00
Ismael Gomez bd5c1fd83a deallocate dedicatedInfoNAS in rrc 2018-07-11 12:56:14 +02:00
Ismael Gomez 074db8478c deallocate dedicatedInfoNAS in rrc 2018-07-10 19:52:46 +02:00
Pedro Alvarez bd43b6e937 Cleanup comment. 2018-07-10 15:56:57 +01:00
Pedro Alvarez ff49e56871 Starting to add s1ap_pcap class. 2018-07-09 18:25:43 +01:00
Pedro Alvarez 96786e96da Splitting the lib debug into phy and common debug. 2018-07-09 13:15:35 +01:00
Ismael Gomez 493706eab1 Incorrect default value in buffer pool 2018-07-06 16:20:15 +02:00
Ismael Gomez a2615628aa Increase buffer pool size for enb 2018-07-06 15:30:51 +02:00
Andre Puschmann 355330dab9
Merge pull request #234 from softwareradiosystems/log_fix
Log fix
2018-07-06 13:07:55 +02:00
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
2018-07-05 11:00:19 +02:00
Andre Puschmann 87fd218c72 remove unused cond variable in logger 2018-07-03 13:17:48 +02:00
Andre Puschmann 4deb251071 remove duplicate run-state variable in logger_file 2018-07-03 13:09:43 +02:00
Andre Puschmann 05ede38ea6 remove obsolte config.h 2018-06-29 15:31:34 +02:00
Pedro Alvarez f301bb6373 Merging next into op_vs_opc and resolving conflicts. 2018-06-26 11:36:40 +01:00
Andre Puschmann 01f6395d70 add option to force IMSI attach by not loading NAS ctxt from file 2018-06-19 14:23:47 +02:00
Pedro Alvarez 75c5e476f1 Added OPc option to UE. (needs testing.) 2018-06-18 15:19:04 +01:00
Pedro Alvarez 02bc1c9956 Revert "Starting to add OP/OPc support."
This reverts commit 1766e11076.
2018-06-18 11:34:45 +01:00
Pedro Alvarez e3d1cff4a3 Revert "Adding OPc option to security functions."
This reverts commit 0eeb70bede.
2018-06-18 11:29:40 +01:00
Pedro Alvarez 0eeb70bede Adding OPc option to security functions. 2018-06-18 11:24:35 +01:00
Pedro Alvarez 1766e11076 Starting to add OP/OPc support. 2018-06-15 13:28:23 +01:00
Ismael Gomez 67e90d5a9b Code style: Use { } even in 1-line if 2018-06-04 18:38:18 +02:00
Ismael Gomez 863fe4fcd0 Revert "check in SRSLTE_CONFIG_DIR for configs by default"
This reverts commit fb77cb87ca.
2018-06-04 17:36:59 +02:00
Andre Puschmann fb77cb87ca check in SRSLTE_CONFIG_DIR for configs by default 2018-06-04 15:01:16 +02:00
Andre Puschmann 36c650399b rework app startup to search for config files in user's home directory 2018-06-01 15:33:15 +02:00
Ismael Gomez 0a2e9d7b8b Do not reset metrics in the hub 2018-05-31 15:32:01 +02:00
Andre Puschmann cb15dee3d4 Merge branch 'embms_merge_final' into next 2018-05-23 21:25:37 +02:00
yagoda 54bdfd83ec adding support for mbsfn subframe configuration to pdsch examples 2018-05-22 16:03:25 +02:00
Ismael Gomez 4662b83fe9 Use bzero instead of {} for initializing structs 2018-05-22 15:14:03 +02:00
Andre Puschmann 61d525ea80 Merge branch 'next' into embms_merge_final 2018-05-22 10:39:05 +02:00
Andre Puschmann 234ec178b2 cleanup pdu.h 2018-05-22 10:28:50 +02:00
Ismael Gomez bad007cdd9 Increase/decrease nbytes counter inside mutexed queue 2018-05-21 23:24:55 +02:00
Andre Puschmann 9ca2b89282 fixing compile warnings 2018-05-17 17:27:44 +02:00
Andre Puschmann 9ce3be974a Merge branch 'next' into embms_merge_final 2018-05-15 22:32:56 +02:00
yagoda e4c3f0bc30 adding mbms-gw and mch generation tables 2018-05-15 17:27:10 +02:00
yagoda ec918eab76 adding support for embms in common functions and interfaces 2018-05-15 16:50:57 +02:00
Andre Puschmann a30ad8952c fix indent and simplify auth request packing 2018-05-15 12:40:29 +02:00
Andre Puschmann d0457211ad adding support for CHAP auth 2018-05-15 12:40:29 +02:00
Andre Puschmann 51e093e611 Merge branch 'next' into rlc_updates 2018-05-11 15:55:03 +02:00
Ismael Gomez 040c33497d merged PR#189 and added check for non-empty queue in get size tail 2018-05-10 21:32:32 -05:00
Ismael Gomez 4515dd94ea Use blocking queue for RRC measurement fixes #193 2018-05-10 13:41:21 -05:00
Ismael Gomez 04609cd07d Check msg_queue size_tail_bytes existence of buffer 2018-05-10 13:41:17 -05:00