426 Commits (cc0c091a392f3aa11754600dfeb4337954c2d4c6)

Author SHA1 Message Date
Ismael Gomez c2e9817f41 Possible solution to RLC Reestablishment 6 years ago
Ismael Gomez 14b526f2aa Add PDCP per-bearer reestablish 6 years ago
Andre Puschmann 3f613d7183 nas/gw/rrc: make LCID for DRB dynamic
- add interface to RRC to allow NAS to query the DRB for a given
  EPS bearer id
- extend interface for NAS to setup GW to also pass LCID of bearer
- in NAS, use this new interface to pass actual LCID of the default
  DRB when creating the TUN device
6 years ago
Xavier Arteaga 9ab2b2de81 SRSUE: Created delay channel emulator and added fading to the UE 6 years ago
Andre Puschmann 20c9f4687c remove duplicated code mac_cfg_t 6 years ago
Xavier Arteaga 7629863c5a SRSUE MAC: 36.331 v10 9.2.2 MAC main config defaults does not include RACH 6 years ago
Xavier Arteaga 080b4a327c SRSUE: Refactored asynchronous cell and ue_radio. CA Fixed. 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 3bedc93ba5 added _t to unique_byte_buffer type 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
Francisco Paisana 7be183c223 rework scheduler 6 years ago
Andre Puschmann e77adbe5a5 fix uninitialized members in ue_interface 6 years ago
Andre Puschmann 4b01a2e4a0 update copyright notice 6 years ago
Ismael Gomez 7780b1aba5 add tdd/ca support 6 years ago
David Rupprecht b84e49310e Enable encryption in reconfiguration and after security mode command (NOT TEST) 6 years ago
David Rupprecht eb3a83ac45 User Plane key in configuration interface 6 years ago
Pedro Alvarez ca603810ce Adding Downlink data notification and paging functionality to the EPC.
This entails:

  * Adding S1AP paging messaging to the MME.
  * Adding the Downlink Data Notification, Donlink Data Notification Acknoledgment, and Downlink Data Notification Failure Messages.
  * Adding the logic at the GTP-U to detect that Downlink Data notification needs to be sent.
  * Proper handling of the new GTP-C messages at the MME GTPC and SPGW GTPC classes
  * Add queuing mechanisms at the GTP-U while waiting for paging response. Queue is flushed when paging fails (timeout or other).
  * Make sure eNB's SCTP information is properly stored.
  * Make sure UE's GUTI information is properly stored.
6 years ago
Pedro Alvarez 1db959c661 Added NAS timer functionality to the EPC. This entails:
* Adding timer creation at NAS using timerfd_create
  * Adding the ability to add and remove the timer file descriptor to the MME main select loop
  * Adding the ability to the MME for the NAS to check if a timer is running
  * Adding the timer expiry handling functionality at the MME
6 years ago
Pedro Alvarez 5f7b6ba79e Split GTP-C and GTP-U functionality into seperate classes in the SPGW. Added GTP-U specific logging in the EPC. Added handle_s11_pdu function to both the MME GTP-C entity and the SPGW GTP-C entity. 6 years ago
Pedro Alvarez add60c1288 Applied clang-format to the EPC. 6 years ago
Francisco Paisana 0204db2e12 new asn1 rrc library 6 years ago
Andre Puschmann d6196ba234 simplify RRC-NAS interface and only have msg as param (RRC selects LCID) 6 years ago
Andre Puschmann c3441046c9 simplify RLC buffer status query procedures
- add a simple and low-overhead has_data() method to check whether
  an RLC entity has data to transmit or not
- use this method for all calls that are actually not interested
  in the amount of data to send
- use the more expensive get_buffer_state() for all cases where
  the actual size of the buffer is of importance
