372 Commits (826aa46682da478649e8c25e4f2f2bbeac1e9645)

Author SHA1 Message Date
yagoda cd442e57ca e2ap: adding e2sm_kpm class to manage creation of e2sm_kpm messages, adding proper creation of RAN function definition in E2 setup request message 2 years ago
yagoda 5ef7ee0e49 e2ap: adding e2sm_kpm asn1 packing/unpacking 2 years ago
yagoda a8631828d4 e2ap: adding logger to e2ap class 2 years ago
yagoda d4fbdfd54b ric: making the e2 pack/send function generic 2 years ago
yagoda d34bd957bc e2ap,ric: adding support of E2-RIC subscription request/response 2 years ago
yagoda be2442a459 ric, e2ap: adding initial incomming E2 message handling, simple processing of E2 setup response 2 years ago
yagoda eda5600ab0 ric: adding receiver socket with taskqueue for E2 2 years ago
yagoda b3d3c4436f ric: adding logger to RIC client 2 years ago
yagoda 554c6c62f5 e2ap, asn1: adding initial support for e2ap ORAN interfacec 2 years ago
yagoda cb8b782a6d nas,ngap: adding initial support for NSSAI based slicing in the UE & gNodeB 2 years ago
Andre Puschmann be40336089 all: mark various function args as const& to avoid pass by value 2 years ago
Pedro Alvarez 2a60562a2e enb,s1ap: adding SCTP configuration to enb.conf 2 years ago
Pedro Alvarez 08d03ee6e2 netutils,s1ap: split setting the SCTP options into different functions.
Added option for SO_REUSE_ADDR. Removed sctp_init_socket function.
2 years ago
Pedro Alvarez 736a536d32 sched: change from srsran::deque to std::deque to avoid memory leak 2 years ago
Ismael Gomez b15eefb05f srsenb,nr: fix calculation of allocated bytes on pending UL HARQ preventing UL rate to achieve maximum. 2 years ago
Andre Puschmann a724024c15 gnb,rcc_test: fix coreset0 index for NSA config 2 years ago
Ismael Gomez a6a9274203 srsgnb: derive SSB frequency and ssb_offset based on user provided coreset0 index configuration. Added extra configuration validators 2 years ago
Ismael Gomez fef61554b2 srsgnb,sched: mark as occupied the resources used by SSB before scheduling other PDSCH (eg SIB1). Prevents overlapping SIB1 PDSCH with SSB 2 years ago
Andre Puschmann f6033264f9 gnb,mac_nr: ignore SE_PHR CE received from UE
we are not handling the periodic SE_PHR yet.
3 years ago
Andre Puschmann 5cc311db64 ngap_test: fix uninitialized NSSAI
detected by Valgrind
3 years ago
Andre Puschmann 573dc34b73 gnb,rrc_nr_test: fix uninit memory 3 years ago
Andre Puschmann f3ee8b2078 ngap: fix invalid access of amf ID when context wasn't created yet 3 years ago
Andre Puschmann bed35c747c gnb,rrc: fix handling of DRB for reconfig/reestablishment
the five_qi value received from the 5GC was not stored/passed when
the UE object was moved from one RNTI to another during e.g.
reestablishment. this makes sure the selected 5qi is passed over
during that process.
3 years ago
Andre Puschmann bbd84f087e gnb,rrc: add error checking/handling when creating cellgroup cfg 3 years ago
Pedro Alvarez cc93b5b6b0 ue,gnb,rrc_nr: make sure that RLC is setup before PDCP, so the PDCP can know wether the RLC is UM or AM 3 years ago
Pedro Alvarez a148dff0cd gnb,ue,rrc: enable using integrity on DRBs 3 years ago
Pedro Alvarez 25b8a35d7a lib,pdcp_nr: make sure we don extract MAC-I if integrity is not enabled. Make sure gNB does not enable integrity on DRBs 3 years ago
Pedro Alvarez a72279dcbd Addressed review comments:
1 - enb,cfg: fix typo
2 - enb,config: added back deleted config option
3 - ue,rrc_nr: fix wrong log level in log message
4 - enb,config: remove unused parameter
3 years ago
Pedro Alvarez f79b3e9435 gnb,rrc: fix SRB config generation when configuration is present in rb.conf 3 years ago
Pedro Alvarez ece3c69d45 gnb,rrc: make it possible to use default configs when SRB configs are not present. 3 years ago
Pedro Alvarez 3ae6aae230 gnb,rrc: starting to read srb configuration from config 3 years ago
Pedro Alvarez 36354ef6ff srsgnb,cfg_parser: adding parsing for SA SRB configs 3 years ago
Robert Falkenberg c5d5d45574 cmake: fix build for cmake option BUILD_SHARED_LIBS=ON
The cmake option BUILD_SHARED_LIBS (off by default) causes all
libraries to be built as shared libraries if not unless explicitly
stated otherwise.
Since test-helper libraries do not export their symbols, linking
fails if built as shared library.
Therefore, this change explicitly configures these helpers as STATIC.
3 years ago
Pedro Alvarez 3620308940 lib,pdcp_nr: added options to select re-ordering timer 3 years ago
Andre Puschmann 02ba06d8cf gnb,ngap: reduce loglevel for unhandled NGAP message
avoid test failure with core sending

