Commit Graph

43 Commits

Author SHA1 Message Date
Andre Puschmann 167200f5cd rrc_bearer_cfg: replace fixed E-RAB to DRB mapping
also make sure we don't assign LCIDs beyond the possible
number.

possible fix for https://github.com/srsran/srsRAN/issues/658

Co-authored-by: herlesupreeth <herlesupreeth@gmail.com>
Co-authored-by: Francisco <francisco.paisana@softwareradiosystems.com>
2021-05-17 15:17:27 +02:00
Francisco 1677abce8d create typedef for circular map of rntis. check return of gtpu ue creation 2021-05-07 10:58:04 +01:00
Francisco c6b9c12ba2 gtpu, feature - added the ability to configure gtpu indirect tunnel timeout value. This parameter is useful in the case that the end marker is not received 2021-05-06 18:07:20 +01:00
Francisco 685c971dc2 fix recursive call to get rb name 2021-04-12 13:21:43 +01:00
Francisco 60d5c6df7b implementation of memory pool with individual memory blocks per UE that get accessed via their rnti 2021-04-09 12:54:22 +01:00
Francisco bb9601c13b gtpu - fix gptu manager members destruction order 2021-04-07 22:26:42 +01:00
Francisco 046633674a refactor - removal of stack-gtpu interface, and use of socket manager interface instead 2021-04-02 11:42:50 +01:00
Francisco 5eccfad05b gtpu - added comments, updated expected construct, handled in rrc the case a gtpu teid fails to allocate 2021-03-29 10:20:55 +01:00
Francisco 82b34f3b3f gtpu refactor - fix gtpu logging formatting 2021-03-29 10:20:55 +01:00
Francisco 44440cf562 gtpu refactor - use of raii to automatic path switch and teid removal in forwarding. Clean up of gtpu_tunnel_manager methods. 2021-03-29 10:20:55 +01:00
Francisco ab2bd9a2d2 gtpu refactor - handle dl path state activation internally in gtpu tunnel manager class 2021-03-29 10:20:55 +01:00
Francisco cfd24f6a0e gtpu - leverage byte_buffer_pool to store buffered sdus in gtpu 2021-03-29 10:20:55 +01:00
Francisco bdc5094e17 gtpu - added unit test for gtpu_tunnel_manager class 2021-03-29 10:20:55 +01:00
Francisco c201eb7708 use of more space efficient sorted vector structure for lcid tunnels of a rnti 2021-03-29 10:20:55 +01:00
Francisco eba0edea4a creation of static id obj pool class. Application of this class to gtpu tunnels container to avoid allocations 2021-03-29 10:20:55 +01:00
Francisco 3cf5e85b20 create separate class to handle gtpu tunnel creation/deletion/search 2021-03-29 10:20:55 +01:00
Francisco 099a533573 bugfix - verify that TEID exists before trying to access it 2021-03-29 10:20:55 +01:00
Codebot 4523ee6087 rename srsLTE to srsRAN 2021-03-21 21:47:01 +01:00
Francisco a540c56552 gtpu bugfix - avoid erasing indirect tunnel and causing iterator invalidation while iterating list of tunnels 2021-03-19 13:43:21 +00:00
Francisco 977c194cbc gtpu,bugfix - handle the case when gtpu fails to allocate buffer for end marker. Also, added a timer that when expired, it autoremoves the GTPU handover tunnel 2021-03-19 13:43:21 +00:00
Francisco 3e9f93eb8a refactor - remove old log_filter and logmap libraries from the codebase 2021-03-11 20:10:54 +00:00
Francisco 4b09507c19 remove srslte.h includes from upper layers 2021-02-26 16:44:57 +01:00
Francisco 23459dee28 Created enb_{rlc/pdcp/gtpu/phy_interfaces.h files. 2021-02-12 16:36:50 +01:00
faluco 6359a2d948 - Upgrade the gtpu class in lib dir to srslog.
- Propagate old log elimination through all the dependencies of gtpu.
2021-02-11 14:37:27 +01:00
Francisco 3265d940ec remove byte buffer pool cached member variables as they are unnecessary now. 2021-02-07 18:48:21 +00:00
Francisco c4a50b7de0 avoid loss of pdcp sdus' SNs buffered in gtpu during handover 2021-02-03 17:20:07 +00:00
Francisco 78d1b8083a fix GTPU tunneling. Avoid forwarding packets to PDCP while the PDCP bearer is not yet created 2021-02-03 17:20:07 +00:00
Francisco ec14a6e50b verify correctness of input to gtpu::write_pdu 2021-02-02 21:37:18 +00:00
Francisco 411946c752 Improvements on GTPU message logging
- Avoid multiple lines per each SDU Rx or Tx
- log info relative to source and destination of each SDU
- log info relative to whether the Rx SDU has been forwarded into a tunnel
- log info relative to whether the Rx SDUs are being buffered.
2021-02-02 21:37:18 +00:00
Francisco 56ec2c286e add gtpu test for tunneling 2021-01-29 17:22:58 +00:00
Francisco 13649e4e19 Implement new GTPU functionality:
- multiple tunnels per E-RAB
- data forwarding between connected GTPU tunnels
- forwarding GTPU End Marker between connected tunnels
- TeNB GTPU handles in-sequence delivery when multiple tunnels for the same ERAB exist.
2021-01-29 17:22:58 +00:00
faluco 711438f756
Port enb specific classes to use srslog (#2155)
* - Started porting the enb PHY layer to use srslog loggers.
- Updated srslog to manage the none level.

* Finished porting enb phy layer including the NR part.

* Ported MAC, GTPU, PDCP, RLC and S1AP enb classes to use srslog.

* Use new stack logger.

* Ported the enb RRC clases to use srslog.

* Remove unused log macros.

* Replace loggers in sched, sched_carrier, sched_helpers.

* Replaced loggers in sched grid.

* Replaced loggers in sched harq.

* Replaced loggers in sched ue.

* Replaced loggers in sched ue ctrl.

* Replace loggers in sched ue ctrl TPC.

* Replaced loggers in sched subclasses.

* Replaced loggers in rrc_meascfg_test

* Configure loggers in rrc_mobility_test.

* Fix compilation errors left out after the rebase.

* - Implement a custom log sink that will serve as a test spy to intercept and count the number of error and warning log entries.
- Adapt the erab_test_setup and rrc_mobility tests to use this new class and make them pass again.

* - Remove trailing new lines introduced in the rebase.
- Ported the sched_ue_cell class to srslog.

* Remove unused log member.

* Ported mac tests to srslog.

* - Removed remaining trailing newlines from log entries.

* Fix compiler errors detected in CI.

* Fix another static variable without definition passed to log lines.

* Fixed a bug in srslog::flush that would never end when the backend queue is full.

* Fetch the RRC logger instead of injecting it in the constructor.
2021-01-28 12:17:18 +01:00
Pedro Alvarez 235f373af7 Started to add ability to send error indication when G-PDU from invalid TEID is received. 2020-12-12 15:59:26 +01:00
Andre Puschmann 07d2bc4fe8 change license header to agnostic version with hint to root LICENSE file 2020-12-12 15:59:25 +01:00
Pedro Alvarez 960c0e97cd Added handling of RRC re-establishment to srsENB.
* Added the appropriate code for handling and sending the
   re-establishment procedure messages to rrc_ue.c/.h.
 * Triggered RRC reconfiguration after the reception of RRC
   re-establishment complete
 * Refreshed K_eNB at the reception of re-establishment
   request
 * Changed the mapping of TEIDs to RNTIs in the GTP-U layer,
   as the RNTI might change with reestablishment.
2020-06-02 11:19:17 +01:00
Andre Puschmann b994255b35 enb: fix handling of GTPU and S1AP init return values
if the eNB stack startup fails, for example due to binding
the wrong GTPU socket or similar issues, the eNB should stop
and log a message. Previously the return values for
S1AP and GTPU init were not even evaluated.
2020-04-10 14:58:36 +02:00
Francisco Paisana 344eaf49ec use logmap in the whole enb and ue 2020-03-25 15:50:30 +00:00
Xavier Arteaga e832769ae6 Updated copyright 2020-03-16 11:26:06 +01:00
Francisco Paisana 77f63f7bcd removed gtpu mutex 2019-11-20 15:52:21 +00:00
Francisco Paisana e8487211e4 changed the naming of mch to m1u in the gtpu class 2019-11-20 10:34:35 +00:00
Francisco Paisana 2512e0fd79 removed thread from GTPU MCH 2019-11-20 10:34:35 +00:00
Francisco Paisana 1400777639 removed 1st thread from GTPU 2019-11-20 10:34:35 +00:00
Francisco Paisana 415d3418b6 reorganized enb to mirror ue director/class structure with a stack class 2019-06-07 15:41:56 +02:00