Commit Graph

262 Commits

Author SHA1 Message Date
Francisco 581a99c616 nr,gnb: use memory pool to allocate scheduler UEs 2022-02-15 20:59:45 +01:00
Francisco Paisana e4a15c9c51 rrc,gnb: move non-phy fields out of phy_cell_nr_t 2022-02-08 18:21:07 +01:00
Francisco Paisana e9760f110a rrc,gnb: remove obsolete methods to verify config correctness 2022-02-08 18:21:07 +01:00
Francisco Paisana e8902c785f rrc,gnb: remove srsran_prach_cfg_t from gnb rrc config struct 2022-02-08 18:21:07 +01:00
Francisco Paisana c4cc94df17 rrc,gnb: remove phy flat pdcch cfg struct from rrc nr cfg 2022-02-08 18:21:07 +01:00
Francisco Paisana c0dda2958c rrc,gnb: fix search space NSA config 2022-02-07 18:26:15 +01:00
Francisco Paisana 532a4b54e7 rrc,gnb: remove phy flat pdcch cfg struct from rrc nr cfg 2022-02-07 18:26:15 +01:00
Francisco Paisana 88a95e8e57 rrc,gnb: remove uneeded flat phy cfg fields from rrc_nr_cfg_t 2022-02-07 18:26:15 +01:00
Francisco Paisana 301848002f rrc,gnb: remove uneeded cell config parameters from rrc_nr main class 2022-02-07 18:26:15 +01:00
Francisco 094d019883 remove extra branches in the rrc cell asn1 cfg generation 2022-02-07 18:26:15 +01:00
Joaquim Broquetas b2075673e5
Crest Factor Reduction feature for the phy layer (#3720)
* Add CFR module to the phy lib

* Add dynamic threshold with PAPR estimation

* Add a CFR unit test, CFR module improvements and refactoring.
Swap the gain normalization before the CFR.

* Add CFR config interface to srsenb

* Add CFR support to pdsch_enodeb

* Add DL PAPR measurement to eNB.

Co-authored-by: Cristian Balint <cristian.balint@gmail.com>

* Add test coverage to srsran_vec_gen_clip_env
2022-02-04 10:35:35 +01:00
Carlo Galiotto 6e1d624a3b rrc-nr: add nzp RRCSetup cnf conversion for SA
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-02-03 18:50:44 +01:00
Francisco 18f0732c66 fix clang 6.0.0 compilation issue related with {} initialization 2022-02-01 13:08:51 +01:00
Carlo Galiotto d5859fb60b rrc-nr: remove comments/dead code
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-26 10:47:26 +01:00
Carlo Galiotto fe6500bd55 rrc: copy PUCCH cnf from RRCSetup to PHY structs
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-26 10:47:26 +01:00
Carlo Galiotto 362abfe3c9 rrc-nr: add conversion for pucch_cfg
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-26 10:47:26 +01:00
Carlo Galiotto a53e7c9673 TMP WIP
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-26 10:47:26 +01:00
Carlo Galiotto 290fdd068e TMP: test CSI config with disabled zp, p_zp
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-26 10:47:26 +01:00
Francisco Paisana 378e14826e rrc,nr: fix conversion of csi meas cfg to phy cfg flat struct 2022-01-26 10:47:26 +01:00
Carlo Galiotto fa761e7f3b rrc-nr: enable zp_csi in rrc_setup msg
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-26 10:47:26 +01:00
Carlo Galiotto dfe5cca7fb rrc-nr: adapt csi-meas_config to new source
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-26 10:47:26 +01:00
Xavier Arteaga 9cda4e058d Disable srsgnb time in advance offset 2022-01-25 21:08:35 +01:00
Bedran Karakoc cabdd05cb8 gnb,rrc: Fix typo in logging for NR UP integrity key 2022-01-25 14:24:58 +01:00
Andre Puschmann 366dfca7ff gnb,rrc: refactor AS security updates
refactor security updater to extra function and make sure
the config is applied to all active RBs, also DRBs
2022-01-24 21:07:22 +01:00
Francisco e6af64c147 rrc,nr: removal of ssb config from the rrc_nr_cfg_t 2022-01-21 14:51:29 +00:00
Francisco ab9fe90d3a rrc,nr: create DU configuration manager in RRC NR class to handle the generation of SIBs and other cell-specific parameters 2022-01-21 14:51:29 +00:00
Andre Puschmann dcf178a8a5 sched_nr: change wording when logging UE access to unknown RNTI
streamline with RRC logs for same event, facilitate parsing an
accept list entry in KPI analyzer
2022-01-21 09:42:43 +01:00
Francisco 52106be3d5 sched,nr: remove phy cfg types from sched_nr_cell_cfg_t 2022-01-20 10:54:00 +00:00
Francisco b25814de27 sched,nr: fix failing sched test due to misconfiguration 2022-01-20 10:54:00 +00:00
Francisco 7ef206e15b sched,rrc,nr: remove need to pass sched ue cfg object to rrc during ra procedure 2022-01-20 10:54:00 +00:00
Francisco 822a1f5d19 sched,nr: redesign sched nr ue object creation during rach. Update of sched nr tests to reflect this change 2022-01-20 10:54:00 +00:00
Francisco 7f200ac7f7 sched,nr: pass asn1 TDD configuration to scheduler as defined in ORAN 2022-01-20 10:54:00 +00:00
Francisco f1831d9027 sched,nr: change UE configuration Request struct to better match ORAN specs 2022-01-20 10:54:00 +00:00
Bedran Karakoc 6112871da9 gnb,ngap: Add basic handler for NGAP Paging 2022-01-20 11:08:51 +01:00
Bedran Karakoc 9507dbc534 enb,ngap: Fix global gnb ID in NGAP 2022-01-19 18:34:35 +01:00
Andre Puschmann 7dc2313957 gnb,rrc: fix compilation
caused by GH merge timing issue and remove asn1 call
2022-01-18 18:26:02 +01:00
Andre Puschmann c49615c059 gnb,rrc: handle reestablishment complete
* add message handler
* rename internal calls
2022-01-18 18:07:21 +01:00
Andre Puschmann f17e77f391 gnb,rrc: add GTPU interface to RRC 2022-01-18 18:07:21 +01:00
Andre Puschmann 4923f0a07b gnb,mac: schedule CON_RES CE when handling CCCH
this avoids implicit CON_RES scheduling in the scheduler
2022-01-18 18:07:21 +01:00
Andre Puschmann db065239e0 sched_nr: add dl_mac_ce() method to allow MAC to schedule CE
MAC can give the scheduler hints as to when to schedule certain
CEs in the DL. For example when receiving a CCCH on SRB0.
2022-01-18 18:07:21 +01:00
Andre Puschmann 33378c32c0 gnb,rrc: fix key derivation in reestablishment 2022-01-18 18:07:21 +01:00
Andre Puschmann fb3416371b enb,rrc_nr: use SSB arfcn for key derivation for reestablishment 2022-01-18 18:07:21 +01:00
Andre Puschmann f012dce8b2 enb,rrc_nr: log freq config of NR cells on init 2022-01-18 18:07:21 +01:00
Andre Puschmann 9832ba4477 rrc_nr_config: add comment 2022-01-18 18:07:21 +01:00
Andre Puschmann bbe3ee41da rrc,nr_security: fixing a few typos for NR 2022-01-18 18:07:21 +01:00
Andre Puschmann 1616c09335 gnb,rrc: handle RRC reestablishment request
implement basic support for sending RRC reestablishment
2022-01-18 18:07:21 +01:00
Francisco 3c25b6cb24 asn1: remove presence flag for lists and octet strings, as the size of the latter implicitly tell if the asn1 field is present 2022-01-17 11:58:00 +00:00
Francisco f7efee9884 asn1: use typedefs for amf_ue_ngap_id, ran_ue_ngap_id, mme_ue_s1ap_id and enb_ue_s1ap_id and changed interface to access s1ap and ngap protocol_ies 2022-01-11 22:59:38 +00:00
Francisco e84908dec8 sched,nr,test: pass cqi to sched_nr_test via config file 2022-01-11 20:56:23 +00:00
Alejandro Leal 8619382b45 Removed unneeded libraries from the mac test in srsgnb 2022-01-10 15:33:55 +01:00
Francisco Paisana ac7fe9be64 sched,nr: make scheduler robust to errors in the phy that cause skipped slot indications 2022-01-07 16:27:34 +01:00
Carlo Galiotto bab0b488be rrc-nr: disable csi_meas_config
The current configuration makes the PUCCH decoding fail. We need
to investigate the reason for this befoer we re-enable it

Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Carlo Galiotto 861648aa35 rrc-nr: differentiate SA csi_meas_cfg from NSA
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Carlo Galiotto 3d39f4b55f rrc-nr: remove unnecessary variable toggle
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Carlo Galiotto 655fb7204f rrc-nr: set CSI config for SA only
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Carlo Galiotto 0f92869156 rrc,sched: add csi-MeasConfig setup in RRC
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Carlo Galiotto 9be9bd659e sched,nr: add CQI to SE and SE to MCS mapping ...
for scheduler + add CQi reporting from PHY to scheduler

Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Carlo Galiotto 2040a88bf9 sched: add comments + rename variable
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Carlo Galiotto cd32f1385a sched,test: add test for CQI->MCS mapping fnc
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Carlo Galiotto db983175a8 sched: remove CQI->MCS mapping from PDSCH allocator
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Carlo Galiotto 3a7739fba5 sched: add CQI->MCS mapping to PDSCH allocator
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2022-01-06 20:32:20 +01:00
Francisco Paisana 40138c7125 changed namespace of asn1 ngap from 'ngap_nr' to simply 'ngap' 2022-01-05 18:26:05 +01:00
Francisco e8f6c723b6 refactor: isolate rrc interfaces for pdcp, rlc and s1ap into separate files. This will avoid importing lte asn1 symbols to srsgnb code 2021-12-15 23:25:26 +00:00
Francisco 486dd9099c nr,gnb,sched: fix crash in mcs selection loop 2021-12-15 13:20:38 +00:00
Francisco ffca2f7684 nr,gnb,sched: expose cqi in slot_ue object 2021-12-15 13:20:38 +00:00
Francisco 2a933ed8ad nr,gnb,sched: refactor filling of dci harq fields 2021-12-15 13:20:38 +00:00
Francisco 632f2dbddd nr,gnb,sched: changed pdsch_allocator interface and extended its respective unit tests 2021-12-15 13:20:38 +00:00
Francisco fe35787130 nr,gnb,sched: remove unused files 2021-12-09 17:11:41 +00:00
Francisco 5cc7863379 nr,gnb,sched: fix and extend sched_nr_test to verify that the DL allocated bytes match the bytes passed as DL buffer state to the scheduler 2021-12-09 17:11:41 +00:00
Francisco 107e2aa938 nr,gnb,sched: implemented standalone PDSCH allocator class 2021-12-09 17:11:41 +00:00
Francisco b2f5f6c620 nr,gnb,sched: fix sched parallel unit test 2021-12-09 14:26:19 +00:00
Francisco c3d682bba8 nr,gnb,sched: cache ue phy dci_cfg to avoid computing it at every slot 2021-12-09 14:26:19 +00:00
Francisco 949c34112e nr,gnb,sched: implement pusch allocator and fix prb grant allocation when UEs are using common SS 2021-12-09 14:26:19 +00:00
Francisco 70c5eff6d0 nr,gnb,sched: wrote unit test for sched PDSCH allocations 2021-12-09 14:26:19 +00:00
Francisco 8ba08032b5 nr,gnb,sched: implemented standalone PDSCH allocator class 2021-12-09 14:26:19 +00:00
Francisco 20b327c320 nr,gnb,sched: extend PDCCH allocator test to cover most allocation fail paths 2021-12-09 14:26:19 +00:00
Francisco 88461646ac nr,gnb,sched: fix failing sched unit test 2021-12-07 12:30:39 +00:00
Francisco bf275282ae nr,gnb,sched: simplify PDCCH allocation abortion api, and implemented method to print PDCCH allocations 2021-12-07 12:30:39 +00:00
Francisco 384004d8d1 nr,gnb,sched: implemented sched helper functions, wrote a unit test for PDCCH allocations 2021-12-07 12:30:39 +00:00
Francisco de13c68df7 nr,gnb,sched: make logging of PDCCH allocation failures consistent 2021-12-07 12:30:39 +00:00
Francisco 9a4a5345c4 nr,gnb,sched: improve sched sanity checks, and improve bwp_pdcch_allocator api 2021-12-07 12:30:39 +00:00
Francisco 5f36b9b116 nr,gnb,sched: rename pdcch scheduler to pdcch allocator 2021-12-07 12:30:39 +00:00
Francisco 0929177fa2 nr,gnb,sched: wrap coreset list in pdcch_scheduler 2021-12-07 12:30:39 +00:00
Bedran Karakoc 8f6ead0d55 nr,gnb,rrc: Added option to test RRC-NGAP integration with real core 2021-12-06 14:21:44 +01:00
Francisco 6c872a014e nr,gnb,sched: fix loop for searching for searchspace candidate in scheduler 2021-12-03 16:01:06 +00:00
Francisco ecaaf8d595 nr,gnb,sched: implement helper methods to check available PRBs in BWP, taking into account common SearchSpace BW limitations 2021-12-02 17:38:54 +00:00
Francisco 8a5ecfea40 nr,gnb,ngap: rename functions for extra clarity 2021-12-01 18:54:33 +00:00
Francisco 11b4a572a0 nr,gnb,rrc&ngap: implementation of NGAP UE Context Release Request and RRC Release for the case RRC_CONNECTED->RRC_IDLE 2021-12-01 18:54:33 +00:00
Andre Puschmann 091877fd2a gnb,rrc: inverse order of configuring lower layers when establishing bearer
start with lower layers first, so MAC, RLC then PDCP.
Since PDCP requires that the LCID is already registered at RLC to make config
checks. It checks for RLC mode (UM) in this case causing log entries like:

2021-12-01T13:47:40.453641 [RLC-NR ] [W] LCID 4 doesn't exist.
2021-12-01 17:44:10 +01:00
Andre Puschmann a27562cb58 gnb_stack_nr: init loglevel of common log channel
to avoid netsocket stuff to spam logs with:

2021-12-01T14:16:58.946080 [COMN   ] [D] [    0] Setting RTO_INFO options on SCTP socket. Association 0, Initial RTO 3000, Minimum RTO 1000, Maximum RTO 6000
2021-12-01T14:16:58.946084 [COMN   ] [D] [    0] Setting SCTP_INITMSG options on SCTP socket. Max attempts 3, Max init attempts timeout 5000
2021-12-01T14:16:58.946109 [COMN   ] [D] [    0] Successfully bound to address 10.8.1.22:0
2021-12-01T14:16:58.998936 [COMN   ] [D] [    0] RxSockets: socket fd=7 has been registered.
2021-12-01T14:16:58.999049 [COMN   ] [D] [    0] Successfully bound to address 10.8.1.22:2152
2021-12-01T14:16:58.999056 [COMN   ] [D] [    0] RxSockets: socket fd=8 has been registered.
2021-12-01 17:44:10 +01:00
Francisco d1ddd3da4d gnb,rrc: make plmn and cell id configurable in SIB1 2021-12-01 12:22:14 +01:00
Francisco 74fda904ac nr,gnb,stack: use common gtpu_pdcp_adapter class for both NSA and SA cases 2021-11-29 10:08:07 +00:00
Francisco 123d79724d nr,gnb,rrc: restart activity timer when new PDUs arrive in case of SA 2021-11-26 20:35:18 +00:00
Francisco b27c184d2f nr,gnb,stack: add bearer manager to gNB stack to correctly map between eps bearer ids and lcids 2021-11-26 20:33:47 +00:00
Francisco 6513520211 nr,gnb,rrc: ensure drb config is added in RRC reconf. Do not allow LCIDs<4 for DRBs 2021-11-26 20:33:47 +00:00
Carlo Galiotto f9ff6758aa rrc-nr: temporary fix to handle inactivity timeout
Fixes issue #3689

Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-11-26 19:42:58 +00:00
Francisco 68ec3eaba0 nr,gnb,rrc: remove obsolete TODO comment and set default rrc inactivity timeout 2021-11-26 17:20:18 +00:00
Francisco 61e923a6a6 nr,gnb,rrc: configurable RRC NR inactivity timeout 2021-11-26 17:20:18 +00:00
Pedro Alvarez 9f7ae7a2b2 gnb,ngap: Added simple allocation of lcids to ngap_ue_bearer_manager. 2021-11-26 16:26:08 +00:00
Francisco 14074f0430 nr,gnb: pass gtpu pointer to ngap init 2021-11-26 14:55:25 +00:00