1827 Commits (06eba7eb7281b0233b6312f09f87efb41e1518f3)

Author SHA1 Message Date
Andre Puschmann dc67d28709 nas: do not generate NAS encryption key if also is set to NULL
its more a cosmetic change to clean the logs. this makes
sure that a zero key is logged when NULL encryption is selected.
5 years ago
Ismael Gomez 1eaf7efab0 Fix UL adaptive retx rv index 5 years ago
Xavier Arteaga 5cf2089a8c srsLTE: increased SRS test TA us threshold 5 years ago
Xavier Arteaga 794f969e1a srsLTE: fix TA calculation 5 years ago
Xavier Arteaga 729986f259 srsLTE: Added PUCCH format 3 valid correlation 5 years ago
Xavier Arteaga 0192130742 SRSUE/SRSENB: UCI bits are carrier by the lowest serving cell index
SRSENB: Fix UCI in lowest serving cell index PUSCH transmission
5 years ago
Andre Puschmann 6fb01d61a7 rlc: change remaining occurances of "SN: " to "SN="
streamline all RLC AM and UM for better log analysis
5 years ago
Xavier Arteaga 137d250d66 srsLTE: fix ZMQ decimation pointer 5 years ago
Andre Puschmann a7911f0dab pdcp,rlc: refactor SDU queueing policy
this patch refactors the SDU queuing and dropping policy of the RLC and PDCP layer.
the previous design had issues when packets have been generated at a higher
rate above the PDCP than they could be consumed below the RLC.

When the RLC SDU queues were full, we allowed two policies, one to block on the write
and the other to drop the SDU. Both options are not ideal because they either
lead to a blocking stack thread or to lost PDCP PDUs.

To avoid this, this patch makes the following changes:

* PDCP monitors RLC's SDU queue and drops packets on its north-bound SAP if queues are full
  * a new method sdu_queue_is_full() has been added to the RLC interface for PDCP
* remove blocking write from pdcp and rlc write_sdu() interface
  * all writes into queues need to be non-blocking
  * if Tx queues are overflowing, SDUs are dropped above PDCP, not RLC
* log warning if RLC still needs to drop SDUs
  * this case should be avoided with the monitoring mechanism
5 years ago
Francisco Paisana 1a9c04bf2f use of task scheduler handle in pdcp 5 years ago
Andre Puschmann d5f0ad9f35 pdcp: fix typo 5 years ago
Andre Puschmann f6d3467884 ringbuffer: fix timeout calculation for timed read
with ZMQ RF, we've seen the radio returning -1 and traced
the issue down to the ringbuffer.
in fact, pthread_cond_timedwait() returned 22 (EINVAL) indicating
a wrong timeout value. The issue was likely an overflow
in the timespec parameter. This patch checks for the return
value of pthread_cond_timedwait() and also calculates the
nanosecond wrap around for the timespec
5 years ago
Andre Puschmann aed38a6028 rf_zmq: increase default ZMQ timeout to 2s
amarisoft flags an RF error and exits after not receiving samples
for the radio. Running with ZMQ in the RFCI, the UE sometimes needs more
time to start up due to slow processing and no fftw wisdom file and
then Amarisoft eNB times out. This gives the whole process a little
bit more time. Should we still find it too short we may increase
it further.
5 years ago
Andre Puschmann b3e92883d4 rlc_um: reduce log level when provided space is not enough to build PDU
this is not a warning case as it can always happen. reduce level to info therefore.
5 years ago
Andre Puschmann 95f5093432 rlc_am: hold lock while handling new PDUs
This lock was removed in 1cbf7eac because it was considered unneeded.
However, as can be seen in issue #1503, we need to protect the access
to rx_window, for example.

Issue #1503 shows a stack trace where a PHY worker generates a status PDU.
While holding the mutex to access rx_window, the stack thread on the
other hand, happily accesses the rx_window member without acquiring
the lock. This commit protects all handle_*() functions in write_pdu().

This reverts commit 1cbf7eac04.
5 years ago
Andre Puschmann 6f5da19312 pdcp: similar to tx, also reduce log for Rx
instead of logging PDU received from below, and SDU that is forwarded
to above, only log the PDU in rx in info mode.

