4960 Commits (376b4f0011b9ae826c51568c23c34419887338e0)

Author SHA1 Message Date
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
Robert Falkenberg e20cb2e0c8 lib,rlc_am_nr: empty PDUs shall not increment metrics.num_tx_pdus 3 years ago
Pedro Alvarez 2c5a74340b lib,rlc_um_nr: reduce log level of message 3 years ago
Robert Falkenberg 7b77558fd4 lib,rlc_um_nr: add log message if tx_sdu_queue has no non-null SDU 3 years ago
Pedro Alvarez 6a40fd8411 lib,pdcp_nr: disabe discard timer with RLC UM 3 years ago
Pedro Alvarez 92a6d8ec66 lib,rlc_um_nr: fix issue with discard in RLC UM NR 3 years ago
Pedro Alvarez 68b6facac8 lib,pdcp_nr: log RLC mode in PDCP configuration 3 years ago
Robert Falkenberg 9687af7660 add missing include for build with GCC 12
Related info: https://gcc.gnu.org/gcc-12/porting_to.html
3 years ago
Pedro Alvarez 97b32f2fb6 rrc_nr,utils: fix generation of RLC configs from ASN.1 structs created from cfg parser. 3 years ago
Pedro Alvarez 3620308940 lib,pdcp_nr: added options to select re-ordering timer 3 years ago
Pedro Alvarez 1fecae9b5a lib,pdcp_nr: added ifdef to select pdcp_entity_nr 3 years ago
Robert Falkenberg ebbecbe27c lib,rlc_am_nr: cosmetic change -- clang format 3 years ago
Robert Falkenberg 9a34d4d81b lib,rlc_am_nr: unit tests for NACK merging 3 years ago
Robert Falkenberg ecc995bd4b lib,rlc_am_nr: merge NACKs across SN overflows 3 years ago
Robert Falkenberg e9156d4ba2 lib,rlc_am_nr: status PDU creation supports NACK range 3 years ago
Pedro Alvarez 283199d54f lib,rlc_am_nr: added unit test for nack ranges without SO 3 years ago
Pedro Alvarez e01bbb8f79 lib,rlc_am_nr: support also NACK ranges without SO_start/end. Fix for NACK ranges of sizee == 1 3 years ago
Pedro Alvarez 6d8357bee9 lib,rlc_am_nr: deleted error log for unhandled NACK ranges 3 years ago
Pedro Alvarez de67d88ca9 lib,rlc_am_nr: fix buffer state checker in rx status report with ranges test 3 years ago
Pedro Alvarez c386d89577 lib,rlc_am_nr: fix nack ranges with so 3 years ago
Pedro Alvarez 855ab8f7fd lib,rlc_am_nr: added unit test to nack ranges 3 years ago
Pedro Alvarez 444783e2f2 lib,rlc_am_nr: added handling of nack ranges at RX 3 years ago
Pedro Alvarez 407c44617c lib,rlc_am_nr: fix typo 3 years ago
Pedro Alvarez 840aac7fda lic,rlc_am_nr: removed stop_no_lock(), it is not necessasry 3 years ago
Pedro Alvarez ea532cbf41 lib,rlc_am_nr: added stop() method to RX entity 3 years ago
Pedro Alvarez 2f8fd7a483 lib,rlc_am_nr: add stop() method to TX entity 3 years ago
Robert Falkenberg 828c7ec02d lib,rlc_am_nr: Change log level for already acked (removed) RETX. 3 years ago
Andre Puschmann 70eaec21e2 all: fix uninitialized variables detected by coverity 3 years ago
Pedro Alvarez 3714548391 lib,rlc_am_nr: re-enable rlc am nr stress tests 3 years ago
Pedro Alvarez e023cecd28 lib,rlc_am_nr: lower log level of unsupported NACK ranges from warning to error 3 years ago
Pedro Alvarez 5992303aca lib,rlc_am_nr: make sure we react to polling bit, even if SDU/SDU
segment is a duplicate/overlapping.
3 years ago
Pedro Alvarez 68cc16ad68 lib,rlc_am_nr: fix assert triggered by receiving duplicate segments 3 years ago
Andre Puschmann cbc0b43621 lib,radio,rf: fix printf arguments 3 years ago
Andre Puschmann 67f66e7d63 radio_dummy: fix potential result overflow by converting to wider type first 3 years ago
Ali_UBUNTU18.04 3fdec57a47 liblte_mme: Added sec_hdr_type check in liblte_mme_pack_deactivate_eps_bearer_context_request_msg 3 years ago
Pedro Alvarez ee06a8893b lib,rlc_am_nr: fix wrong full sdu queue check 3 years ago
Pedro Alvarez 9dbb7acffa lib,rlc_am_nr: ensure early return if there is not enough space for payload plus header 3 years ago
Pedro Alvarez 0c562336d2 lib,rlc_am_nr: change update of POLL SN to be the currently being
transmitted SDU (if not an RETX)
3 years ago
Pedro Alvarez 4d59989f72 lib,rlc_am_nr: fix t-PollRetransmion timer test to work with 18bit SN 3 years ago
Pedro Alvarez abfa113576 lib,rlc_am_nr: fix wrong buffer state calculation for segment RETXes
when SO=0
3 years ago
Pedro Alvarez d7a32a0ea5 lib,rlc_am_nr: sending first SDU segment if t-PollRetransmit expires
instead of full SDU. Adressing test accordingly
3 years ago
Pedro Alvarez 361d3f46e0 lib,rlc_am_nr: starting to fix retx poll expiry test 3 years ago
Pedro Alvarez 42f7094a0e lib,rlc_am_nr: changed order in which the ack of poll SN is checked 3 years ago
Pedro Alvarez 0ee20d7a0c lib,rlc_am_nr: addressing reviewers comments:
* Tweaked logs
 * Addressed a missing modulus in handling a state variable.
 * made restarting t-PollRetransmission look more like the comment.
