Commit Graph

3879 Commits

Author SHA1 Message Date
Bedran Karakoc c280ac5ad6 Introducing extended NGAP functionality
Remove unused logger for now in ngap::ue to pass tests
2021-06-17 13:05:29 +02:00
Francisco 5a82a63bb5 bugfix,srsenb: fix intraenb handover softbuffer allocation during handover 2021-06-16 10:21:13 +01:00
Xavier Arteaga cf09044453 Optimised random bit (unpacked) and byte (packed) generator 2021-06-15 12:44:21 +02:00
Xavier Arteaga d2a19c3043 SCH minimum number of iterations to 2 to reduce systematic false alarm probability 2021-06-15 12:44:21 +02:00
Xavier Arteaga ef4c978d72 Optimized byte random generator 2021-06-15 12:44:21 +02:00
Andre Puschmann 475c033440 rlc_am_test: extend status PDU test
add full test with malformed status PDU
2021-06-15 11:01:02 +02:00
Andre Puschmann d7204df896 rlc_am_lte: check rx window first when receiving status PDU
move rx window check up so no actions are taken when receiving
malformed status PDU
2021-06-15 11:01:02 +02:00
Xavier Arteaga 2cd8ba3a1a PDCCH test skips 100PRB for ARM 2021-06-14 20:32:51 +02:00
Francisco 2a009eb340 sched,feature: Enable configuring maximum coderate for SIB allocations 2021-06-14 18:55:51 +01:00
Francisco 6ababf401b feature,sched: allow setting initial DL CQI in enb.conf 2021-06-14 15:55:23 +01:00
Francisco e8983b88f0 refactor: use enb_cc_idx instead of ue_cc_idx in mac::ue 2021-06-14 13:18:47 +01:00
Andre Puschmann fa7a8fb687 rlc_am_test: add testcase for processing out-of-order status PDUs 2021-06-14 09:43:02 +02:00
Andre Puschmann 19f30aa652 rlc_am_lte: fix handling of out-of-order status PDUs
before processing incoming status PDUs we should be checking
if the ACK_SN falls within our current Tx window. If not the PDU
will be dropped.

Without the check we were incorrectly processing the status PDU
and because the sequence number wrap around wasn't working
correctly if ACK_SN is smaller than vt_a we were corrupting
our Tx window.
2021-06-14 09:43:02 +02:00
Xavier Arteaga 8743713bb1 Fix compilation 2021-06-14 09:21:29 +02:00
Xavier Arteaga 676080d6af Added macro SRSRAN_VEC_SAFE_CMA 2021-06-14 09:21:29 +02:00
Andre Puschmann b862bbc2e6 rlc_am_lte: add missing mutex to get_status getter
fixws race detected with TSAN
2021-06-10 10:44:18 +02:00
Andre Puschmann d51ee722f6 rlc_am_test: add unit test for ACK_SN is outside rx window
the test uses a malformed status PDU from a PCAP and makes
sure the RLC receiver detects such a PDU and raises a warning
2021-06-10 10:44:18 +02:00
Andre Puschmann 878142843e rlc_am_lte: add further sanity check when creating status PDU
the test verifies that the ACK_SN of a status PDU falls inside the
rx_window of the receiver. If not, than the RLC state has been
corrupted and the status PDU is likely invalid.
2021-06-10 10:44:18 +02:00
Andre Puschmann 46265c5829 rlc_am_data_test: add data PDU unpack test
TV captured in PCAP
2021-06-09 14:44:15 +02:00
Andre Puschmann b379910690 pdu_test: add UL-SCH unpacking test
TV captured in PCAPs.
2021-06-09 14:44:15 +02:00
Xavier Arteaga 6be57dd216 Disable PDCCH false detection for non AVX2 machines 2021-06-09 13:20:01 +02:00
Alejandro Leal Conejos a51f2a1de4 Fills the value of the number of cpus for the system_metrics_t and
initiliaze its value to 0 when executing 2 measures in less than 100 ms.
2021-06-09 09:34:46 +02:00
Pedro Alvarez a53b321ab8 Release UE upon reception of integrity error. 2021-06-08 18:52:22 +01:00
Pedro Alvarez 299d2ee35d Added interface to make the PDCP notify the RRC of integrity check
failures.
2021-06-08 18:52:22 +01:00
Xavier Arteaga 939dd1b977 Change struct sync_raster_t to class 2021-06-08 14:55:12 +02:00
Xavier Arteaga a79d518799 Added SSB search measure/decode file test 2021-06-08 14:55:12 +02:00
Xavier Arteaga 5181a9d64c Implemented PBCH blind decode 2021-06-08 14:55:12 +02:00
Xavier Arteaga a7b7f8e78a Avoid SSB search to have a peak that SSB data is outside buffer 2021-06-08 14:55:12 +02:00
Xavier Arteaga 480f1b14fe Protect Radio from null phy 2021-06-08 14:55:12 +02:00
Xavier Arteaga 9621cf57c2 Implemented NR SS raster object 2021-06-08 14:55:12 +02:00
Xavier Arteaga 49d857cd17 Refactored decode_tb function 2021-06-08 10:19:24 +02:00
Xavier Arteaga 22b1673b36 Added CRC match function and simplify CRC check 2021-06-08 10:19:24 +02:00
Xavier Arteaga 7846bfccb1 Implemented softbuffer RX CRC reset 2021-06-08 10:19:24 +02:00
David Rupprecht ff3e7c321d Added bref function for calc distance til end 2021-06-08 10:14:43 +02:00
Xavier Arteaga e8f2b3a74c Add PDCCH decoder correlation check in blind search 2021-06-05 11:08:27 +02:00
Xavier Arteaga 7c78fd2050 Implemented PDCCH DCI message correlation and updated test 2021-06-05 11:08:27 +02:00
Xavier Arteaga bcd2e59635 PDCCH test global variable cleanup 2021-06-05 11:08:27 +02:00
Francisco 7e77da6a15 mac,optimization: use rnti memory pool to create mac::ue objects 2021-06-04 21:29:13 +01:00
Andre Puschmann 295b5fe8fb rlc_tm: fix stopping of entity detected with TSAN 2021-06-04 13:23:54 +02:00
Andre Puschmann a013a2fe05 rlc_stress_test: fix bug when read_pdu was returning -1 2021-06-04 13:23:54 +02:00
Andre Puschmann c0be8187c8 rlc interface: convert entire read_pdu() interface to return uint32_t
we had it returning int but had a bug in using the return value properly,
i.e. handling when -1 was returned in RLC TM.