The next layer will do the same and log the PDU received (which is the SDU coming from here)
so there is now loss of information in the logs.
5 years ago
Andre Puschmann 6654453e22 pdcp: reduce amount of log messages during tx
drop logging encrypted PDU seperately. Instead, only log formatted
PDCP PDU before passing to lower layers
5 years ago
Xavier Arteaga 6f03ce7e11 srsLTE: minor radio fix 5 years ago
Xavier Arteaga 67543a73bb Radio: fix erroneous offset 5 years ago
Xavier Arteaga 8966db31d8 srsLTE: Radio benchmark plots all ports 5 years ago
Andre Puschmann ff96336f91 rlc_um: fix reestablishment for sending UM entity
we've reset the rx state variables during reestablishment but not
the tx state variable.
5 years ago
Francisco Paisana 84f34bc736 changed to a label filtering approach for ctest 5 years ago
Francisco Paisana c6323478d2 remove unecessary sleeps in mac test, and add long_ prefix in long tests 5 years ago
Andre Puschmann eb56efe9f5 rlc_am_lte: turn error message into warning and print state variables
the issue doesn't cause any unrecoverable situation so its not
appropiate to use the error level
5 years ago
Andre Puschmann df50dd7d3c rlc: extend RLC metrics
extend RLC metrics to count Rx/Tx PDUs/SDUs bytes/#
5 years ago
Andre Puschmann 82f811ed52 rlc_am: change return value when writing SDU
return false when SDU couldn't be added to SDU tx queue so
to count dropped SDUs in base
5 years ago
Andre Puschmann 3cef20607e rlc_am: fix bug in returning zero len bytes 5 years ago
Andre Puschmann 86025cf390 rlc_um: fix PDU packing when newly added SDU segment was too large
during the PDU packing it could happen that a new SDU segment
was added but the resulting larger header was so big that not even
a single byte of the new PDU could be added. because this
corner case wasn't handled correctly an invalid PDU was transmitted.

the solution is to revert the addition of the new SDU.
5 years ago
Andre Puschmann fc3cd24177 rlc_um: fix counting of lost PDUs
* change try_push() return value to indicate whether the addition
  of the SDU to the tx queue was successful or not
* count lost PDUs
5 years ago
Andre Puschmann 96726a03e0 rlc_stress_test: fix PCAP support
expose actual RLC configuration to PCAP object
5 years ago
Ismael Gomez 493b7ea2da Remove SNR threshold based link failure detection 5 years ago
Francisco Paisana 2de702f50e disable carrier aggregation when ue release is below 10 or category is below 5 5 years ago
Francisco Paisana e555e50a90 fix pnf packing for MIB messages 5 years ago
Francisco Paisana e3e9bbcd62 fix PNF PDU size cutting 5 years ago
Francisco Paisana fddcbc9879 fix vnf-ue stack interface 5 years ago
Andre Puschmann ad1b9d4d9b rlc_um: improve warning message to better differentiate them 5 years ago
Francisco Paisana d7138b7752 fix nr activation guards 5 years ago
Ismael Gomez 29e126a583
Add per-channel TX gain (#1450)
* Change type of rf_set_gain() to avoid unambiguous return with negative gains

* Add per-channel TX gain
5 years ago
Francisco Paisana 52c6c6aafd add ifdef guards for NR code 5 years ago
Francisco Paisana b68ef69ab4 fix comments and other minor issues 5 years ago
Francisco Paisana 468389997e fix header sn check 5 years ago
Francisco Paisana 42969ad992 add tb size as argument to gnb 5 years ago
Francisco Paisana 2f8dad03cc add rlc nr locking 5 years ago
Francisco Paisana f0874b780b add radio_base/null classes 5 years ago
Francisco Paisana 64e8f5e3ed update license year 5 years ago
Pedro Alvarez 9c1a7d2cf1 Removed get_bearer_status in PDCP. Renamed get_state/set_state to
get_bearer_state/set_bearer_state.
5 years ago
Pedro Alvarez 208a539499 Split PDCP tx_count state variable into tx_hfn and next_pdcp_tx_sn
variables.
5 years ago
Pedro Alvarez 08578a7331 Switched to use a struct to hold the PDCP entity state variables. Deleted some unecessary setters. 5 years ago
Pedro Alvarez 66d4f320e5 Added intereface to set PDCP state after reestablishment. 5 years ago
Pedro Alvarez 33567d81db Added interface to get internal PDCP state. 5 years ago