1042 Commits (fab86382c1e24df96f95c196206d5966f74cb639)

Author SHA1 Message Date
Xavier Arteaga fda1d040e7 SRSENB: implement PUSCH threshold for UCI bits 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
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 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
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
Francisco Paisana e550bf726d updated fsm to allow enter methods to receive event that caused them 4 years ago
Francisco Paisana 504e3a1b7a fix max retx configuration in scheduler and updated tester to catch the error 4 years ago
Andre Puschmann 4c667bd478 rrc_ue: improve logging of CA activation
* check Pcell has configured Scells when entering function
* log if UE doesn't support CA (only if scells are configured)
* log info about CA activation only after all checks have passed
* fix typo
4 years ago
Pedro Alvarez 5ed6c18ac7 Copy E-UTRA capabilities to new RNTI in reestablishment. 4 years ago
Francisco Paisana d7a0fe4060 improve log messages for CA 4 years ago
Francisco Paisana 1899c468d3 updated rrc mobility test 4 years ago
Francisco Paisana 97d20ca579 remove obsolete bearer cfg methods 4 years ago
Francisco Paisana 0929a9de62 created rrc mac_controller class to handle the configuration of scheduler 4 years ago
Francisco Paisana 7ab4b5f723 fix long bsr handling 4 years ago
Francisco Paisana af58597647 fix mac tb building in scheduler 4 years ago
Francisco Paisana cb7f620254 created separate class to manage bearers buffers/status reports in the scheduler 4 years ago
Pedro Alvarez 45b8392a4c Added user warning to invalid configuration of RRC inactivity timer. 4 years ago
Pedro Alvarez 8e00febb1d srsENB: Derive inactivity timeout from T310 and T311 and N310. 4 years ago
Francisco Paisana 2cb80f9bf3 remove rnti in mac/phy in staged manner. First the "upper mac", and then the "lower mac" and phy 4 years ago
Ismael Gomez 493b7ea2da Remove SNR threshold based link failure detection 4 years ago
Francisco Paisana ced1afdbe7 check supported band combination r10 to determine if a UE supports CA 4 years ago
Francisco Paisana 790b32f6f5 fix CA ue category check 4 years ago
Francisco Paisana 2de702f50e disable carrier aggregation when ue release is below 10 or category is below 5 4 years ago
Xavier Arteaga 31d7124ae7 SRSENB: Added initial PUCCH format 3 default for more than 2 serving cells 4 years ago
Francisco Paisana e3e9bbcd62 fix PNF PDU size cutting 4 years ago
Francisco Paisana 421d5f3852 merge next 4 years ago
Francisco Paisana 86adbfceae fix nr stack activation 4 years ago
Francisco Paisana 167c83d02c set gnb coreless default tun itf 4 years ago
Francisco Paisana e6ef201cb0 disable warning when there is no space in the scheduler PDCCH 4 years ago
Francisco Paisana 535d4b70f3 avoid capturing callback parameters by reference to avoid dangling pointers 4 years ago
Francisco Paisana d7138b7752 fix nr activation guards 4 years ago
Francisco Paisana ddff68a546 add ifdef guards for NR code 4 years ago
Francisco Paisana 6735199728 fix nr optional linking 4 years ago
Francisco Paisana b68ef69ab4 fix comments and other minor issues 4 years ago
Francisco Paisana 42969ad992 add tb size as argument to gnb 4 years ago
Francisco Paisana f0874b780b add radio_base/null classes 4 years ago
Ismael Gomez e26653c87f Move tti_clock() call from worker_end to txrx class in enb 4 years ago
Pedro Alvarez 9c1a7d2cf1 Removed get_bearer_status in PDCP. Renamed get_state/set_state to
get_bearer_state/set_bearer_state.
4 years ago
Pedro Alvarez 208a539499 Split PDCP tx_count state variable into tx_hfn and next_pdcp_tx_sn
variables.
4 years ago
Pedro Alvarez fb088a8c54 Restoring PDCP state only when using RLC AM. 4 years ago
Pedro Alvarez 66d4f320e5 Added intereface to set PDCP state after reestablishment. 4 years ago
Pedro Alvarez 217f16d137 Getting PDCP state on re-establishment. 4 years ago
Pedro Alvarez 33567d81db Added interface to get internal PDCP state. 4 years ago
Xavier Arteaga f04cf2090a Integrates number of samples in radio buffer
Fix minor issue