6 years ago
Pedro Alvarez dc727a192b Changing way UL NAS count is used to generate the K_enb. 6 years ago
Andre Puschmann db910cb84b add CSV metrics for eNB 6 years ago
Andre Puschmann 8a1368c8d6 send connection reject if MME isn't connected 6 years ago
Andre Puschmann 0af19b070c add function to query if RLC bearer exists to UE interface 6 years ago
Andre Puschmann 1ed225a10b add getter for IPv4 and IPv6 addresses 6 years ago
Pedro Alvarez 5c29dba741 Changed Interface between NAS and GW to avoid the GW start function being called twice in IPv4v6 mode. 6 years ago
Pedro Alvarez ac1c300126 Adding the ability to set the interface local link IPv6 address. 6 years ago
Pedro Alvarez 8dc029cc47 Merging next into NAS cleanup. 6 years ago
Andre Puschmann 184539b87d add LCID change API to UE interface, add method to reestablish single RLC bearer 6 years ago
Ismael Gomez bc9d342959
New optimization on the PHY for both UE and eNodeB (#251)
* New parallel Turbodecoder implementation in SSE/AVX 16-bit and 8-bit

* Optimised UL Interleaver

* Include TB CRC calculation in FEC encoder

* New threading priorities
6 years ago
Pedro Alvarez 0d80ae795b Added IMSI attach from unknown UE as a static function. 6 years ago
Pedro Alvarez 860e1b5491 Changing Handling of initial UE NAS messages to use static methods. Handling of unknown GUTI attach request should be ok. 6 years ago
Pedro Alvarez 93222f582c Changed authentication response to use downlink_nas_transport(). 6 years ago
Pedro Alvarez f6b8982939 Moved most of the GUTI attach to nas.cc. 6 years ago
Pedro Alvarez 7077530a29 Merge branch 'next' into nas_cleanup 6 years ago
Andre Puschmann f56592b0fe add getter for PDCP ul/dl counter 6 years ago
Andre Puschmann 91492b87ef add del_bearer for RLC/PDCP 6 years ago
Andre Puschmann 3b8371d090 add detach support (for switch off) 6 years ago
Andre Puschmann ee5b055829 rename pdcp function for GW to is_lcid_enabled() 7 years ago
Andre Puschmann b8438e9cc3 extend PDCP interface to allow non-blocking write of SDUs 7 years ago
Pedro Alvarez de8679b536 Continuing to cleanup. Starting to compile again. 7 years ago
Pedro Alvarez f03967776a Continuing to clean nas.cc 7 years ago
Pedro Alvarez b25c12a084 Fixing nas.cc 7 years ago
Pedro Alvarez 85672d4a3f Fixing up s1ap.cc 7 years ago
Pedro Alvarez 3663d59920 Starting to add s1ap_interface_gtpc and s1ap_interface_nas. Adapting send initial context setup request accordingly. 7 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
7 years ago
Ismael Gomez 8c92f3fddc
Improvements and fixes on srsENB scheduler (#228) 7 years ago
Pedro Alvarez 66db3deeb4 Starting to add Bearer QoS parameter to create session request. 7 years ago
Andre Puschmann 064d7bd2dc use original UE establishment cause in S1AP initial UE message 7 years ago
Ismael Gomez 6120f20290
Changes in RRC and S1AP to make enb more robust on UE add/rem operations.
* Consolidated functions in S1AP

* Fixed ASAN in some GCC

* Stop quicker the enb

* Minor typo edit

* Fixed mutexing issues in RRC and possibly RLC/PDCP when adding/removing users
7 years ago
Andre Puschmann 61d525ea80 Merge branch 'next' into embms_merge_final 7 years ago
Ismael Gomez 467ba4e326 Average sampling offset estimate before adjusting timing to be more robust against EVA and ETU fading 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 3fe6dad323 adding hard SIM card support using PCSC 7 years ago
Ismael Gomez ffb8337be7 Merge branch 'next' into sync_states 7 years ago
Xavier Arteaga 15173c5c30 Added gaussian filter configuration options in srsue.conf 7 years ago
Ismael Gomez edd9cbf4dc Merge branch 'next' into sync_states 7 years ago
David Rupprecht 06d4559294 Change include path absolut to project dir 7 years ago
David Rupprecht 9d71bec7b6 Unified include guards 7 years ago
Ismael Gomez b3be54b274 Attach and paging ok. Reselection on IDLE not working 7 years ago
Ismael Gomez f88f465c97 Refactored NAS/RRC/PHY cell_search/selection procedures 7 years ago
Ismael Gomez 86d4ce52e0 Make intra-frequency measurement period/length a parameter 7 years ago
Ismael Gomez f9d770e50e Added option for Doppler frequency correction 7 years ago
Ismael Gomez c2098ad626 Removed unused sample offset correction 7 years ago
Ismael Gomez 3adc6b5cbc
Merge pull request #158 from softwareradiosystems/csi
Csi
7 years ago
Ismael Gomez 13efa740e8 Changed logic in RRC/NAS/PHY for cell/plmn search to avoid stucking in IDLE 7 years ago
Ismael Gomez 90553e830d Fixed cell search for non-home PLMN 7 years ago
Ismael Gomez 91664ef2be Do sell reselection on IDLE by phch_recv thread instead of worker 7 years ago
Xavier Arteaga 8cabfa82cf Added CSI report enable option in SRS UE 7 years ago
Ismael Gomez cfaa5e9b28 Fix previous commit could not HO more than once due to not refreshing serving cell after 1st HO 7 years ago
Ismael Gomez 56df710d1f Add rx_gain_offset interface for RSRP calibration 7 years ago
Pedro Alvarez cc9845ef07 Merging HSS resynch functionality from David Rupprecht. Resolving conflict in user_db.csv. 7 years ago
Ismael Gomez a279ab47f0 Improved neighbour cell accuracy. Changed RRC to avoid segfault when neighbour cell addition 7 years ago
David Rupprecht 5db5399b2f Added HSS sync support (not tested) 7 years ago
David Rupprecht 3ead643c64 Introducing epc interfaces for hss and srsepc namespace 7 years ago
Andre Puschmann 74138071db move radio bearer definition to RRC 7 years ago
Ismael Gomez b0a2fa3b0b Merge branch 'enbmimo' into mob_crypto_mimo 7 years ago
Ismael Gomez 48dfc08fa3 Fixed SIC for PSS using channel estimates, added option to disable it (not usable on synchronous same-site cells). Use PSS CE in SSS decoding 7 years ago
Ismael Gomez 5c31800ccb Fixed HO with ciphering 7 years ago
Ismael Gomez 9a255b477a Merge branch 'crypto' into mobility_crypto 7 years ago
Paul Sutton 1a323770c9 Added support for AS ciphering 7 years ago
Ismael Gomez f1c6bcd252 Merge branch 'next' into mobility 7 years ago
Ismael Gomez dd8bacf466 Calibrated CFO loop default values 7 years ago
Paul Sutton 84724d2ab1 NAS-plane encryption working (thanks to David Rupprecht) 7 years ago
Ismael Gomez 3a0ab02264 S1/X2 handover tested and working 7 years ago
Ismael Gomez 8447c965e3 Fixing RSRP measurements 7 years ago
Ismael Gomez d428760b20 Merge branch 'next' into mobility 7 years ago
Ismael Gomez 408545dab8 X2 (constant NCC) working 7 years ago
Paul Sutton 4877c7ab07 Adding support for GUTI attach 7 years ago
Ismael Gomez 12d8b373c7 srsUE takes and reports intra-frequency measurements correctly 7 years ago
Xavier Arteaga 75957d41d7 Added DCI formats 2 and 2a inScheduler. Improved UE PHCH, corrected some MIMO bugs on both sides. 7 years ago
Xavier Arteaga 96a6d6ae9f Merge branch 'next' into enbmimo 7 years ago
Xavier Arteaga 6985682ef0 Added 2nd Codeword interface in scheduler, plus pmi close loop reporting 7 years ago
Xavier Arteaga af669a6cbb Added RI reporting in enb and optimised RI computing calling time 7 years ago
Ismael Gomez 85571c47cd Added option to ue.conf to configure CFO EMA (set default to 0.4) 7 years ago
Xavier Arteaga 21355de77e Added TM3 (1 layer only) eNB support at RRC 7 years ago
Ismael Gomez 1c677f7183 Read Home PLMN from IMSI 7 years ago
Ismael Gomez 2159ad3280 Added support for roaming PLMN 7 years ago
Paul Sutton 428e5955df Fix for SPGW address issue for GTP bearers - now using addresses from bearer setup requests
htonl fix
7 years ago
Ismael Gomez 92144ce15d Revert "Handle RRC ConnectionReject at eNodeB and UE"
This reverts commit b6f905e2df.
7 years ago
Ismael Gomez b6f905e2df Handle RRC ConnectionReject at eNodeB and UE 7 years ago
Ismael Gomez 4a86967530 Improved stability after radio link failure and radio transport error 7 years ago
Xavier Arteaga c29af35158 Solved bug: when a retransmission of a succesfully decoded block was received 7 years ago
Ismael Gomez 68b1782c86 Fixed Paging and reattachment in new state machine. Moved GW to srsue 7 years ago
Ismael Gomez 826667361e Reduced chances of uhd demuxer error. Reset device when it occurs 7 years ago
Xavier Arteaga 230eb63a97 Refactored grant: removed nof_tb from grant. Use tb_en instead. 7 years ago
Ismael Gomez b0639ab394 resolved merge conflicts 7 years ago
Ismael Gomez a51b6b09dd Merged with next. Attach successful 7 years ago
Ismael Gomez e5feec1934 Temporal commit before merge. Changed sequence objects to avoid reallocating memory. new NAS/RRC working with initial attachment 7 years ago
Ismael Gomez 955170bd52 Improved DL TCP performance by tweeking BSR reports and UL scheduler 7 years ago
Andre Puschmann 8030778809 fix PDCP initialization in eNB 8 years ago
Andre Puschmann 7ca0988ea3 refactor RLC to use RAT-agnostic config 8 years ago
Andre Puschmann 8dbabb2834 rework bearer/LCID handling
This is a larger patch that reworks the LCID handling throughout the
code.

- It first moves the RB/LCID mapping out of common.h into the RRC object
  because different RATs may have different mappings.
- It adds a interface to RRC that other objects like RLC/PDCP/etc. may
  use to get the bearer name of a specific LCID.
- The patch also introduces a PDCP config class.
8 years ago
Andre Puschmann cbfcb281a9 seperate RAT agnostic bits from various interfaces 8 years ago
Andre Puschmann c247f1103d parameterize TTI offset between UL grant and UL tx and UL tx and HARQ rx 8 years ago
Andre Puschmann 20a004a768 add seperate interface for MUX to query BSR procedure
- this is also intented to make MUX RAT-agnostic
8 years ago
Andre Puschmann 583aa2d180 move MAC structs shared between multiple RATs out RAT specific interface 8 years ago
Ismael Gomez 4b5cbafdb5 upgraded to new code restruct 8 years ago
Andre Puschmann 04ec09bd71 add license text to various files 8 years ago
Ismael Gomez 8a367bf825 changed srsue namespace to srslte for all common objects 8 years ago