480 Commits (2f958629323a6b73f9596190b4cedee55594a0b7)

Author SHA1 Message Date
Francisco 2f95862932 move tx payload buffers of mac::ue to separate cc buffer handler class 4 years ago
Francisco 9eb46cc134 fixed clang tidy warnings in mac::ue.cc 4 years ago
Xavier Arteaga 1e55d68b55 Removed set RNTI from API 4 years ago
Francisco 4b09507c19 remove srslte.h includes from upper layers 4 years ago
Francisco b8bd869d0f move ue rlc interfaces to separate interfaces header file 4 years ago
Francisco a988351f46 move ue pdcp interfaces to separate interfaces header file 4 years ago
Francisco ea04104e8e move ue gw interfaces to separate interfaces header file 4 years ago
faluco 2328011732 - Remove old loggers in ttcn3 and in NR. 4 years ago
Andre Puschmann 46d8ed8742 enb,rrc: delay UE release after RLC maxRetx
this fixes the eNB behaviour when RLC signals maxRetx reached.
By directly releasing the UE, we ignore the fact that the UE
could still have the reestablishment counters running, so
could attempt a reestablishment, which would result in a reject
because we would have destroyed the UE context too early.

this patch delays the removal of the UE to wait at least
until the reestablishment timers are expired.
4 years ago
Pedro Alvarez 976b5c12c1
Releasing the UE when max retransmissions are reached in the RLC. (#2385) 4 years ago
Pedro Alvarez d8f3878ce1
RLC failure to deliver notifications and discard timer limits to 1500ms (#2368)
* Added interfaces for the RLC to notify the PDCP of failure to transmit
SDU

* Limit discard timer to 1500ms, to avoid issues of lingering SDUs in the undeliverd_sdus_queue.

* Fix bug in early exit of notify_delivery and notify_failure

* fix compilation issue in rlc-pdcp notification

Co-authored-by: Francisco <francisco.paisana@softwareradiosystems.com>
4 years ago
Francisco 6404722b4b convert qci_cfg in srsenb to std::map to allow qci values above 10 4 years ago
Francisco 9a9ed01dda rename pdcch_sched to sf_cch_allocator 4 years ago
Pedro Alvarez 6ecd6e273c Make sure that the status report is sent in RLF and PDCP reestablishment triggered by Handover 4 years ago
faluco a940e169a3 Add the enb_cc_idx value to S1 events. 4 years ago
faluco a4605883f0 Implement second revision of the events and metrics document. 4 years ago
Pedro Alvarez cfd94441a5 Added metrics to srsenb PDCP 4 years ago
Francisco 9546634b37 use unique_ptr for sched_ue database in scheduler. This will minimize the time spent locking while adding new users 4 years ago
Francisco c1adaec038 refactored cce position table structs 4 years ago
Francisco 823da24a8e removed uneeded sched method to set sched algorithm, and made configured flag atomic 4 years ago
Francisco 6b3cf6c597 moved pdcch sched to separate file 4 years ago
Pedro Alvarez b0fe302f8e Added interfaces so the upper layers can trigger the PDCP status report. Added ability to the UE to send Status Report aftre reestablishment. 4 years ago
Francisco a4423ff690 sched: fix compilation issue for gcc4.8 4 years ago
Francisco a7f4dfab2c sched: added checks for localized RBG assignment in case of DCI format1A 4 years ago
Francisco Paisana 34d4dc3974 set DCI format 1A while RRC setup/reestablishment/reconfiguration is on-going 4 years ago
Francisco Paisana c40ad81a90 cleanup s1ap methods. remove hard coded erab list in s1ap handover required message. 4 years ago
Francisco 23459dee28 Created enb_{rlc/pdcp/gtpu/phy_interfaces.h files. 4 years ago
Francisco 43e57df00b breaking enb_interfaces.h into multiple files on a layer basis. Created enb_rrc_interfaces.h, enb_mac_interfaces.h and enb_s1ap_interfaces.h 4 years ago
faluco 6359a2d948 - Upgrade the gtpu class in lib dir to srslog.
- Propagate old log elimination through all the dependencies of gtpu.
4 years ago
Francisco 3265d940ec remove byte buffer pool cached member variables as they are unnecessary now. 4 years ago
Pedro Alvarez de90b4753f Added the ability of the RLC AM to notify the PDCP of the acknowledged
PDCP PDUs. This includes:

- Modifying the byte_buffer_t to include PDCP SN meta-data. This way,
  the RLC can keep track of the ack'ed bytes for a specific PDCP PDU.
- Added in the RLC an `undelivered_sdu_info queue`, to keep track of the
  amount of ack'ed bytes and the total size of the PDCP PDU,
  so the RLC can know when delivery is finished.
- Added an interface between the PDCP and the RLC so that the RLC can
  notify the PDCP when it receives an ack from the status PDUs. The RLC
  passes to the PDCP a vector of all the ack'ed pdus in a rx'ed status PDU.
- Added some tests to the notify functionality. This includes some tests
  where the PDUs are acked imediatly, and one test where the PDU is
  retx'ed.
4 years ago
Francisco c4a50b7de0 avoid loss of pdcp sdus' SNs buffered in gtpu during handover 4 years ago
Francisco 9e25e95545 fix S1AP UE Capability Indication message. Created helper to log received S1AP messages 4 years ago
Francisco 78d1b8083a fix GTPU tunneling. Avoid forwarding packets to PDCP while the PDCP bearer is not yet created 4 years ago
Andre Puschmann 8e13f04684 mac_pcap: refactor MAC PCAP and include NR RAT into same object
after adding the thread-safe PCAP writer functionality to the EUTRA
MAC object it became clear that we don't wont to replicate the
same for the NR object.

This patch therefore refactors the class that now supports both EUTRA and
NR rats. The old mac_nr_pcap.[h/cc] has been deleted. All test-cases
and usages now use the new object that needs to pass the RAT type in
the ctor.

this patch addresses the last open point of #2160
4 years ago
faluco 79eca0980d - Ported fsm.h to srslog.
- Adapted and removed old loggers in tests and code that used fsm.h
4 years ago
faluco 96c07a69c0 Report the RLF event to the JSON event file in the enb. 4 years ago
Francisco ec14a6e50b verify correctness of input to gtpu::write_pdu 4 years ago
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.
4 years ago
Francisco 2bde28252c send UE capability indication through S1AP 4 years ago
Francisco d64ce7df77 implementation of S1 E-RAB Release Indication and Error Indication messages 4 years ago
faluco ac62e3c398 Fix the priority of logging levels in places where we before logging we check if a certain log level is enabled. 4 years ago
herlesupreeth 47fff7226a Send NAS PDU in E-RAB Release Command and issue RRCConnectionReconfiguration to UE
This commit addresses the following points

- If a NAS-PDU IE is contained in the E-RAB RELEASE COMMAND message, the eNB shall pass it to the UE.
- Issue RRCConnectionReconfiguration for the DRB to be removed
- Cleaning of DRB in RLC and GTP-U
- Fix for Malformed E-RAB Setup Response upon reaching max. DRBs
4 years ago
Andre Puschmann da9e3363f1 mac_pdu_nr: rename MAC PDU class for NR to adhere naming conventions
* mainly to have _nr as trailing name for filename and class
* also add "sch" to class and filename (RAR PDU will have extra class)
4 years ago
Francisco 2befbd1825 setup of forwarding tunnels during enb s1 handover 4 years ago
Francisco 56ec2c286e add gtpu test for tunneling 4 years ago
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.
4 years ago
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.
4 years ago
yagoda 1420c23863 adding RAR buffers for multiple carriers, previously RARs into different carriers in the same TTI would overwrite each other 4 years ago
Francisco 26086252ba fix resetting of harqs in the scheduler during intra-enb handover 4 years ago