8396 Commits (3fe91767500d06d166185e20b7978515cc6e05a1)
 

Author SHA1 Message Date
Francisco 7e77da6a15 mac,optimization: use rnti memory pool to create mac::ue objects 3 years ago
Francisco fd1d73666c bugfix,srsenb,mac: avoid sanity check for UL PDU length if CRC=KO 3 years ago
Francisco 76004a3054 enb,mac,refactor: mac::ue now uses byte_buffer_pool for UL PDUs 3 years ago
Francisco 9e2a7d4592 bugfix,tpc: only cap PUSCH TPC when PHR is negative. I also extended TPC unit test 3 years ago
Francisco bdc4362475 bugfix,tpc: place a cap on TPC due to PHR only when TPC is positive 3 years ago
Francisco 7badfb1c88 bugfix: avoid multiple TPC=0 for a single PHR<0 3 years ago
Francisco e2c37ad513 bugfix: missing early return in TPC derivation 3 years ago
Francisco 75eebd6b5d bugfix,gtpu: close forwarding tunnel during reestablishment due to handover failure 3 years ago
Francisco 597f993706 sched,improvement: filter out Msg3 UL SNR estimates from the TPC control loop 3 years ago
Andre Puschmann 295b5fe8fb rlc_tm: fix stopping of entity detected with TSAN 3 years ago
Andre Puschmann a013a2fe05 rlc_stress_test: fix bug when read_pdu was returning -1 3 years ago
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.
3 years ago
Francisco 539ca47fe2 lib,bugfix: fix blocking queue unit test. Dtor cannot destroy object while a thread is still pushing data 3 years ago
Xavier Arteaga 60f294a6a1 Refactor PDCCH encode/decode unit test 3 years ago
Xavier Arteaga 5ddc974beb Reverted PDCCH threshold 3 years ago
Xavier Arteaga d46be09663 Increase viterbi default number of iterations 3 years ago
Xavier Arteaga 090022568e DCI NCCE find considers L and NCCE 3 years ago
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.
3 years ago
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.
3 years ago
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.
3 years ago
Andre Puschmann 9612bb0e14 rlc_am_test: fix status PDU test and add extra test for failure signaling 3 years ago
Andre Puschmann aaffdeb326 rrc,rlc: add method to signal protocol failure to RRC
general-purpose method for lower layers to signal protocol
failures to higher layers, i.e. RRC.

In the current case, implement a direct release of the UE (enb) or
a reestablishment (UE).
3 years ago
Andre Puschmann 107f6334dd compile: fix compilation on 32bit systems that require -latomic 3 years ago
Andre Puschmann 5d238a6d80 cmake: fix compilation with MSAN and enable origin tracking 3 years ago
Andre Puschmann 80a89ec4bf enb,mac: protect concurrent access to ue_db from different threads
race condition between PHY worker(s) and Stack thread when
accessing ue_db member. RWlock needs to be hold.

partly fixes #2932
3 years ago
faluco 3df72cb6ab Move out a free call in a RT thread when doing lots of rachs. 3 years ago
Francisco ceaef3523f sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing 3 years ago
Francisco 486823e5de sched,bugfix: The PHR handling scheme now considers the number of PRBs of the UL grant that carried the PHR. Before, it was assuming the most conservative scenario of Nprb=1 3 years ago
Francisco f7aef3ffc1 sched,bugfix: fix nof_retx update when UL HARQs are resumed 3 years ago
Xavier Arteaga d74f70289e SRSUE: fix last reported RI state 3 years ago
Ismael Gomez 5cef780789 Radio-link KO notification. Measgap fix 3 years ago
Francisco 92e272ce3e limit minimum UL grant size to accommodate both BSR and RLC headers 3 years ago
Ismael Gomez 5db3030428 Tiny changes 3 years ago
Francisco 3b61df4b64 test,sched: update TPC test to reflect changes in SNR estimatioN 3 years ago
Francisco 89406b07d6 make eNB UL SNR initial value an exponential average alpha configurable 3 years ago
Francisco 2a2c56391c sched,refactor: Improve DL/UL grant log lines in the scheduler to print CFI as well 3 years ago
Francisco dda52afe61 move rrc unit tests to rrc/ folder 3 years ago
Francisco 47494a668d rrc,bugfix: fix reestablishment crash due to pointer invalidation 3 years ago
Francisco 3f75538660 rrc,feature: Use t301 to set time that the enb waits for the UE RRCConnectionSetupComplete or ReestablishmentComplete 3 years ago
Francisco 0349949cce bugfix, handover: disable inactivity timer during s1 handover in target enb 3 years ago
Francisco 19af55b63d bugfix, handover: Avoid sending UEContextReleaseRequest from Target eNB during S1 Handover due to UL KOs 3 years ago
Andre Puschmann b0a2f31478 prach: protect configuration and state getters with mutex
purely TSAN with unit-test based approach that protects
the state getters and configuration routines with a mutex
3 years ago
Andre Puschmann d2ec3ca5e1 intra_measure_base: fix race detected with TSAN
use mutex to protect state getters
3 years ago
Andre Puschmann f43e82a8a6 ue_phy_test: fix test 3 years ago
Andre Puschmann 98a91a2057 sync: protect sync_state, access ue_sync object only from one thread
races detected with TSAN, primarily the ue_sync object which isn't
thread-safe is accessed by all workers to set the CFO and by the
sync thread to receive samples (which read the CFO).

The patch introduces shadow variables that are updates from the
main thread before/after the sync is executed. The atomic shadow
variables can then be read from otherthreads without holding a
mutex, i.e. blocking the sync.
3 years ago
Andre Puschmann 1529379e9e fec,pbch: remove unused variables
unused code that moreover was causing TSAN to complain, e.g.
in the ue_phy_test
3 years ago
Andre Puschmann 7ee38e6255 threads: disable thread attributes when compiled with TSAN
TSAN doesn't work well then threads are created with attributes
thar require root rights but the process is run as normal user.

this patch avoid the thread attributes in this case. TSAN isn't going
to be used for production builds.
3 years ago
Andre Puschmann b88f22b9fe network_utils_test: fix race detected with TSAN 3 years ago
Andre Puschmann f823340a95 rf_imp: fix race when stopping gain thread
detected with TSAN using benchmark_radio test
3 years ago
Andre Puschmann 716caafd6c multiqueue_test: fix race reported by TSAN 3 years ago