Francisco
049ad77fca
simplify asn1 choice types with one single type with a packer
2021-01-20 20:46:29 +01:00
Francisco
c336c3eed2
added to_number() conversion of rrc_nr poll_byte
2021-01-20 17:13:29 +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
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
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
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
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
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
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
Francisco Paisana
ea8ad153c4
add configurable fairness parameter to pf scheduler
2021-01-11 11:56:13 +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
b79eef0860
Introducing nr_rrc <-> rrc interface for eutra and nr cap query
2021-01-08 17:20:08 +01:00
David Rupprecht
020d0dacc8
add the additional sec cap to NAS attach request
...
use same capabilities that are signaled for EUTRA
2021-01-08 17:20:08 +01:00
David Rupprecht
9eb0b72cb4
Added rrc function has_nr_dc
2021-01-08 17:20:08 +01:00
Andre Puschmann
c02aa8f124
liblte_mme: add DCNR UE capabilties packing
2021-01-08 17:20:08 +01:00
Andre Puschmann
4fa89b7039
pcap: make PCAP write thread-safe
...
* offload PCAP writing to background thread
* use blocking_queue between writer and clients to make it thread-safe
* add basic test case
this fixes point 1-3 of #2161
2021-01-04 11:05:02 +01:00
Andre Puschmann
2ca894df01
pdu: fortify RAR packing
...
detected with ASAN trying to write negative number of padding bytes.
The patch checks the calculated length and returns with an error
if the length is negative.
=================================================================
==5759==AddressSanitizer: while reporting a bug found another one. Ignoring.
m==5759==ERROR: AddressSanitizer: negative-size-param: (size=-6)
2021-01-03 21:46:41 +01:00
Xavier Arteaga
54a864e021
Added Initial NR-PRACH configuration for preamble format 0
2020-12-30 17:46:00 +01:00
Xavier Arteaga
b3200d9ef5
Renaming common UL/DL DMRS related types and initial NR PUSCH implementation
2020-12-30 13:39:08 +01:00
Xavier Arteaga
cc5fdb68f3
Added on-the-fly sequence for bit packed
2020-12-30 13:39:08 +01:00
Xavier Arteaga
d0a4b4d409
Changed DL-SCH LDPC scaling factor for decoding high rates
2020-12-28 10:11:08 +01:00
Xavier Arteaga
2e59f6a568
Applied LDPC fixes and minor aestheic modifications
2020-12-28 10:11:08 +01:00
Xavier Arteaga
13443c3f8c
Added number of DMRS CDM groups without data to NR grant
2020-12-28 10:11:08 +01:00
Xavier Arteaga
d413c1aaec
Fix base graph selection and improved PHY LIB logging
2020-12-28 10:11:08 +01:00
Xavier Arteaga
808bb3fb94
Fix string to modulation conversion and apply clang-format
2020-12-28 10:11:08 +01:00
Xavier Arteaga
0a06074158
Skip NR PDSCH allocation in PDSCH DMRS symbols
2020-12-28 10:11:08 +01:00
Xavier Arteaga
1775052144
Fix NR PDSCH DMRS cinit and zero after free
2020-12-28 10:11:08 +01:00
Francisco Paisana
74ffe393c6
asn1 update: s1ap asn1 is now v16.1 (2020-03)
2020-12-22 16:28:24 +01:00
faluco
92b11c1adb
Backport misc changes from the fapi repo.
2020-12-21 13:45:22 +01:00
Francisco Paisana
66aa34d173
update RRC NR ASN1 to 2020-09 v15.11
2020-12-18 12:50:37 +01:00
Andre Puschmann
d5daf60773
pdu_test: add unpacking test for DL-SCH PDU containing TA command
2020-12-18 12:28:52 +01:00
Andre Puschmann
c5514d7f80
pdu: fix to_string() for TA command
...
the get_ta_cmd() is returning uint8_t which stringstream
interprets as ASCII character by default. So the log message is bogus.
2020-12-18 12:28:52 +01:00
Pedro Alvarez
0ad0e9acac
Make sure that RLC entity is only re-created if it switches modes.
2020-12-18 10:52:51 +00:00
Pedro Alvarez
0c20b7a455
Added support for S1AP modify bearer request support. This includes:
...
- Handle received E-RAB S1AP at s1ap.cc.
- Added methods to rrc.cc, rrc_ue.cc and rrc_bearer_cfg.cc to handle erab modify request.
- Made RLC add_bearer() function capable of re-creating the RLC entity.
- Send RRC reconfiguration to the UE and reply to the EPC with S1AP
modify bearer response.
This commit also adds support to srsEPC to send S1AP modify bearer request for
testing purposes.
2020-12-18 10:52:51 +00:00
Andre Puschmann
48b37394f1
rlc: remove unneeded log entry
...
was added for testing only
2020-12-18 10:25:30 +01:00
Francisco Paisana
099dad8cb1
disable PHR handling in the UL sched by default
2020-12-17 17:56:42 +01:00
Francisco Paisana
e27c0869e5
update RRC ASN1 to 2020-09 v15.11
2020-12-17 17:55:58 +01:00
Andre Puschmann
bc4c9606ce
rlc_am: add extended bearer metrics
...
this patch adds support for measuring the:
* SDU rx latency (Average time in ms from first RLC segment to full SDU)
* amount of buffered bytes (sum of payload of PDUs buffered in rx_window)
the implementation is using std::chrono
2020-12-17 17:46:55 +01:00
Andre Puschmann
d54c33258b
rlc_metrics: add sdu rx latency and buffered bytes
2020-12-17 17:46:55 +01:00
Andre Puschmann
2e64fff1df
common: extend timestamp interface for byte_buffer
...
* allow setting timestamp to a specific std::chrono::time_point
* add getter from raw tp
2020-12-17 17:46:55 +01:00
Andre Puschmann
81cfce6cf0
rlc_um: remove latency calculation from RLC UM
2020-12-17 17:46:55 +01:00