Radio: Fix minor bug and add unit test
4 years ago
Xavier Arteaga 89b24b54e5 Refactored radio class for acommodating multiple RF devices 4 years ago
Andre Puschmann e2146e90ad enb: remove usleep after sending RRC Connection Release to UE
this cause a "dead-lock" with ZMQ because it made the stack
thread sleep for 50ms. With a sync-queue size of 1 (now the default
using ZMQ) the zmq-based radio to timeout. as a result
the rx/tx between UE and eNB stopped so the UE never reached
RRC Idle state.
4 years ago
Francisco Paisana cd0202aeaf use alternative method for conres CE scheduling 4 years ago
Francisco Paisana df1f8836b1 fix issue #1418 by changing the ConRes CE scheduling mechanism 4 years ago
Andre Puschmann 06d31f46ba enb: set maximum allowed TTI difference between PHY and Stack TTI clocks for ZMQ
this fixes the issue where PHY and MAC threads, and the processing
of events therein, are drifting apart too much.

This patch effectivly enforces a strong wait on the PHY if the
stack thread is too slow in processing its tasks.

For RF hardware the default is still 8192 TTIs, for ZMQ 1 TTI is used.
4 years ago
Andre Puschmann a1d64c1efe enb: improve error message when RAR cannot be sent 4 years ago
Francisco Paisana 3c2e3dbdbf added latest mac nr updates 4 years ago
Francisco Paisana 057980d1fb use common log helper macros 4 years ago
Francisco Paisana 27e5d98ef9 added vnf phy nr 4 years ago
Francisco Paisana 6509399ed3 fix for move-only events 4 years ago
Francisco Paisana 611a1c667f remove the requirement that pusch grant for uci data being a newtx 4 years ago
Francisco Paisana 1393bd11fa avoid using PUCCH for SCell DL allocations 4 years ago
Francisco Paisana d859c33035 added check for UCI collision during DL scheduling for CA 4 years ago
Francisco Paisana 53b85691b5 moved sf result to sched class. This way each carrier has a view to the results of the remaining carriers in the same subframe 4 years ago
Francisco Paisana 5d33acdb53 changed name of sched_ue_carrier class 4 years ago
Ismael Gomez 60b5fb9a74 Refactor variable name 4 years ago
Ismael Gomez edb1fcc892 srsENB: Apply new PUCCH configuration when setting dedicated config 4 years ago
Pedro Alvarez 9df40c3af0 Added debug GTPU print. 4 years ago
Andre Puschmann 8512c10286 create simple helper method to log command line arguments 4 years ago
Andre Puschmann db7478e9f0 enb: fix eNB shutdown if layers cant be initialized
this fixed #1392 which ocurrured because we were going on with the eNB
init even if the radio failed to initialize
4 years ago
Xavier Arteaga 039f2164a6 Initial Sounding Reference Signals implementation 4 years ago
Francisco Paisana 857c4de420 extended handover test to check for correct SR/CQI resource setup 4 years ago
Francisco Paisana 7ce23e0afb extend handover intraenb handover fsm to account for multiple C-RNTI CEs 4 years ago
Francisco Paisana b843585abc add srsgnb stack class 4 years ago
Francisco Paisana f5174415f8 add srsenb::sdap class 4 years ago
Francisco Paisana 613003ac53 add srsenb::rrc class 4 years ago
Francisco Paisana 0916e29de4 add srsenb::rlc_nr class 4 years ago
Francisco Paisana 9001117b2d add srsenb::pdcp_nr class 4 years ago
Xavier Arteaga 6398cd841d SRSENB: PHY reports MAC all UL grants 4 years ago
Xavier Arteaga fbce38dc27 SRSENB: PHY tries to remove always the RNTI in PHY-lib. No error messages prompted. 4 years ago
Francisco Paisana 6908e0fab1 disabled all UL in the MAC during handover, including scheduling requests 4 years ago
Pedro Alvarez 960c0e97cd Added handling of RRC re-establishment to srsENB.
* Added the appropriate code for handling and sending the
   re-establishment procedure messages to rrc_ue.c/.h.
 * Triggered RRC reconfiguration after the reception of RRC
   re-establishment complete
 * Refreshed K_eNB at the reception of re-establishment
   request
 * Changed the mapping of TEIDs to RNTIs in the GTP-U layer,
   as the RNTI might change with reestablishment.
