Commit Graph

6988 Commits

Author SHA1 Message Date
Francisco e27ded9e55 add comment explaining the need to warn in case of failed allocate a TB in the scheduler when there are still pending bytes 2021-01-20 20:37:52 +01:00
Francisco 9ab7373251 Encode correctly DCI format2A when one of the TBs is empty 2021-01-20 20:37:52 +01:00
Francisco c336c3eed2 added to_number() conversion of rrc_nr poll_byte 2021-01-20 17:13:29 +01:00
Andre Puschmann a09fb95c25 proc_ra: protect RA procedure from concurrent thread access
that patch addreses issue #2199 by defering RA-related calls that
are executed from within PHY workers.

The time-critical bits of more complex functions such as tb_decoded()
are still executed in the PHY worker thread but the state machine
manipulation is defered.
2021-01-20 17:12:10 +01:00
Francisco 7f6f3f7912 fix sched test check for ConRes DCI format. 2021-01-20 17:11:04 +01:00
Francisco 8330793da9 use DCI format1A in edge case where the enb has more than one cell and the nof_prbs=15 2021-01-20 17:11:04 +01:00
Ismael Gomez a6423442c2
Refactor NR RA files and fix header includes all over library (#2162)
* Refactor NR resource allocation classes. Use DCI instead of grant for dummy PDSCH UE/eNB test

* Minor refactors in NR workers and ue_dl

* Fix include issues

* fix compilation issues
2021-01-20 15:46:46 +01:00
Xavier Arteaga 8a3d70f6da Fix intra-cell measurement ringbuffer overflow 2021-01-19 22:20:50 +01:00
Ismael Gomez d5f0634975
Add PUCCH SNR measurement (#2175)
* Add PUCCH SNR measurement

* Fix PUCCH SNR estimation

* Reverted PUCCH noise estimation

* use fpclassify instead of iszero

Co-authored-by: Xavier Arteaga <xavier@softwareradiosystems.com>
2021-01-19 21:55:24 +01:00
Ismael Gomez 0780f3caea pdu_queue must be non-blocking in order to avoid the ue or enb to block in the event of a memory leak and the buffer pool running out of buffers. In that case, the null return shall be handled properly and error logged. This commit restores commit c4c44c33f4. 2021-01-16 15:22:29 +01:00
Francisco Paisana 5391001c46 remove unused variable 2021-01-15 23:24:39 +01:00
Francisco Paisana d4242f2db7 precompute nof_re_table[sf][prb][slot][cfi] for faster nof_re computation and for more accurate lower bound nof_re computation 2021-01-15 23:24:39 +01:00
Francisco Paisana d0a17b0a40 created sched_ue_cell class that is indexed based on enb_cc_idx 2021-01-15 23:24:39 +01:00
Francisco Paisana 8b306c81e2 refactor tbs/mcs computation in sched 2021-01-15 11:36:59 +01:00
Francisco Paisana 32c47d4fac change sched warning when it fails to fit srb0 data in grant to info 2021-01-15 11:36:59 +01:00
Francisco Paisana 1dd211c91c fix log initialization in sched_helpers.cc 2021-01-15 11:36:59 +01:00
Francisco Paisana afef5188a6 move sched_harq to subfolder 2021-01-15 11:36:59 +01:00
Francisco Paisana 233e604cfe cleanup sched_ue, moving some unrelated functions to sched_helpers 2021-01-15 11:36:59 +01:00
Francisco Paisana 7e6744037c fix error check in ue addition 2021-01-15 00:10:42 +01:00
Francisco Paisana 9c7c190074 when the rrc fails to allocate the ue cell resources, it should erase the ue from all stack layers 2021-01-15 00:10:42 +01:00
Andre Puschmann eb515c5205 enb,mac: check return value when packing RAR PDU
this make sure that we only send valid MAC PDUs in the DL.
2021-01-13 20:39:09 +01:00
Francisco Paisana 0d9ff3ecc7 fixed RBG<->PRB conversion. Changed PHICH logging to be single line 2021-01-13 17:41:45 +01:00
Francisco Paisana 68e7df1248 allocate PUCCH resources in RRC UE only in case UE CA is activated 2021-01-13 17:30:38 +01:00
Ismael Gomez a360580999 Run PRACH workers before cc_workers fixes memory corruption when PRACH workers run in foreground (eg in ZMQ) 2021-01-12 21:30:57 +01:00
Francisco Paisana 0761a8f08b Add RLF-Report handling functions to srsENB 2021-01-12 20:40:39 +01:00
Andre Puschmann dadff1a947 pdu: default initialize pdu members with MAC log
MAC PDUs are default logged using the MAC log. So this gives
hex prints, etc. without having to manually set the logger for each
PDU.
2021-01-12 20:24:20 +01:00
Andre Puschmann fcf481b83e pdu: add check when unpacking MAC PDUs to not read beyond PDU length
we've checked the same when unpacking the subheaders but missed the
case where the payload was read beyond the PDU length, as has been
seen with a malformed RAR PDU.
2021-01-12 20:24:20 +01:00
Andre Puschmann 10da7df194 pdu_test: add TC with malformed RAR PDU
a malformed RAR PDU should not be decoded further if the payload
indicates a length beyond the actual PDU size.
2021-01-12 20:24:20 +01:00
David Rupprecht a89477a805 Hardcoded Samsung caps can be activated with if 1 in rrc_nr.cc 2021-01-12 20:23:35 +01:00
David Rupprecht bc2e230461 Enable UM mode for Amarisoft 2021-01-12 20:23:35 +01:00
Francisco Paisana 434bdfca68 decoupled srsenb rrc ue mac controller from the rrc::ue class 2021-01-12 18:16:03 +01:00
Francisco Paisana 2866886ade fix gcc4.8 compilation issue 2021-01-12 16:22:10 +01:00
Francisco Paisana f8b7351e1b implementation of object memory pool via class-specific operator new/delete 2021-01-12 16:22:10 +01:00
Francisco Paisana ea74ca67eb resolve forward declaration compilation issue in memory pool 2021-01-12 16:22:10 +01:00
Francisco Paisana e96b8c263a add mem pool test. fix mem pool leak bug 2021-01-12 16:22:10 +01:00
Francisco Paisana 8912a8ce6c added extra comments to memory pool code. generalized object pool to mutexed and non-mutexed cases 2021-01-12 16:22:10 +01:00
Francisco Paisana 768a4fa627 added growth policy for rrc::ue memory pool. Fixed memory leak 2021-01-12 16:22:10 +01:00
Francisco Paisana a73cbcdc9d added mem_pool for growing object pools. Applied the mem pool to the rrc::ue creation 2021-01-12 16:22:10 +01:00
Francisco Paisana 9883dc2171 remove warning when RAR fails to allocate in a given TTI due to lack of space 2021-01-12 15:49:34 +01:00
Francisco Paisana bc8e65c82f bug fix in the PF scheduler. The correct history was not being stored for newtxs 2021-01-12 15:49:34 +01:00
David Rupprecht da0e64c51a Add non_crit_ext for irat parameter 2021-01-12 11:07:52 +01:00
Andre Puschmann 78b07daf3b pcap: make public interfaces thread-safe and handle fopen returning nullptr
the previous patch only introduced a thread-safe queue between
PHY workers (writers) and PCAP writer thread (consumer).

However, it is also required to protect the ctor (and close()) to
prevent corrupted PCAP files.

The patch also correctly handles the case where the PCAP couldn't
be openend for writing and doesn't start the thread.
2021-01-11 15:45:48 +01:00
Andre Puschmann 02b0f251aa prach_worker: move variable to function body
the variable was only used inside the run_tti() function
and isn't needed elsewhere. refactor therefore.
2021-01-11 15:45:48 +01:00
Francisco Paisana 02d4dde1f5 issue 2170 fix: add extra check that UL harq is empty before allocating it 2021-01-11 15:36:12 +01:00
Francisco Paisana f45d31d899 add fairness coefficient to UL. 2021-01-11 11:56:13 +01:00
Francisco Paisana ea8ad153c4 add configurable fairness parameter to pf scheduler 2021-01-11 11:56:13 +01:00
David Rupprecht ffe513415c stop gw in srsue nas test 2021-01-08 17:20:31 +01:00
David Rupprecht 1a10c783b5 Faking measurements 2021-01-08 17:20:08 +01:00
David Rupprecht f7d313147a Added infrastrukture for measurements
Init rrc_nr as part of the LTE stack
2021-01-08 17:20:08 +01:00
David Rupprecht 4305929ec7 Hardcoded NR/MRDC-Capabilities 2021-01-08 17:20:08 +01:00