2022-04-29T13:44:00.579989 [NGAP   ] [I] Rx - PDUSessionResourceReleaseCommand (53 B)
    0000: 00 1c 00 31 00 00 04 00 0a 00 02 00 01 00 55 00
    0010: 02 00 01 00 26 40 15 14 7e 02 31 3f 3a c9 04 7e
2022-04-29T13:44:00.579990 [NGAP   ] [E] Unhandled initiating message: PDUSessionResourceReleaseCommand
3 years ago
Andre Puschmann 70eaec21e2 all: fix uninitialized variables detected by coverity 3 years ago
Andre Puschmann e7ec918e5f gnb,rrc: convert FIXME to TODO 3 years ago
Bedran Karakoc 29bd06f58a gnb,rrc: Added test for UE Capability Exchange procedure 3 years ago
Bedran Karakoc d769192463 gnb,rrc: Wait for UE Capability Information before sending RRC Reconfiguration 3 years ago
Bedran Karakoc 647882d03e nr,gnb,rrc: Add initial UE capability transfer 3 years ago
Pedro Alvarez 47749350f0 gnb,ngap: make sure we log the received 5QI 3 years ago
Andre Puschmann d854bbc22e enb,rrc: remove hard-coded SCG bearer config
Use 5QI config when configuring secondary cell group bearer for NSA.
The 5QI used for this needs to match with the QCI used for the initial
LTE DRB.

This allows to use RLC AM over NSA.
3 years ago
Andre Puschmann e2efb88415 enb,ngap: extend type to store AMF id to 64bit
AMF is up to 40bit long
3 years ago
Andre Puschmann 07cb60e3f9 gnb,mac: protect RACH counter 3 years ago
Pedro Alvarez efdba8b1c0 gnb,rrc_nr: fix up second RRC reconfiguration test 3 years ago
Pedro Alvarez bbae0ce93c gnb,rrc_nr: Filling in RLC-NR DRB configs from 5QI config now. 3 years ago
Pedro Alvarez 386b1640a9 gnb,bearer_mapper: hack to keep 5QI information in bearer mapper 3 years ago
Pedro Alvarez b8006534f0 gnb,ngap,rrc_nr: Passing 5QI from the NGAP to the RRC when establishing eps bearers. Filling PDCP-NR config from 5QI config. 3 years ago
Pedro Alvarez 19487c680c gnb,config: Added logging about pdcp and rlc configs. 3 years ago
Pedro Alvarez 66bf6fd28c gnb,config: added PDCP-NR configuration parsing 3 years ago
Pedro Alvarez 43a2678841 gnb,config: Added five_qi_cfg to rrc_nr_config_t. Starting to add
five_qi_field to parse the rb.conf for 5g configuration.
3 years ago
Andre Puschmann 4bf7d8f524 enb,mac_nr: fix log line 3 years ago
Andre Puschmann 711d9e8004 gnb,rrc: fix deactivation/deletion of bearers
fix regression included in f1831d9027
that marks srb0 to be deactivate/deleted when the UE bearers are
configured.

