Commit Graph

2757 Commits

Author SHA1 Message Date
Robert Falkenberg dd7bd351b3 lib,rlc_am_nr: fix pack/unpack of NACKs in status PDUs 2022-03-31 12:04:43 +02:00
Robert Falkenberg d8cb4ec700 lib,rlc_am_nr: detect gaps in sequence of received SDU segments
This is required for checks such as
"there is at least one missing byte segment [...] before
the last byte of all received segments of this SDU"
2022-03-30 17:16:21 +02:00
Ismael Gomez f8c2fa05bf srsue,phy: support n_ta_offset parameter from sib1 2022-03-29 14:30:14 +02:00
Ismael Gomez edeb8e8f18 srsue,nr: add TA support from RAR and MAC CE 2022-03-29 14:30:14 +02:00
Ismael Gomez b3497c4a94 srsue,nr: decode SIB1 based on coreset0 configuration in MIB 2022-03-29 14:30:14 +02:00
Ismael Gomez bfe69deccc srsue, nr: Add SDAP to the UE. Supports only UL header 2022-03-29 14:30:14 +02:00
Ismael Gomez f83557b891 srsue,phy: use common pucch for msg3. Completed table for all pucch_common_idx values 2022-03-29 14:30:14 +02:00
Ismael Gomez 2bbeef6068 srsgnb,metrics: add ul_pucch_ni metric and refactor rssi/epre nomenclature. Fix bug in rsrp_avg computation in pucch 2022-03-26 22:39:16 +01:00
Ismael Gomez cf647b1fd5 srsenb,metrics: add PUSCH/PUCCH RSSI metrics. Add bearer DL total data metric for RLC UM 2022-03-26 22:39:16 +01:00
Robert Falkenberg fbdbc81bdd lib,pdcp: fix modulus for SN increments 2022-03-23 14:58:09 +01:00
Robert Falkenberg 79e8f7625e lib,rlc_am_nr: fix log msg for AM NR PDU header 2022-03-23 14:58:09 +01:00
Robert Falkenberg 7e13cd0712 lib,rlc_am_nr: rename get_tx_window_size() to get_tx_window_utilization() 2022-03-21 15:23:21 +01:00
Pedro Alvarez 12f440145d lib,rlc_am_nr: changed build_retx_pdu_without_segmentation to pass retx
info by copy. This is to avoid accidently using retx info by reference
after pop'ing the retx from the queue.
2022-03-17 13:54:56 +00:00
Pedro Alvarez b4814bfdc1 lib,rlc_am_nr: added test for polling bit set when retx queue is empty. Fixed lost PDU test now that we correctly set the polling bit. 2022-03-17 13:54:56 +00:00
Pedro Alvarez 1d1e6dd832 lib,rlc_am_nr: added pollBYTE support and a unit test for it 2022-03-17 13:54:56 +00:00
Pedro Alvarez eaa8fff6a0 lib,rlc_am_nr: Passing bool to get_pdu_poll() to differentiate the
behaviour between RETX and non-RETX PDUs.
2022-03-17 13:54:56 +00:00
Robert Falkenberg 5bb6cdec1e lib,rlc_am_nr: use std:vector for nacks in rlc_am_nr_status_pdu_t
- Also create tx_status a member to avoid frequent allocations
for each created PDU.

