7131 Commits (de669d214acf5bc6d238488bebdebfdc1ac24644)
 

Author SHA1 Message Date
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
4 years ago
Andre Puschmann 732a108982 mac: convert rar_pdu_msg[] from vector into array and protect access
attempt to address ASAN detected issue:

RACH:  tti=821, cc=3, preamble=11, offset=0, temp_crnti=0x47
ASAN:DEADLYSIGNAL
=================================================================
m==25385==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000024 (pc 0x564b19a26c93 bp 0x7fa0e5f1a8c0 sp 0x7fa0e5f1a798 T8)
==25385==The signal is caused by a WRITE memory access.
==25385==Hint: address points to the zero page.

------DL--------------------------------UL------------------------------------
rnti cqi  ri mcs brate   ok  nok  (%)  snr  phr mcs brate   ok  nok  (%)   bsr
  46 0.10   0 0.0     0    0    0   0%    0  0.0   0     0    0    0   0%   0.0
  47 0.10   0 0.0     0    0    0   0%    0  0.0   0     0    0    0   0%   0.0
    #0 0x564b19a26c92 in srslte::rar_subh::set_ta_cmd(unsigned int) /mnt/data/jenkins/workspace/srslte_ogt_manual_zmq/srsLTE/lib/src/mac/pdu.cc:1136
    #1 0x564b19577f7e in srsenb::mac::assemble_rar(srsenb::sched_interface::dl_sched_rar_grant_t*, unsigned int, int, unsigned int, unsigned int) /mnt/data/jenkins/workspace/srslte_ogt_manual_zmq/srsLTE/srsenb/src/stack/mac/mac.cc:837
    #2 0x564b19591765 in srsenb::mac::get_dl_sched(unsigned int, std::vector<srsenb::mac_interface_phy_lte::dl_sched_t, std::allocator<srsenb::mac_interface_phy_lte::dl_sched_t> >&) /mnt/data/jenkins/workspace/srslte_ogt_manual_zmq/srsLTE/srsenb/src/stack/mac/mac.cc:653
    #3 0x564b19497ee2 in srsenb::lte::sf_worker::work_imp() /mnt/data/jenkins/workspace/srslte_ogt_manual_zmq/srsLTE/srsenb/src/phy/lte/sf_worker.cc:208
    #4 0x564b199f8db4 in
4 years ago
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)
4 years ago
faluco 63bd43fa52 Upgrade the swapping logic of the file sink to use the new srslog functionality. 4 years ago
Xavier Arteaga 54a864e021 Added Initial NR-PRACH configuration for preamble format 0 4 years ago
Xavier Arteaga b3200d9ef5 Renaming common UL/DL DMRS related types and initial NR PUSCH implementation 4 years ago
Xavier Arteaga cc5fdb68f3 Added on-the-fly sequence for bit packed 4 years ago
Andre Puschmann d0d7ab4662 srsenb: log cell gain updates
add a logline in info whenever the user updates the cell individual
gain. Note that this log happens before checking whether the
cell even exists and can be updated. This is mainly because
phy_common doesn't have an own logger object.
4 years ago
Andre Puschmann 52da9eb46f srsue,phy: fix setting of PHY log level
probably a regression from the new log system integration.
it was disabling PHY logs, from PRACH for example.
4 years ago
Andre Puschmann 3573644624 srsue: fix stdout metrics print when scells aren't configured yet
during MAC reset, scells are reset to and their PCI is set to UINT32_MAX
which results in malformatted stdout prints, see below:

Random Access Transmission: seq=16, ra-rnti=0x2
Random Access Transmission: seq=14, ra-rnti=0x2
 0   4   -24    24  -1.1u   1.0   140  0.50    0.0     0%   0.0   0.0    0.0    0.0    67%
 14294967295   0.0   0.0  -1.1u   0.0   0.0   0.0    0.0     0%   0.0   0.0    0.0    0.0     0%
 24294967295   0.0   0.0  -1.1u   0.0   0.0   0.0    0.0     0%   0.0   0.0    0.0    0.0     0%
 34294967295   0.0   0.0  -1.1u   0.0   0.0   0.0    0.0     0%   0.0   0.0    0.0    0.0     0%