4 years ago
Francisco Paisana 452c043370 created a global map of lcids to srbs/drbs for NR 5 years ago
Francisco Paisana 6a164e032d added srsue::rrc_nr 5 years ago
Francisco Paisana 43635c3fa1 added cqi cfg to handover command 5 years ago
Francisco Paisana 026628a84f use of reestablishment method to reset the RLC bearers during handover 5 years ago
Ismael Gomez 6a19a19f00 Fix memory fault during exiting and waiting for worker 5 years ago
Francisco Paisana 9a0ea6e08c use log_helper for log macros 5 years ago
Francisco Paisana edba7f57e4 corrected mac_nr_pdu includes 5 years ago
Francisco Paisana d7b35ba7d1 added nr mac 5 years ago
Andre Puschmann a0e4b18507 enb_mac: pre-allocate UE object for quicker PRACH/RAR handling
we've seen long delays in handling PRACH on low-power devices
such as the RPi4. This was mainly caused by long delays
in creating the UE object on the fly during PRACH handling.

This patch pre-allocates one UE object that is then used
during the PRACH.
5 years ago
Ismael Gomez 270c7ce9dc Separate PHY interface to add rnti and pregenerate sequences. Calculate the sequences on the reception of ConnectionSetup instead of PRACH 5 years ago
Francisco Paisana d36ae722d5 added extra debug logs 5 years ago
Ismael Gomez a1f0f8de35
Add callback to RLC to indicate BSR for TX and reTX queues (used in ENB) (#1361) 5 years ago
Francisco Paisana 860174a819 remove comment and changed handover_type enum 5 years ago
Francisco Paisana b37923312e added intraenb handover fsm and respective test 5 years ago
Francisco Paisana 65ef16c7f1 void sending rrc connection release as msg4 5 years ago
Francisco Paisana 61680d64d7 move rrc::ue to separate file 5 years ago
Xavier Arteaga 9d5c2d70df SRSENB: Fix PHY reconfiguration for HO
Minimal aesthetic change
5 years ago
Francisco Paisana 7713df2cf9 fix fixed mcs issue 5 years ago
Pedro Alvarez 51f8ba60da Make MBMS MCS configurable for the eNB. 5 years ago
Francisco Paisana 04961148e9 removed old code to compute meas obj diffs 5 years ago
Francisco Paisana b8339031f6 updated code for crnti update during handover and reset of the mac 5 years ago
Francisco Paisana 45cd893e21 update handover test 5 years ago
Francisco Paisana e8aff22e1b using new rrc obj id util methods in handover code 5 years ago
Francisco Paisana f43985b6cd small updates for testing handover and configuring the rrc 5 years ago
Francisco Paisana f2af447b1a use of unique_byte_buffer for sib scheduling to allow for padding 5 years ago
Francisco Paisana 598bad1f0e changed rrc ue cfg files names 5 years ago
Francisco Paisana ea5ba93f25 changed file names 5 years ago
Francisco Paisana ad03d7caf7 move position of security cfg 5 years ago
Francisco Paisana d43448e8a1 created security cfg handling class for rrc ue and refactor bearer_list handling 5 years ago
Francisco Paisana 09cafaa4bb update ded_info_nas_list handling 5 years ago
Francisco Paisana 2e4e22dc68 revert clang-format change 5 years ago
Francisco Paisana 1ac91f2f93 updated erab_setup_test 5 years ago
Francisco Paisana 0515229240 perform mac bearer addiction via the bearer handler class 5 years ago
Francisco Paisana 6bcb5910c9 usage of new bearer list cfg class for srb1/srb2 setup 5 years ago
Francisco Paisana ca0db7fffe created generic methods to apply toaddmodlist and removelists. 5 years ago
Francisco Paisana c65c081b51 created separate files to handle rrc bearers 5 years ago
Francisco Paisana dbcaec6689 avoid dangling reference 5 years ago
Francisco Paisana 71520d681a changes in pucch res allocation api to allow replacing p/scells 5 years ago
Andre Puschmann c892ae56be rrc_cell_cfg: fix potential div by zero
similar fix has been applied for SR resources
5 years ago
Andre Puschmann 248e2b5f7e rrc: fix potential division by zero 5 years ago
Xavier Arteaga b11ffaee7e SRSENB: fix channel emulator for multiple channels 5 years ago
yagoda 210eae8e7e fixing small rr.conf config error 5 years ago
Francisco Paisana aab989022d avoid forward declarations 5 years ago
Francisco Paisana 08e1f01c72 allocation of the sr/cqi/pucch_cs resources takes place at a frequency basis now 5 years ago
Francisco Paisana ee994468f7 separate sr and pucch_cs allocation from rrc class 5 years ago
Francisco Paisana b16c7c1cfa created separate cqi res allocation types 5 years ago
Francisco Paisana 4b525127c9 created separate cell ctxt common list 5 years ago
Francisco Paisana 3c29bce014 apply segmentation break check to newtxs only. Allow configurable cqi 5 years ago
Francisco Paisana c75e31db03 added random cqi to sched tester 5 years ago
Francisco Paisana 500a7f6357 created new separate ue class in sched tester to handle acks and harq tests 5 years ago
Pedro Alvarez 2ea78c8feb Added configuration options for stack logging. 5 years ago
yagoda 3f99e40159 -changing rlc so that mrb is never removed when going to idle
-adding metric counting to eMBMS MAC so that the count is not lost during eMBMS subframes
5 years ago
Xavier Arteaga d94078d543 Minor changes
Fix UE sequence generation

minor change
5 years ago
yagoda 94f62b54ad fixing some bugs in embms with new stack and cc scheduler in enodeb 5 years ago
Ismael Gomez 8c82203c74 Removed unused pregenerate option 5 years ago
Andre Puschmann 8d7a336bee enb: fix ok/nok packets
fix ok/nok counter, since we do not count the correctly
decoded packets explicitly, we need to calculate them from
the total number of pkts minus the failed pkts to avoid this:

------DL--------------------------------UL------------------------------------
rnti cqi  ri mcs brate   ok  nok  (%)  snr  phr mcs brate   ok  nok  (%)   bsr
  46 6.2   0 0.0     0    0    0   0% 0.11  0.00.10     0  900  900 100% 15.3k
  46 7.9   0 0.0   504    1    0   0% 0.11  0.00.10     0  900  900 100% 15.3k
5 years ago
Francisco Paisana b69b274c63 comment removed 5 years ago
Francisco Paisana 6f02c067b3 fix cell ptr assignment 5 years ago
Francisco Paisana 5ef6031b44 added ability to use single-carrier if we are unable to allocate resources for the scells 5 years ago
Francisco Paisana 439193e4b0 added code to handle fail to alloc ue cqi and sr 5 years ago
Xavier Arteaga f200c01566 SRSENB: PUSCH EVM measure is optional and disabled by default 5 years ago
Pedro Alvarez 6a65cb0624 Accept both decimal and hexadecimal for enb_id 5 years ago
Francisco Paisana 5f4b0b1e0c added default sf_mapping for cqi and sr in the enb parser 5 years ago