- Remove unused member nack_range from rlc_am_nr_status_pdu_t.
2022-03-16 10:57:28 +01:00
Robert Falkenberg 0cf052e31d lib,rlc_am_nr: replace hard-coded WINDOWS_SIZE 2022-03-16 10:57:28 +01:00
Robert Falkenberg 80e23624f8 lib,rlc_am_nr: extract function am_window_size() 2022-03-16 10:57:28 +01:00
Robert Falkenberg 47c1845cdc lib,rlc_am_nr: add pdu_retx_queue_base, rlc_ringbuffer_base as interfaces
that are independent from templated capacity.
2022-03-16 10:57:28 +01:00
Robert Falkenberg 11ac8c2529 lib,rlc_am_nr: add support for 18-bit SNs
and first bunch of corresponding unit tests
2022-03-16 10:57:28 +01:00
Xavier Arteaga f57cf0b195 PHY: Initial PUCCH default resource selection (hard-coded row index 11) 2022-03-14 16:35:12 +01:00
Pedro Alvarez bb9eaf4390 gnb,ngap: Added some comments to ngap.cc to make it easier to navigate
the file. Re-ordered NGAP UE procedures have the same order as in the
standard.
2022-03-14 15:24:03 +00:00
Robert Falkenberg b6d93577a0 rlc, nr: replace so_end by segment_length 2022-03-09 08:28:46 +01:00
Robert Falkenberg bb7339910f rlc: separate types of rlc_amd_retx_t for LTE and NR 2022-03-09 08:28:46 +01:00
Joaquim Broquetas 520128162e
Add CFR to srsue LTE UL (#3865)
lte,phy: Add CFR to srsue LTE UL

This commit adds the configuration steps needed to enable
and configure the CFR module for the srsue's uplink signal.
Parsing of the CFR manual threshold has been streamlined.
2022-03-07 17:05:33 +01:00
Robert Falkenberg 60c3d79f47 rlc, nr: complete packing of status PDUs with 18bit SNs 2022-03-01 20:44:39 +01:00
Robert Falkenberg f7515e98cf rlc, nr: add pack/unpack of nack_range in status PDUs 2022-03-01 15:31:35 +01:00
Robert Falkenberg 0fb6420e8b rlc, nr: avoid multi increments of SDU's retx_count within one status message 2022-02-28 16:37:44 +01:00
Robert Falkenberg 511ad9ed25 rlc, nr: Increment retx_count for segments 2022-02-28 16:37:44 +01:00
Robert Falkenberg 034aa6a6d4 rlc, nr: inform upper layer when max retransmissions is exceeded 2022-02-28 16:37:44 +01:00
Robert Falkenberg 95ebc06ec1 rlc: implement SDU discard for AM+UM in NR+LTE
- Implemented in common base classes
- Added locking
2022-02-23 11:18:31 +01:00
Robert Falkenberg 9b44d13471 rlc, nr: notify PDCP about fully acked SDUs 2022-02-23 10:57:21 +01:00
Pedro Alvarez e6d976d115 lib,rlc_am_nr: fixed stack smashing bug that happened when too many NACKs were present in the status report 2022-02-22 21:14:15 +00:00
Pedro Alvarez ddbd857867 lib,rlc_am_nr: make sure that the RB name is logged when logging the header and status PDUs in NR 2022-02-22 21:14:15 +00:00
Robert Falkenberg 3a73d84294 srsran_rf: support dynamic loading of RF plugins
This adds flexible plugin-like loading of the individual RF
implementations (zmq, uhd, soapy,...) as per availability at runtime.
Unlike before, the binary application is not terminated if the
dependencies of individual RF interfaces are not installed on the
executing system.  To do this, the plugins are not linked by the linker
at compile time, but opened at runtime via dlopen() and dropped in case
of failure due to missing dependencies.
2022-02-18 15:11:23 +01:00
Bedran Karakoc 767feddd73 lib,nas_5g: Implement to_string() functionality for options 2022-02-18 11:15:56 +01:00
Pedro Alvarez c8d15135c6 lib,rlc_am_nr: addressing reveier comments:
* made some methods const
  * changed from TESTASSERT to TESTASSERT_EQ
  * fix up comment
  * removed superfulous if
  * used typedef for list of segments received
  * added unit test for is_retx_required()
  * added unit test for malformed status PDU
2022-02-16 13:23:32 +00:00
Pedro Alvarez 634c9ea3af lib,rlc_am_nr: starting to order segments to be able to receive them out-of-order 2022-02-16 13:23:32 +00:00
Pedro Alvarez 832d650574 lib,rlc_am_nr: remove unused variables. Fixed up some comments. 2022-02-16 13:23:32 +00:00
Pedro Alvarez 9bb3b1f18f lib,rlc_am_nr: remove unused code after re-factor 2022-02-16 13:23:32 +00:00
Pedro Alvarez 5e8b7b5ebe lib,rlc_am_nr: re-factored code for retx'ing with and without segmentation. 2022-02-16 13:23:32 +00:00
Pedro Alvarez 38e4c47f34 lib,rlc_am_nr: added current SO to keep track of the SO for the next RETX. 2022-02-16 13:23:32 +00:00
Pedro Alvarez 65d5df8b6e lib,rlc_am_nr: Continue to add functionality to provide segments of retx'es. Started to add function to re-segment already existing SDU segment 2022-02-16 13:23:32 +00:00
Pedro Alvarez e4a72de342 lib,rlc_am_nr: refactored build_pdu helpers to receive the payload pointer for consistency. Added function to segment retx. Added some comments to build PDU helper functions. 2022-02-16 13:23:32 +00:00
Pedro Alvarez b1a33a07a1 lib,rlc_am_nr: starting to add test for segmenting retx. Changed sdu under segmentation to only hold the SN. The actual SDU already exists in the pdu stored in the tx_window. 2022-02-16 13:23:32 +00:00
Francisco 581a99c616 nr,gnb: use memory pool to allocate scheduler UEs 2022-02-15 20:59:45 +01:00
Francisco a2174a5714 Fix type storage copy and move assignment function helper
Previously, in the case both the lhs and rhs optionals were present, the copy/move assignments were erroneously destroying the lhs object.
2022-02-15 16:50:21 +01:00
faluco c9c2d6982f Implement a function to remove emergency handlers when a signal is raised.
Make PCAP handlers deregister from this list when they are destructed. This avoid the signal handler calling destructed objects under very rare circumstances.
2022-02-09 18:11:20 +01:00
Bedran Karakoc 83868fd2d2 lib,nas_5g: Implement to_string() for 5GSM Cause 2022-02-08 20:18:16 +01:00