Thinking about it more, it doesn't make sense to have a negative return
value here anyway. Either the RLC can return a PDU or not. If it can't the
returned lenght is zero.
2021-06-04 13:23:54 +02:00
Francisco 539ca47fe2 lib,bugfix: fix blocking queue unit test. Dtor cannot destroy object while a thread is still pushing data 2021-06-04 13:02:39 +02:00
Xavier Arteaga 60f294a6a1 Refactor PDCCH encode/decode unit test 2021-06-04 11:13:23 +02:00
Xavier Arteaga 5ddc974beb Reverted PDCCH threshold 2021-06-04 11:13:23 +02:00
Xavier Arteaga d46be09663 Increase viterbi default number of iterations 2021-06-04 11:13:23 +02:00
Xavier Arteaga 090022568e DCI NCCE find considers L and NCCE 2021-06-04 11:13:23 +02:00
Andre Puschmann a36e0477b8 rlc_am: fix status PDU packing when grant size isn't enough to send full report
when a small grant is provided it might not be possible to fit a full status
PDU. This is currently detected while packing the PDU.

In order to avoid sending potentiall contradicting status info to the sending
entity, the fix makes sure to only transmit a small PDU acking what really
has been received so far.

This might not be optimal in terms for retx but will not corrupt any
state.
2021-06-03 21:11:47 +02:00
Andre Puschmann 5838ec4999 rlc_am: revert expect macro back to error log and inform higher layers
the incidence really must be handled by the higher layers, i.e. the bearer
needs to be reestablished.
2021-06-03 21:11:47 +02:00
Andre Puschmann f22f4b4fbd rlc_am: fix potential stalling in RLC transmitter
it turned out that a certain order of events can lead to
a RLC transmitter stalling because even though unacknowledged PDUs
are queued, none of them was actually considered for retx.

This can happen if a pollRetxTimer expires for a SN that, meanwhile,
has already been acknowledged. The positive lead to the deletion of
the SN from the Tx window.

The fix makes sure that when a retx for a unexisting SN is requested,
the sender will consider the next unacknowledged SN instead.
2021-06-03 21:11:47 +02:00
Andre Puschmann 9612bb0e14 rlc_am_test: fix status PDU test and add extra test for failure signaling 2021-06-03 21:11:47 +02:00