this patch checks the configured PCI value against UINT32_MAX and
prints "n/a" in case the scells aren't set yet.
4 years ago
Xavier Arteaga 909e5de34f Fix NR workers 4 years ago
Xavier Arteaga d0a4b4d409 Changed DL-SCH LDPC scaling factor for decoding high rates 4 years ago
Xavier Arteaga 2e59f6a568 Applied LDPC fixes and minor aestheic modifications 4 years ago
Xavier Arteaga 13443c3f8c Added number of DMRS CDM groups without data to NR grant 4 years ago
Xavier Arteaga d413c1aaec Fix base graph selection and improved PHY LIB logging 4 years ago
Xavier Arteaga 808bb3fb94 Fix string to modulation conversion and apply clang-format 4 years ago
Xavier Arteaga 0a06074158 Skip NR PDSCH allocation in PDSCH DMRS symbols 4 years ago
Xavier Arteaga 1775052144 Fix NR PDSCH DMRS cinit and zero after free 4 years ago
Ismael Gomez 6348ddefd5 Add option to run prach_worker in the caller thread instead of by a background worker. This is useful when running simulations with ZMQ, to avoid the prach worker to take too much time and miss the RAR deadline 4 years ago
Francisco Paisana 74ffe393c6 asn1 update: s1ap asn1 is now v16.1 (2020-03) 4 years ago
Francisco Paisana 9de318c7e6 avoid allocating DL harqs when respective acks are still pending, when there is a reordering of ttis in the phy 4 years ago
faluco 92b11c1adb Backport misc changes from the fapi repo. 4 years ago
faluco 88611fe0ab Added the latency and buffered bytes bearer metrics. 4 years ago
faluco d3964c70ea Dump to the json reporter the missing bearer metrics. 4 years ago
Ismael Gomez 1d0e5d725f Do not hide symbols in debug mode so backtraces can display function info 4 years ago
Francisco Paisana 66aa34d173 update RRC NR ASN1 to 2020-09 v15.11 4 years ago
Andre Puschmann d5daf60773 pdu_test: add unpacking test for DL-SCH PDU containing TA command 4 years ago
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.
4 years ago
Pedro Alvarez 0ad0e9acac Make sure that RLC entity is only re-created if it switches modes. 4 years ago
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.
4 years ago
Andre Puschmann 48b37394f1 rlc: remove unneeded log entry
was added for testing only
4 years ago
Francisco Paisana 099dad8cb1 disable PHR handling in the UL sched by default 4 years ago
Francisco Paisana e27c0869e5 update RRC ASN1 to 2020-09 v15.11 4 years ago
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
4 years ago
Andre Puschmann d54c33258b rlc_metrics: add sdu rx latency and buffered bytes 4 years ago
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
4 years ago
Andre Puschmann 81cfce6cf0 rlc_um: remove latency calculation from RLC UM 4 years ago
Xavier Arteaga 533222f245 NR PDCCH fixes 4 years ago
Xavier Arteaga a746e29395 Removed shadow variable 4 years ago
Xavier Arteaga 99ca2d2f14 Add polar interleaver 4 years ago
Xavier Arteaga 3662210842 Fix external softbuffer inclusion 4 years ago
Francisco Paisana 1ea635f9ae asn1 utils fix: avoid unpacking an unconstrained integer length twice 4 years ago
Francisco Paisana 6803f48cc0 cell selection and reest rrc procedures were causing a callstack reentrancy problem. This issue was circumvented with a defer_task call 4 years ago
Andre Puschmann e43eab8b5f rlc: fix rate metrics (nan,inf values), use std::chrono
similar to GW, we remove gettimeofday and use std::chrono.
we also make sure to reset the metrics after reestablishment
4 years ago
Andre Puschmann c8801578df gw: use std::chrono for metrics and fix nan display
* replace gettimeofday with std::chrono
* fix nan printing when nof_tti is zero (at startup)
4 years ago
David Rupprecht 81609d48dd Added measurment report for interrat nr15
Added function for removing interrat triggers
4 years ago
David Rupprecht 5df2fb1fa1 Added rrc has nr neighbour cells 4 years ago
David Rupprecht 0e4d77da76 Refactor eutra reporting code and add report triggers for inter rat measurements 4 years ago
David Rupprecht e4e67eebce Added infrastucture to process measurments and evaluate interrat triggers 4 years ago
David Rupprecht 25e5b88704 Added NR range_to_value function and debug logging for measurements 4 years ago