Commit Graph

710 Commits

Author SHA1 Message Date
Francisco 34e39a9835 Implementation of scheduler algorithm to avoid PUCCH collisions
- The cch_allocator considers the existence of a fixed PUCCH region dedicated to CQI, SR, and HARQ ACKs
- At the moment PUCCH multiplexing is not considered
- The PUCCH width was increased to accommodate possible PUCCH-ACK positions
2021-03-05 14:59:44 +01:00
Francisco 8ae8b31ba2 Allow collisions between PUCCH and Msg3 for 6 PRBs
- The UL Harq now stores the type of UL alloc (msg3 or data)
2021-03-05 14:59:44 +01:00
Francisco 7dcfe7bf0e sched: updated tbs calculation test. Fix edge cases that failed the test. 2021-03-04 23:40:35 +01:00
Francisco ed8ab3871c re-designed algorithm to compute lowest mcs that meets cqi,req_bytes,nof_prbs requirements in the scheduler 2021-03-04 23:40:35 +01:00
Francisco 9748c0be84 simplified tbs/mcs computation in scheduler 2021-03-04 23:40:35 +01:00
David Rupprecht aef6805d03 Added pcap net feature to eNodeB 2021-03-03 09:50:15 +01:00
AlaiaL 0ba7cd7df9 [metrics] Added system metrics to the enb's stdout 2021-03-02 22:17:13 +01:00
Francisco c03dbc6742 fix RRC Connection Reestablishment procedure - correctly save old rnti bearer configuration in new rnti 2021-03-02 17:51:36 +01:00
Francisco 290f39d805 fix crnti mac ce handling in the rrc in normal (no handover) case 2021-03-02 17:14:17 +01:00
Francisco 023cb0fdde log on allocation failure in mac::ue class 2021-03-01 20:10:57 +01:00
Francisco beed2ddbaa simplified tx softbuffer acquisition interface in mac::ue 2021-03-01 20:10:57 +01:00
Francisco e0da736a5f fix memory management of softbuffers in mac::ue class 2021-03-01 20:10:57 +01:00
Francisco 02539344fb move rx used buffers of mac::ue to separate cc buffer handler class 2021-03-01 20:10:57 +01:00
Francisco cc6c9ffc51 move tx/rx softbuffers of mac::ue to separate cc buffer handler class 2021-03-01 20:10:57 +01:00
Francisco 2f95862932 move tx payload buffers of mac::ue to separate cc buffer handler class 2021-03-01 20:10:57 +01:00
Francisco 9eb46cc134 fixed clang tidy warnings in mac::ue.cc 2021-03-01 20:10:57 +01:00
Xavier Arteaga 1e55d68b55 Removed set RNTI from API 2021-03-01 15:30:33 +01:00
Francisco 4b09507c19 remove srslte.h includes from upper layers 2021-02-26 16:44:57 +01:00
Francisco b8bd869d0f move ue rlc interfaces to separate interfaces header file 2021-02-26 16:44:57 +01:00
Francisco a988351f46 move ue pdcp interfaces to separate interfaces header file 2021-02-26 16:44:57 +01:00
Francisco ea04104e8e move ue gw interfaces to separate interfaces header file 2021-02-26 16:44:57 +01:00
faluco 2328011732 - Remove old loggers in ttcn3 and in NR. 2021-02-26 13:59:39 +01:00
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.
2021-02-25 21:31:04 +01:00
Pedro Alvarez 976b5c12c1
Releasing the UE when max retransmissions are reached in the RLC. (#2385) 2021-02-24 16:45:40 +00:00
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>
2021-02-22 10:36:14 +00:00
Francisco 6404722b4b convert qci_cfg in srsenb to std::map to allow qci values above 10 2021-02-20 23:00:05 +01:00
Francisco 9a9ed01dda rename pdcch_sched to sf_cch_allocator 2021-02-19 17:34:55 +01:00
Pedro Alvarez 6ecd6e273c Make sure that the status report is sent in RLF and PDCP reestablishment triggered by Handover 2021-02-19 13:30:48 +00:00
faluco a940e169a3 Add the enb_cc_idx value to S1 events. 2021-02-19 09:54:41 +01:00
faluco a4605883f0 Implement second revision of the events and metrics document. 2021-02-19 09:54:41 +01:00
Pedro Alvarez cfd94441a5 Added metrics to srsenb PDCP 2021-02-17 18:40:12 +00:00
Francisco 9546634b37 use unique_ptr for sched_ue database in scheduler. This will minimize the time spent locking while adding new users 2021-02-17 11:04:07 +01:00
Francisco c1adaec038 refactored cce position table structs 2021-02-16 21:22:40 +01:00
Francisco 823da24a8e removed uneeded sched method to set sched algorithm, and made configured flag atomic 2021-02-16 21:22:40 +01:00
Francisco 6b3cf6c597 moved pdcch sched to separate file 2021-02-16 21:22:40 +01:00
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. 2021-02-16 13:21:50 +00:00
Francisco a4423ff690 sched: fix compilation issue for gcc4.8 2021-02-16 10:48:58 +01:00
Francisco a7f4dfab2c sched: added checks for localized RBG assignment in case of DCI format1A 2021-02-16 10:48:58 +01:00
Francisco Paisana 34d4dc3974 set DCI format 1A while RRC setup/reestablishment/reconfiguration is on-going 2021-02-16 10:48:58 +01:00
Francisco Paisana c40ad81a90 cleanup s1ap methods. remove hard coded erab list in s1ap handover required message. 2021-02-15 10:49:54 +01:00
Francisco 23459dee28 Created enb_{rlc/pdcp/gtpu/phy_interfaces.h files. 2021-02-12 16:36:50 +01:00
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 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
Xavier Arteaga a19671802e Added SRSUE NR-PUSCH initial procedures 2021-02-05 15:55:03 +01:00
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.
2021-02-05 12:24:50 +00:00
Xavier Arteaga 77f0a53abd Added DCI Format 0_0 unpacking and more NR-PUSCH procedures 2021-02-04 10:51:47 +01:00
Xavier Arteaga b150e45129 Renamed NR-PHY state and fix license headers 2021-02-04 10:51:47 +01:00
Francisco c4a50b7de0 avoid loss of pdcp sdus' SNs buffered in gtpu during handover 2021-02-03 17:20:07 +00:00
Francisco 9e25e95545 fix S1AP UE Capability Indication message. Created helper to log received S1AP messages 2021-02-03 17:20:07 +00:00