9338 Commits (40fded72225be0e2ca174d73f7514c035d57d618)
 

Author SHA1 Message Date
Andre Puschmann 9550bd3ef8 rlc: revisit interface for MAC and RRC
* add locked and unlocked version of has_data() since one is
  called from stack and one from PHY threads

* add comments in each interface section as to why locking
  is required or not

* remove RLC rwlock when not required

* move calls only used by RRC to RRC section
4 years ago
Andre Puschmann 7f98cb9b62 pdcp: log discard timer duration in init()
to log the configured discard timer length
4 years ago
Andre Puschmann a578ff1975 pdcp: fix typo 4 years ago
Francisco Paisana b50f70e420 check if cqi is pending in all carriers to decide whether mcs needs to be reduced in PUSCH 4 years ago
Francisco Paisana 3f439cc947 account for current cqi config struct update in scheduler interface 4 years ago
Francisco Paisana 35fa5346b9 only reduce mcs if the current tti requires uci 4 years ago
Francisco Paisana 58c4bcf288 reduce mcs for UL grants carrying UCI 4 years ago
Pedro Alvarez c686e6cea1
SRSUE: Set SCell configuration is unlocking (#1544) 4 years ago
Ismael Gomez f662aeaff3
Remove unnecessary zero memory (#1564)
* RF drivers to allow nullptr buffers in send/recv

* Remove zeromem from radio

* remove unused buffers
4 years ago
Ismael Gomez 06eba7eb72 Discard cells if not found during cel selection 4 years ago
Andre Puschmann 138ec1f8e7 nas,usim: remove use of shadowed variables 4 years ago
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.
4 years ago
Ismael Gomez 7866f19f6b Use correct target cell when doing reselection in HO 4 years ago
Ismael Gomez 443dee7035
Changes in Cell Selection Procedure (#1557)
* Fixes RRC cell reselection procedure
4 years ago
Ismael Gomez 1eaf7efab0 Fix UL adaptive retx rv index 4 years ago
Andre Puschmann 5b2d1b609b fix typo in clang-format helper script 4 years ago
Xavier Arteaga 5cf2089a8c srsLTE: increased SRS test TA us threshold 4 years ago
Xavier Arteaga 794f969e1a srsLTE: fix TA calculation 4 years ago
Xavier Arteaga 729986f259 srsLTE: Added PUCCH format 3 valid correlation 4 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
4 years ago
Andre Puschmann c8b4ba885b rename rlc_tx_queue to byte_buffer_queue
this data structure will be used by the PDCP layer as well.
4 years ago
Andre Puschmann 4fd5395903 change default EARFCN to 3350 or 2.68GHz
as 3400 or 2.685 GHz is on the edge of band 7, some phones won't connect
to a 20 MHz cell on this EARFCN.

In order to simplify testing with other bandwidths we change the default EARFCN.
4 years ago
Francisco Paisana 4fb8011a6d updated phy controller to use task scheduler 4 years ago
Francisco Paisana 36fc88d2e2 fsm log macros, and utility methods to convert event callbacks to move tasks 4 years ago
Francisco Paisana 9c5471b094 more ergonomic event callback 4 years ago
Francisco Paisana 58a9610efa use of stack event loop to propagate cell search and selection results 4 years ago
Francisco Paisana d48a45976e moved cell selection/search complete event signalling out of phy_controller 4 years ago
Francisco Paisana 48138b5281 removal of phy cell selection procedure as it now it is replaced by phy controller 4 years ago
Francisco Paisana 489969722e implemented phy controller FSM to perform cell selection & search. The controller also tracks the phy sync state 4 years ago
Andre Puschmann 6fb01d61a7 rlc: change remaining occurances of "SN: " to "SN="
streamline all RLC AM and UM for better log analysis
4 years ago
Xavier Arteaga 137d250d66 srsLTE: fix ZMQ decimation pointer 4 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
4 years ago
Andre Puschmann 7a66a00e15 block_queue: add method to check if given queue is full 4 years ago
Xavier Arteaga f39abe0094 SRSENB: fix MAC pending PHY config 4 years ago
Francisco Paisana 5e06430455 removal of stack handler interface 4 years ago
Francisco Paisana 7c364070ee creation of task scheduler interface for classes/functions running outside the main control thread 4 years ago
Francisco Paisana 039977aeb5 renamed interfaces 4 years ago
Francisco Paisana 1a9c04bf2f use of task scheduler handle in pdcp 4 years ago
Francisco Paisana e9f34c7613 using task scheduler in enb stack 4 years ago
Francisco Paisana 4f5e65781f created task scheduler class to deal with timers, thread pool, multiqueue, internal tasks 4 years ago
Pedro Alvarez 89b6e0f714 Send paging message to all cells. 4 years ago
Francisco Paisana fe8f8be62d apply separate cqi configurations to scells 4 years ago
Andre Puschmann d5f0ad9f35 pdcp: fix typo 4 years ago
Pedro Alvarez 528777fa29 Added sleep to avoid nas test concurrency issue. 4 years ago
Andre Puschmann 2749c870e3 rlc_am: refactor control test
* move both tests into own functions and call those in main()
* use common test header and macros
4 years ago
Andre Puschmann 035c369a43 mac_pdu: fix check of remaining length when adding new subheader to MAC PDU
when adding a new subheader to a MAC PDU we should only add the subheader
if at least 2 bytes are left in the PDU. Even a 1 Byte MAC Control Element requires
another byte to pack the subheader.

This fixes #1424 in which a 3 B MAC opportunity is provided in the UL. After
adding the Short BSR, we tried to add another MAC subheader. Adding the subheader
succeeded even though no space is left to add a single byte. With this patch,
adding the subheader fails and the generates MAC PDU is correct.
4 years ago
Andre Puschmann 58e255cb63 pdu_test: add unit test to verify correct packing of 3B PDU with Short BSR 4 years ago
Andre Puschmann 5589816690 pdu_test: fix PCAP output
API now requires to pass CC index
4 years ago
Francisco Paisana 8c920837d6 fix issue when adding neighbour cell that matches serving cell 4 years ago
Francisco Paisana 43db9b81fb fix function ptr issue 4 years ago