4923 Commits (7e7eceda156dee1ee96c4f4aad435623c0aef39c)

Author SHA1 Message Date
Robert Falkenberg 7e7eceda15 ctest: Viterbi test skips 0dB for non AVX2 machines
The accuracy of the 8-bit implementation of the Viterbi decoder used on
non-AVX2 machines falls below the theoretical accuracy at 0dB.
2 years ago
Robert Falkenberg 06f2ab6d7c ctest: PDCCH test skips 100PRB for non AVX2 machines
The current 8-bit Viterbi decoder implementation for SSE (non-AVX2)
is not accurate enough to reliably decode all messages with a
code rate ~0.9 or higher, e.g. DCI format 2/2A messages in 100 PRB cell
at aggregation level 0.
2 years ago
Pedro Alvarez 0cc632988f lib,rlc: tweaked some comments 3 years ago
Pedro Alvarez f5658619b8 lib,rlc: ack_sn does not count as a positive or negative acknowledgment.
do not stop t-PollRetransmit for it
3 years ago
Pedro Alvarez 7ac7c8673a lib,rlc: Fixed issue where `p` bit was not checked if PDU was outside of
the RX window. This could lead to a data stall, where TX keeps retx'ing
the same PDU to request a status report.
3 years ago
Pedro Alvarez 40f19b0e2c lib,rlc: added check for status report in full rx_window test. 3 years ago
Pedro Alvarez f4ca1848d6 lib,rlc: allow reception of ACK_SN == TX_NEXT+1,
as this can happen when the last segment has not been sent yet.
3 years ago
Pedro Alvarez ede44369f4 lib,rlc: add fix for issue in checking full RLC TX window 3 years ago
Pedro Alvarez dc71048d83 lib,rlc: fixed up test for full rx window 3 years ago
Pedro Alvarez b7ec529ff2 lib,rlc: allow ACK_SN be one over the end of the RX window. 3 years ago
Pedro Alvarez 51ffd91f16 lib,rlc: added unit test that triggers assert when RX window is full 3 years ago
Robert Falkenberg a1db7fe9fe rlc_am_nr: fix shadowed variable 3 years ago
Robert Falkenberg e057a8ec27 lib,pdcp_nr: unit test - remove redundant assignment 3 years ago
Robert Falkenberg a11291eb08 lib,rlc_am_nr: fix handling of NACK ranges with SO reaching SDU edge
This changes the handling of NACK ranges with segment offset (SO),
where either so_start or so_end reach the edge of a full SDU.
That SDU is then NACK'ed as a whole, rather than as a segment
from 0 to 0xFFFF.
Otherwise, the search for segments will fail if said SDU was
initially sent as a whole (without segmentation).
3 years ago
Robert Falkenberg fccfd5e140 lib,rlc_am_{lte,nr}: fix/add tx_window overrun protection
This commit fixes as bug causing a crash of the eNB in case
of many pending RETX and the reception of a trimmed PDU.
The following sequence leads to a crash:
- RETX queue contains many PDUs for RETX
- Receive trimmed PDU containing a trimmed subset of NACKs
- RETX queue is cleared and re-populated with a trimmed subset
- After all RETX (/!\ trimmed subset) is done, continue TX new PDUs
- tx_window blows up
- tx_window overflows if another status PDU is not received in time
- Overflow overwrites oldest element in tx_window
- Handling of next status PDU fails due to missing elements in tx_window