3 years ago
Pedro Alvarez 2425985ab2 lib,rlc_am_nr: added test for poll retx timer 3 years ago
Pedro Alvarez 0551244d64 lib,rlc_am_nr: make sure has_data returns true when there are retxs. Make sure t-PollRetransmit is not started if it is set to infinity. 3 years ago
Pedro Alvarez 6ff18272e0 lib,rlc_am_nr: added debug_window function 3 years ago
Pedro Alvarez d2d3c4140a lib,rlc_am_nr: make sure that sdu_under_segmentation is set before calculating the polling bit 3 years ago
Pedro Alvarez ffb0c21903 lib,rlc_am_nr: stop poll retransmission if POLL_SN is ACKed/NACKed 3 years ago
Pedro Alvarez 515f2099be lib,rlc_am_nr: added SN to get pdu poll function. Setting POLL_SN now. 3 years ago
Pedro Alvarez f93d699abc lib,rlc_am_nr: retransmit first un-acked SDU when t-Poll_retransmit
expires
3 years ago
Pedro Alvarez b3edced44a lib,rlc_am_nr: added t_poll_retransmit to tx entity 3 years ago
Robert Falkenberg c0546b8634 lib,rlc_am_nr: increase verbosity on invalid ACK 3 years ago
Robert Falkenberg 4028b26274 lib,rlc_am_nr: add info_state() 3 years ago
Robert Falkenberg c16071a3ac lib,rlc_am_nr: extend unit tests to check buffer state 3 years ago
Robert Falkenberg d66c76b374 lib,rlc_am_nr: consider size of all pending retx in buffer state 3 years ago
Robert Falkenberg ced6cf6e40 lib,rlc_am_nr: consider SDU under segmentation in buffer state 3 years ago
Robert Falkenberg e0acb7b81c lib,rlc_am_nr: update buffer-state-related unit test 3 years ago
Robert Falkenberg 20201cd89b lib,rlc_am_nr: cosmetic change, add comment 3 years ago
Pedro Alvarez 8a27cdf45a lib,rlc_am_nr: fix incorrectly stopping the t-StatusProhibit 3 years ago
Pedro Alvarez 63877ba209 lib,rlc_am_nr: make sure that tx_buffer_queue size is configurable 3 years ago
Andre Puschmann 8505523928 ue,ue_sync: fix CP setting for find and track objects
move setting of CP for find and track objects further down
after the respective objects have been resized and updated
there frame_len, fft_size, etc. members.

Doing this too early cause a segfault with div by zero
because the values were all zero
3 years ago
Andre Puschmann 225a7741b3 pssch_ue: fix uninitialized variables 3 years ago
Andre Puschmann d854bbc22e enb,rrc: remove hard-coded SCG bearer config
Use 5QI config when configuring secondary cell group bearer for NSA.
The 5QI used for this needs to match with the QCI used for the initial
LTE DRB.

This allows to use RLC AM over NSA.
3 years ago