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