Related PR #4029
3 years ago
Pedro Alvarez d5909a306f lib,pdcp_nr: fixed typos and rephrased log in tests. 3 years ago
Pedro Alvarez 0f1c8b03c7 lib,pdcp_nr: fixed up some comments and a logging message 3 years ago
Pedro Alvarez 540483ba9e lib,pdcp: added unit test to check discard timer is running when a PDU is TX'ed and stopped when the ACK has been notified. 3 years ago
Pedro Alvarez e87416ff99 lib,pcdp_nr: added checks for stopped reordering timer and correct state
when receiving out-of-order packets in unit tests.
3 years ago
Pedro Alvarez eb819cb9d0 lib,pdcp_nr: fix RX_DELIV update when t-Reordering expires 3 years ago
Pedro Alvarez 5f385bb33f lib,pdcp_nr: fix logging message when discard timer expires 3 years ago
Pedro Alvarez 82e4b9e238 lib,pdcp_nr: fix discard timer not being stopped correctly 3 years ago
Pedro Alvarez 6d313f1875 lib,pdcp_nr: added extra comments on logging information to regarding
discard and t-Reordering expiry
3 years ago
Pedro Alvarez c82f58c0b9 lib,pdcp_nr: drop SDU if RLC queue is full 3 years ago
Pedro Alvarez 57772ffa35 lib,pdcp_nr: added warning for trying to use t-Reordering of infinity on RLC UM bearers 3 years ago
Pedro Alvarez 8d65b40734 lib,pdcp_nr: allow for t-reordering of inifinity 3 years ago
Robert Falkenberg e891d72ab8 lib,rlc_am_nr: fix out-of-bounds access when unpacking malformed status PDUs 3 years ago
Pedro Alvarez 84cf5c30ec lib,pdcp_nr: rm ifdef to select PDCP NR. PDCP NR is always selected now 3 years ago
Robert Falkenberg e0620873ef lib,rlc_am_nr: no error on insufficient space for new or continued segment. 3 years ago
Robert Falkenberg cbc8364a94 lib,rlc_am_nr: no error on insufficient space for RETX segment. 3 years ago
Robert Falkenberg 0c9ba5b87e lib,asn1_utils: fix out of bounds access on zero-sized array
* fix error: ... offset 0 is out of the bounds [0, 0] [-Werror=array-bounds]
* fix note: destination object of size 0 allocated by ‘operator new []’
--> data_ = new T[cap_];
3 years ago
Pedro Alvarez 02b3558390 lib,pdcp_nr: fix typos 3 years ago
Pedro Alvarez 7f98101f30 lib,pdcp_nr: fix rx unit tests 3 years ago
Pedro Alvarez 904dbff471 lib,pdcp_nr: fixed PDCP NR tx unit tests 3 years ago
Pedro Alvarez b361ab0650 lib,pdcp_nr: fix pdcp nr encryption 3 years ago
Pedro Alvarez 1b2c9502e2 lib,pdcp_nr: fix order in which header discard was done in PDCP NR. 3 years ago
Pedro Alvarez 39fbf21174 lib,pdcp_nr: fix order of integrity generation 3 years ago
Pedro Alvarez a148dff0cd gnb,ue,rrc: enable using integrity on DRBs 3 years ago
Robert Falkenberg aa9f844630 adt,fsm: ignore GCC warning for template specialization w/wo defaults for ReactFn or GuardFn 3 years ago
Robert Falkenberg 02cb2532f8 lib,pdcp_nr: make sure MAC-I is computed on SRBs, even when integrity is not active yet 3 years ago
Pedro Alvarez c015540f54 lib,pdcp_nr: make sure MAC-I is added on SRBs, even when integrity is not active yet 3 years ago
Pedro Alvarez 25b8a35d7a lib,pdcp_nr: make sure we don extract MAC-I if integrity is not enabled. Make sure gNB does not enable integrity on DRBs 3 years ago
Pedro Alvarez ae8191c46d lib,rlc_am_nr: make sure we check that ACK_SN is not larger than TX_NEXT (after we checked we didn't get an ACK out of order) 3 years ago
Pedro Alvarez 97b66dbc4c lib,rlc_am_nr: fixed mal-formed status report in test. 3 years ago
Pedro Alvarez abc7294316 lib,rlc_am_nr: addded unit test for out of order status report 3 years ago
Pedro Alvarez 6d55560256 lib,rlc_am_nr: check if ACK SN is within rx_window. Stop
t-PollRetransmit only if status report is not ignored
3 years ago
Pedro Alvarez c457132570 lib,rlc_am_nr: avoid if that would always be true when checking the
out-of-order ACK. Check ACK_SN instead of stop SN with Tx_Next_Ack
3 years ago
Pedro Alvarez 7c42b09e89 lib,rlc_am_nr: check if rx ACK is smaller than current Tx_Next_Ack 3 years ago
Robert Falkenberg 0c24e9c55f lib,rlc_am_nr: clean retx_queue of ACK'ed SDUs 3 years ago
Robert Falkenberg 95480297f4 lib,rlc_am_nr: unit test removal of ACK'ed SDUs from retx queue 3 years ago