Commit Graph

463 Commits

Author SHA1 Message Date
faluco fdb4b91e98 Adapt the enb metrics to allow adding a PCI field for each CC.
Include the PCI field in the enb JSON metrics.
2021-09-07 16:36:56 +02:00
Andre Puschmann 88bb92dc0d mac_nr,sched: handle C-RNTI CE 2021-09-06 10:35:59 +02:00
Francisco Paisana e146345df0 sched,nr: add ue removal method to nr sched 2021-09-04 11:34:56 +02:00
Francisco Paisana a7bf1ad26d sched,nr: use NR UL DCI to fill RAR grant contents 2021-09-03 12:50:36 +02:00
Andre Puschmann 548c45a8fc enb,mac_nr: add RAR packing 2021-09-03 12:09:41 +02:00
Francisco Paisana cb2c339456 sched,nr: fix max number of UEs in NR scheduler 2021-09-03 12:05:55 +02:00
Francisco Paisana 75cd71b794 sched,nr: fix older gcc compilation array initialization 2021-09-01 20:08:11 +02:00
Francisco Paisana 510a87e4b2 sched,nr: added logic to update UE DL and UL buffer status 2021-09-01 20:08:11 +02:00
Francisco Paisana 020bec025e sched: created class common to LTE and NR for ue buffer status management 2021-09-01 20:08:11 +02:00
Francisco Paisana de06dbc684 sched,nr: implemented basic UE buffer status manager 2021-09-01 20:08:11 +02:00
Francisco Paisana 2fb2598f8c sched,nr: avoid extra copy of DL result and other small fixes 2021-09-01 20:08:11 +02:00
Francisco Paisana b311806179 mac,nr: avoid repacking NR DL retxs 2021-08-31 15:46:05 +02:00
Francisco Paisana 01441d143d mac,nr: avoid use of uninitialized rnti value 2021-08-31 15:46:05 +02:00
Francisco Paisana fec60344dd sched,nr: fix rar softbuffer allocation 2021-08-27 15:50:23 +02:00
Francisco Paisana 04e5c81edf sched,nr: nr_phy_test now uses the whole mac class rather than just the scheduler 2021-08-27 15:50:23 +02:00
Francisco Paisana 05a5f4115f sched,nr: extended sched nr DL output to account for RAR content and assist with RAR encoding in the mac_nr class 2021-08-27 15:50:23 +02:00
Francisco Paisana b486d2a1b5 sched,nr: implement prb grant fmt formatting 2021-08-26 12:09:11 +02:00
Francisco Paisana da4b7e4f80 sched,nr: fix sched RAR NR test; update test assert macros 2021-08-26 12:09:11 +02:00
Francisco Paisana 8f00c9363c sched,nr: change ra nr sched and bwp allocator interfaces 2021-08-26 12:09:11 +02:00
Francisco Paisana 664bc626bf sched,nr: creation of basic logic for NR SI scheduling 2021-08-24 10:29:36 +02:00
Francisco Paisana f518861ebc fix location of support/ folder. Created macros for ASSERT_EQ and ASSERT_NEQ 2021-08-23 16:47:54 +02:00
Francisco Paisana 599fc978a5 improvement of srsran_assert design, with specializations to enable/disable assertions based on compile flags other than ASSERTS_ENABLED. Creation of the support/ folder 2021-08-23 16:47:54 +02:00
Francisco Paisana a366982e06 sched,nr: fix derivation of RAR window 2021-08-20 18:54:28 +02:00
Francisco Paisana 9855450a4a sched,nr: use real ra-WindowSize in NR scheduler 2021-08-19 18:08:25 +02:00
Francisco Paisana 24cbf1a0c1 sched,nr: fix msg3 retransmissions and add it to the sched nr random test. 2021-08-18 14:25:16 +02:00
Francisco Paisana a61d59993f sched,nr: created time-domain round-robin scheduler 2021-08-18 14:25:16 +02:00
Francisco Paisana eecfee365b sched,nr: fix softbuffer dimensioning for NR scheduler. Renamed sched_nr_rb_grid file 2021-08-18 14:25:16 +02:00
Andre Puschmann c03623863b enb,nsa: fix UL PDU processing
* remove const from pusch_info() MAC/PHY interface to allow moving unique byte buffer
2021-08-05 10:28:29 +02:00
Andre Puschmann fc35c0ee51 enb,nsa: fix packing of DL MAC PDUs
* use byte_buffer_t as interface type for DL PHY-MAC interface
* fix missing clear() for new DL tx
2021-08-05 10:28:29 +02:00
Andre Puschmann f1658cbf98 enb,mac_nr: fix handling of UCI data from PHY 2021-08-02 15:18:47 +02:00
Andre Puschmann 2adb1c0723 sched_nr_worker: make cond var to sync workers an integer
the boolean isn't enough for more than 2 PHY workers, replace by int
2021-08-02 15:18:47 +02:00
Andre Puschmann 38f1e158a5 enb,nr: fix NR PHY PRACH init and MAC-PHY interaction 2021-08-02 15:18:47 +02:00
Andre Puschmann fd3a7ce098 sched_nr_ue: fix uninitialized values 2021-07-30 20:23:09 +02:00
Francisco Paisana ce884ee4c6 sched: fix sched DL RBG allocation for subband CQI 2021-07-29 13:57:06 +02:00
Francisco Paisana e64fcf6ea6 sched,nr: extend sched nr to support RAR and msg3 DCI packing. 2021-07-27 19:32:48 +02:00
Andre Puschmann 7ab52500e9 enb,mac_nr: add NR sched class and add basic init calls 2021-07-27 18:26:20 +02:00
Andre Puschmann 45c1971249 mac,phy,interface: clean up and add NR interface to LTE stack
* remove obsolte rx_data_ind
* add mac_phy_interface_nr to LTE stack
2021-07-27 18:26:20 +02:00
Francisco Paisana 8e174c96ed sched,nr: provide allocated byte_buffer in DL sched output + changes in RA procedure + added sched nr in default nr_phy_tests 2021-07-27 12:47:31 +02:00
Francisco Paisana 12e33483e1 sched,nr: add slot_point to sched nr 2021-07-26 11:52:07 +02:00
Francisco Paisana 4a2b51bc0d sched,nr: fix sched nr pusch K2 timing 2021-07-21 22:05:38 +02:00
Francisco Paisana b589c0d184 sched,nr: ack/crc info included in nr_phy_test 2021-07-21 15:07:10 +02:00
Francisco Paisana 592d9332ba sched,nr: add logic for allocation of RAR and Msg3 grants 2021-07-21 15:07:10 +02:00
Francisco Paisana c9a5180a09 sched,nr: integrate NR scheduler in nr_phy_test
The scheduler can be activated via a command line flag
2021-07-19 16:04:46 +02:00
Francisco Paisana 660b66dbe3 sched,nr: add option to run phy nr test with real NR scheduler 2021-07-19 16:04:46 +02:00
Francisco Paisana e6683b7387 sched,nr: simplify scheduler threading architecture to reflect the new cc-based parallelism model 2021-07-16 22:57:55 +02:00
Francisco Paisana 74d0a8adb8 sched: add subband cqi info interface to LTE scheduler 2021-07-16 19:34:10 +02:00
Andre Puschmann 921a04ce65 enb,mac_nr: turn UE object into normal std::unique_ptr 2021-07-16 12:35:12 +02:00
Andre Puschmann 8d2e81ad6f enb,mac,nr: add basic UE object skeleton
refactor that also adds a basic UE object to the NR MAC
2021-07-16 12:35:12 +02:00
Francisco Paisana 09c7000201 sched,nr: update nr scheduler to use new mac nr interface types 2021-07-15 21:56:47 +02:00
Francisco Paisana 8a34a3c41a sched,nr: fix compilation issues in centos7 and removed unused variables 2021-07-15 21:56:47 +02:00
Francisco Paisana d9336bcd9e sched,nr: creation of pool of softbuffers for NR. Now the sched NR harq manages the lifetime of the softbuffer and its forwarding to the PHY 2021-07-15 21:56:47 +02:00
Francisco Paisana 1535e6b205 sched,nr: extend sched nr testing suite. restrict paralllelization for correct DAI generation 2021-07-15 21:56:47 +02:00
Francisco Paisana 323703c2f3 sched,nr: measure latency of sched nr in test 2021-07-15 21:56:47 +02:00
Francisco Paisana d63ea00a5d sched,nr: use PRBs instead of RBGs as the basic unit for PRB grants in the NR scheduler 2021-07-15 21:56:47 +02:00
Francisco Paisana b81cbd1334 sched,nr: redesign the order available search spaces/coresets are found in the scheduler 2021-07-15 21:56:47 +02:00
Francisco Paisana dd3c9b4d7e sched,nr: utilization of common bwp params structure across multiple sched objects 2021-07-15 21:56:47 +02:00
Francisco Paisana 2db8b8d876 sched,nr: add RAR scheduler inspired in LTE one 2021-07-15 21:56:47 +02:00
Francisco Paisana 4f0b954cde sched,nr: changed scheduler nr api to not require slot_indication function 2021-07-15 21:56:47 +02:00
Francisco Paisana 23afc66a86 sched,nr: implementation of PUCCH HARQ allocation in NR 2021-07-15 21:56:47 +02:00
Francisco Paisana bcc374c2cd implement TDD DL vs UL slot activation 2021-07-15 21:56:47 +02:00
Francisco Paisana f87f898641 sched,nr: extend coreset pdcch allocation to UL 2021-07-15 21:56:47 +02:00
Ismael Gomez 1fd9d4300c Move pdu buffer mutex in mac::ue to each carrier buffer map 2021-07-14 18:59:04 +02:00
Xavier Arteaga b25681f9de gnb,prach: add PRACH to gNB
rebase of Xavier's feature_gnb_prach branch
2021-07-14 14:30:58 +02:00
Andre Puschmann 8dd7075d12 enb,stack: add NR components for NSA mode
adds the main NR components for RLC, PDCP, MAC and RRC
for NSA operation.
2021-07-06 21:57:44 +02:00
Andre Puschmann 19996a4059 sched_nr: fix compilation 2021-07-06 10:11:50 +02:00
Xavier Arteaga 5307fec2f0 Added GNB MAC UL info initial interface and fix PHY implementation 2021-07-05 17:51:27 +02:00
Ismael Gomez c0fd64c4e6 Fix data races in srsENB MAC 2021-07-01 17:39:06 +02:00
Francisco 4c316aa9ea sched,nr: integrate mac-phy interface types into the scheduler 2021-06-29 14:19:35 +02:00
Francisco 5b3c5ded63 sched,nr: implement NR PDCCH allocation algorithm 2021-06-29 14:19:35 +02:00
Xavier Arteaga 8378c85ec4 Refactored gNb PHY 2021-06-28 00:27:36 +02:00
Xavier Arteaga d49734b1bc SRSENB: Refactor to accomodate 5G NR 2021-06-28 00:27:36 +02:00
Francisco de05e1e549 sched,nr: fix invalid memory write 2021-06-24 16:22:42 +01:00
Francisco 75153c7c83 sched,nr: implementation of sched sim test class 2021-06-24 16:22:42 +01:00
Francisco f1b3cfc764 sched,nr: implementation of sched NR harq retxs. Refactor of rb grid classes. 2021-06-24 16:22:42 +01:00
Francisco d950433cbd sched,nr: fix time-domain parallelization sched nr test. creation of util class to handle acquisition of boolean resources 2021-06-24 16:22:42 +01:00
Francisco 35a236b1b9 sched,nr: fix sched_nr_test. Resolve data race issues. Created new config structs used across the scheduler. 2021-06-24 16:22:42 +01:00
Francisco 407da794e1 sched,nr: implementation of slot grid class 2021-06-24 16:22:42 +01:00
Francisco 4fa27f3841 sched,nr: implementation of main classes for NR scheduler, and basic test for concurrency 2021-06-24 16:22:42 +01:00
Francisco 78acf81cf0 bugfix,sched: avoid instability in TPCs around PHR~0 2021-06-21 17:35:24 +01:00
Ismael Gomez 02ec4dd3d0 Remove unused variable 2021-06-18 23:17:14 +02:00
Ismael Gomez dd9889e07c Add carrier index to uplink PCAP captures 2021-06-18 23:17:14 +02:00
Francisco 5a82a63bb5 bugfix,srsenb: fix intraenb handover softbuffer allocation during handover 2021-06-16 10:21:13 +01:00
Francisco d5234b5f65 sched,bugfix: avoid using UL SNR average in tpc control loop 2021-06-15 19:12:24 +01:00
Francisco e8983b88f0 refactor: use enb_cc_idx instead of ue_cc_idx in mac::ue 2021-06-14 13:18:47 +01:00
Andre Puschmann f65faba756 sched_harq: fix uninitialized values in HARQ
detected with Valgrind memcheck
2021-06-05 11:04:33 +02:00
Francisco 7e77da6a15 mac,optimization: use rnti memory pool to create mac::ue objects 2021-06-04 21:29:13 +01:00
Francisco fd1d73666c bugfix,srsenb,mac: avoid sanity check for UL PDU length if CRC=KO 2021-06-04 20:03:38 +01:00
Francisco 76004a3054 enb,mac,refactor: mac::ue now uses byte_buffer_pool for UL PDUs 2021-06-04 20:03:38 +01:00
Francisco 9e2a7d4592 bugfix,tpc: only cap PUSCH TPC when PHR is negative. I also extended TPC unit test 2021-06-04 17:39:51 +01:00
Francisco bdc4362475 bugfix,tpc: place a cap on TPC due to PHR only when TPC is positive 2021-06-04 17:39:51 +01:00
Francisco 7badfb1c88 bugfix: avoid multiple TPC=0 for a single PHR<0 2021-06-04 17:39:51 +01:00
Francisco e2c37ad513 bugfix: missing early return in TPC derivation 2021-06-04 17:39:51 +01:00
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.
2021-06-04 13:23:54 +02:00
Francisco ceaef3523f sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing 2021-06-03 15:33:38 +01:00
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 2021-06-03 15:33:38 +01:00
Francisco f7aef3ffc1 sched,bugfix: fix nof_retx update when UL HARQs are resumed 2021-06-02 20:21:32 +01:00
Francisco 89406b07d6 make eNB UL SNR initial value an exponential average alpha configurable 2021-06-02 10:08:34 +01:00
Francisco 2cdda3b6db sched,enhancement: allow PUSCH allocations when PHICH falls in measurement Gap by resuming UL HARQ 2021-05-31 23:59:46 +01:00
Francisco 200006c4b7 bugfix,scheduler: avoid offset to increase decrease unboundedly when mcs is equal to 0 or max_mcs 2021-05-28 17:21:10 +02:00
Francisco 7076dbfef8 feature, scheduler: Add configuration parameter to set minimum TTI interval between TPCs 2021-05-25 21:51:10 +02:00