further in the code an assert makes sure that srb0 is never removed/reconfigured
so we don't want lcid=0 to be included in the list of bearers
3 years ago
Pedro Alvarez bb9eaf4390 gnb,ngap: Added some comments to ngap.cc to make it easier to navigate
the file. Re-ordered NGAP UE procedures have the same order as in the
standard.
3 years ago
Carlo Galiotto f73286727e sched-nr: simplfy code for MCS with SRB0/CCCH
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto c935484102 sched-nr: fix scheduler to pass nr tests
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 2b3158536a sched-nr: fix sched not allocating CCCH at low MCS
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 65dae777b1 sched-nr: add option for predefined fixed DL MCS
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto c2d4dedafc sched: plug dyn CQI->MCS mapping into scheduler
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Pedro Alvarez b1a33a07a1 lib,rlc_am_nr: starting to add test for segmenting retx. Changed sdu under segmentation to only hold the SN. The actual SDU already exists in the pdu stored in the tx_window. 3 years ago
Francisco 581a99c616 nr,gnb: use memory pool to allocate scheduler UEs 3 years ago
Francisco Paisana e4a15c9c51 rrc,gnb: move non-phy fields out of phy_cell_nr_t 3 years ago
Francisco Paisana e9760f110a rrc,gnb: remove obsolete methods to verify config correctness 3 years ago
Francisco Paisana e8902c785f rrc,gnb: remove srsran_prach_cfg_t from gnb rrc config struct 3 years ago
Francisco Paisana c4cc94df17 rrc,gnb: remove phy flat pdcch cfg struct from rrc nr cfg 3 years ago
Francisco Paisana c0dda2958c rrc,gnb: fix search space NSA config 3 years ago
Francisco Paisana 532a4b54e7 rrc,gnb: remove phy flat pdcch cfg struct from rrc nr cfg 3 years ago
Francisco Paisana 88a95e8e57 rrc,gnb: remove uneeded flat phy cfg fields from rrc_nr_cfg_t 3 years ago
Francisco Paisana 301848002f rrc,gnb: remove uneeded cell config parameters from rrc_nr main class 3 years ago
Francisco 094d019883 remove extra branches in the rrc cell asn1 cfg generation 3 years ago
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
3 years ago
Carlo Galiotto 6e1d624a3b rrc-nr: add nzp RRCSetup cnf conversion for SA
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Francisco 18f0732c66 fix clang 6.0.0 compilation issue related with {} initialization 3 years ago
Carlo Galiotto d5859fb60b rrc-nr: remove comments/dead code
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto fe6500bd55 rrc: copy PUCCH cnf from RRCSetup to PHY structs
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 362abfe3c9 rrc-nr: add conversion for pucch_cfg
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto a53e7c9673 TMP WIP
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 290fdd068e TMP: test CSI config with disabled zp, p_zp
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Francisco Paisana 378e14826e rrc,nr: fix conversion of csi meas cfg to phy cfg flat struct 3 years ago
Carlo Galiotto fa761e7f3b rrc-nr: enable zp_csi in rrc_setup msg
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto dfe5cca7fb rrc-nr: adapt csi-meas_config to new source
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Xavier Arteaga 9cda4e058d Disable srsgnb time in advance offset 3 years ago
Bedran Karakoc cabdd05cb8 gnb,rrc: Fix typo in logging for NR UP integrity key 3 years ago
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
3 years ago
Francisco e6af64c147 rrc,nr: removal of ssb config from the rrc_nr_cfg_t 3 years ago
Francisco ab9fe90d3a rrc,nr: create DU configuration manager in RRC NR class to handle the generation of SIBs and other cell-specific parameters 3 years ago
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
3 years ago
Francisco 52106be3d5 sched,nr: remove phy cfg types from sched_nr_cell_cfg_t 3 years ago
Francisco b25814de27 sched,nr: fix failing sched test due to misconfiguration 3 years ago
Francisco 7ef206e15b sched,rrc,nr: remove need to pass sched ue cfg object to rrc during ra procedure 3 years ago
Francisco 822a1f5d19 sched,nr: redesign sched nr ue object creation during rach. Update of sched nr tests to reflect this change 3 years ago
Francisco 7f200ac7f7 sched,nr: pass asn1 TDD configuration to scheduler as defined in ORAN 3 years ago
Francisco f1831d9027 sched,nr: change UE configuration Request struct to better match ORAN specs 3 years ago
Bedran Karakoc 6112871da9 gnb,ngap: Add basic handler for NGAP Paging 3 years ago
Bedran Karakoc 9507dbc534 enb,ngap: Fix global gnb ID in NGAP 3 years ago
Andre Puschmann 7dc2313957 gnb,rrc: fix compilation
caused by GH merge timing issue and remove asn1 call
3 years ago
Andre Puschmann c49615c059 gnb,rrc: handle reestablishment complete
* add message handler
* rename internal calls
3 years ago
Andre Puschmann f17e77f391 gnb,rrc: add GTPU interface to RRC 3 years ago
Andre Puschmann 4923f0a07b gnb,mac: schedule CON_RES CE when handling CCCH
this avoids implicit CON_RES scheduling in the scheduler
3 years ago
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.
3 years ago
Andre Puschmann 33378c32c0 gnb,rrc: fix key derivation in reestablishment 3 years ago
Andre Puschmann fb3416371b enb,rrc_nr: use SSB arfcn for key derivation for reestablishment 3 years ago
Andre Puschmann f012dce8b2 enb,rrc_nr: log freq config of NR cells on init 3 years ago
Andre Puschmann 9832ba4477 rrc_nr_config: add comment 3 years ago
Andre Puschmann bbe3ee41da rrc,nr_security: fixing a few typos for NR 3 years ago
Andre Puschmann 1616c09335 gnb,rrc: handle RRC reestablishment request
implement basic support for sending RRC reestablishment
3 years ago
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 3 years ago
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 3 years ago
Francisco e84908dec8 sched,nr,test: pass cqi to sched_nr_test via config file 3 years ago
Alejandro Leal 8619382b45 Removed unneeded libraries from the mac test in srsgnb 3 years ago
Francisco Paisana ac7fe9be64 sched,nr: make scheduler robust to errors in the phy that cause skipped slot indications 3 years ago
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>
3 years ago
Carlo Galiotto 861648aa35 rrc-nr: differentiate SA csi_meas_cfg from NSA
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 3d39f4b55f rrc-nr: remove unnecessary variable toggle
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 655fb7204f rrc-nr: set CSI config for SA only
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 0f92869156 rrc,sched: add csi-MeasConfig setup in RRC
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
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>
3 years ago
Carlo Galiotto 2040a88bf9 sched: add comments + rename variable
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto cd32f1385a sched,test: add test for CQI->MCS mapping fnc
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto db983175a8 sched: remove CQI->MCS mapping from PDSCH allocator
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 3a7739fba5 sched: add CQI->MCS mapping to PDSCH allocator
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Francisco Paisana 40138c7125 changed namespace of asn1 ngap from 'ngap_nr' to simply 'ngap' 3 years ago
Francisco e8f6c723b6 refactor: isolate rrc interfaces for pdcp, rlc and s1ap into separate files. This will avoid importing lte asn1 symbols to srsgnb code 3 years ago
Francisco 486dd9099c nr,gnb,sched: fix crash in mcs selection loop 3 years ago
Francisco ffca2f7684 nr,gnb,sched: expose cqi in slot_ue object 3 years ago
Francisco 2a933ed8ad nr,gnb,sched: refactor filling of dci harq fields 3 years ago
Francisco 632f2dbddd nr,gnb,sched: changed pdsch_allocator interface and extended its respective unit tests 3 years ago
Francisco fe35787130 nr,gnb,sched: remove unused files 3 years ago
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 3 years ago
Francisco 107e2aa938 nr,gnb,sched: implemented standalone PDSCH allocator class 3 years ago
Francisco b2f5f6c620 nr,gnb,sched: fix sched parallel unit test 3 years ago
Francisco c3d682bba8 nr,gnb,sched: cache ue phy dci_cfg to avoid computing it at every slot 3 years ago
Francisco 949c34112e nr,gnb,sched: implement pusch allocator and fix prb grant allocation when UEs are using common SS 3 years ago
Francisco 70c5eff6d0 nr,gnb,sched: wrote unit test for sched PDSCH allocations 3 years ago
Francisco 8ba08032b5 nr,gnb,sched: implemented standalone PDSCH allocator class 3 years ago
Francisco 20b327c320 nr,gnb,sched: extend PDCCH allocator test to cover most allocation fail paths 3 years ago
Francisco 88461646ac nr,gnb,sched: fix failing sched unit test 3 years ago
Francisco bf275282ae nr,gnb,sched: simplify PDCCH allocation abortion api, and implemented method to print PDCCH allocations 3 years ago
Francisco 384004d8d1 nr,gnb,sched: implemented sched helper functions, wrote a unit test for PDCCH allocations 3 years ago
Francisco de13c68df7 nr,gnb,sched: make logging of PDCCH allocation failures consistent 3 years ago
Francisco 9a4a5345c4 nr,gnb,sched: improve sched sanity checks, and improve bwp_pdcch_allocator api 3 years ago
Francisco 5f36b9b116 nr,gnb,sched: rename pdcch scheduler to pdcch allocator 3 years ago
Francisco 0929177fa2 nr,gnb,sched: wrap coreset list in pdcch_scheduler 3 years ago
Bedran Karakoc 8f6ead0d55 nr,gnb,rrc: Added option to test RRC-NGAP integration with real core 3 years ago
Francisco 6c872a014e nr,gnb,sched: fix loop for searching for searchspace candidate in scheduler 3 years ago
Francisco ecaaf8d595 nr,gnb,sched: implement helper methods to check available PRBs in BWP, taking into account common SearchSpace BW limitations 3 years ago
Francisco 8a5ecfea40 nr,gnb,ngap: rename functions for extra clarity 3 years ago
Francisco 11b4a572a0 nr,gnb,rrc&ngap: implementation of NGAP UE Context Release Request and RRC Release for the case RRC_CONNECTED->RRC_IDLE 3 years ago
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.
3 years ago
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.
3 years ago