2657 Commits (7251d4dcd2c2bddd33b331f554b2d645772fa406)

Author SHA1 Message Date
Carlo Galiotto b259dbedb1 enb: tentative fix for ubuntu18.04 compile error
Signed-off-by: Carlo Galiotto <carlo@srs.io>
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
Pedro Alvarez c99ecd8009 enb,s1ap: make sure we don't processa the ICS request if there is an ICS already on-going. 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
Bedran Karakoc 9507dbc534 enb,ngap: Fix global gnb ID in NGAP 3 years ago
Xavier Arteaga 98f304bfa8 Add in srsue and srsenb SSB configuration in log 3 years ago
Ismael Gomez 67db8a2b75 srsenb: add support for A5 report 3 years ago
Ismael Gomez dcd94649ef enb,parser: add option to set a default tx gain per cell 3 years ago
faluco 1ec8e8a94e Raise C++ version to 14 and fix ill-formed code that is considered by this new standard. 3 years ago
Francisco 59b3635acf rrc,lte: fix sCell activation in case of handover with #CC > 2 3 years ago
Xavier Arteaga a19d68710c Fix successful related typos 3 years ago
Francisco 5c122f28d3 sched,lte: fix unwanted segmentation of RLC PDUs. The scheduler cannot allocate the same lcid multiple times per TTI 3 years ago
Xavier Arteaga 5760080b27 Fix multiple nr_phy_test tests 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 Paisana 2d2a5bee03 asn1: update procotol_ie_single_container interface to use -> operator instead of .value to access container content 3 years ago
Francisco Paisana 6b181e7a94 asn1: move protocol_ie_single_container_s to asn1_utils, so it can be used by ngap, s1ap, and other layers 3 years ago
Ismael Gomez cc635168dd enb,rrc: add more context to log line 3 years ago
Ismael Gomez daa7d8cdb5 Increase number of tunnels per UE 3 years ago
Fabian Eckermann cdbe6a6e1d Make sure to not access out-of-bounds iterator when erasing vector elements. 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
Ismael Gomez 9f1a1c297c
Merge pull request #3710 from softwareradiosystems/feature_nr_sa_igm
Initial version of UE NR SA
3 years ago
Andre Puschmann 2a12e91594 enb,metrics_stdout: fix printing in SA mode 3 years ago
Francisco d1ddd3da4d gnb,rrc: make plmn and cell id configurable in SIB1 3 years ago
Ismael Gomez 6947f87bcb Add minimum NR SA logic in parent PHY class 3 years ago
dvdgrgrtt 32c4da8db0 Fix typos 3 years ago
Francisco 74fda904ac nr,gnb,stack: use common gtpu_pdcp_adapter class for both NSA and SA cases 3 years ago
Francisco 61e923a6a6 nr,gnb,rrc: configurable RRC NR inactivity timeout 3 years ago
Francisco 5411e75ce3 fix failing unit tests due to bug in enb parser related to the rf_port 3 years ago
Pedro Alvarez f86fbe97bd gnb,rrc_nr: simplified parsing of NEA/NIA preference list 3 years ago
Pedro Alvarez 84f94b26b2 gnb,rlc_nr: re-used security algo preference list from LTE. Added the ability to enable integrity/encription at the PDCP upon the security mode command. 3 years ago
Andre Puschmann 77a7185274 cfg_parser: check RF port numbering starts with zero
make sure all RF ports are in-order with no gaps and zero indexed
3 years ago
Francisco 976532fb52 nr,gnb,cfg: set phy nr cell cfg only after the rrc cfg is completely generated 3 years ago
Francisco 9ecb3f516d nr,gnb,rrc: add helper function to derive rrc cfg parameters for all cells 3 years ago
Andre Puschmann bef3553586 enb.conf.example: remove already removed parameter 3 years ago
Pedro Alvarez 2fad9ded01 Make sure that the pcap is started before NGAP init, so that the NGSetupRequest is caught 3 years ago
Pedro Alvarez 5e22e42762 Added option to save NGAP pcaps. 3 years ago
Francisco ffc1ea5c86 nr,gnb,phy: decoupled gnb and enb phy config structs by moving them to separate files 3 years ago
Francisco ed1514cf68 nr,gnb,sched: implement ConRes CE scheduling command in NR sched 3 years ago
Francisco 79a018683f nr,gnb,rrc: consistent generation of rachConfig for phy, SIB1, and NSA reconf 3 years ago
Andre Puschmann 7eb4fb944d gnb,ngap: set NGAP connect params to S1AP equivalents
in SA mode we use the S1AP params for AMF and NGC
3 years ago
Fabian Eckermann 74a289976a Add enb MAC procedures for PDCCH orders. 3 years ago
faluco 65460b7a6e Backport a modification for ssn. 3 years ago
Francisco e8beb2ef81 nr,rrc: redesign fetching of asn1 obj ids for comparison and addmod/rem to asn1 lists 3 years ago
faluco 86d2eb853c Change the column order for the enb stdout metrics so that rat is first and pci second. 3 years ago
faluco 453a7760b3 Port misc SSN changes to dev. 3 years ago
Francisco fec97689a2 rrc,nr,gnb: refactored rrc nr cfg default and derived param generation to be mostly independent of parser 3 years ago
Francisco 0b8a6970f0 nr,gnb,rrc: fix ssb frequency derivation when coreset0 is active 3 years ago
Francisco 92c4e6e2d0 nr,gnb: account for CORESET#0 RB offset (See 38.213, table 13-1) in computation of SSB center frequency 3 years ago
Pedro Alvarez e68bdf3718 Added support to sending error indication when receiving some S1AP messages in the wrong state 3 years ago
Andre Puschmann 800933c38e slot_worker: disable baseband dump by default and don't exit after finishing 3 years ago
Andre Puschmann 2117aa93e2 slot_worker: add compile time option to write baseband signal to file 3 years ago
Andre Puschmann 9987b9e70b phy_common: fix number of antenna port for NR-only configs 3 years ago
Pedro Alvarez e65bcd7147 Changed default max S1 Setup retries to infinity 3 years ago
Pedro Alvarez 99e8ddefee Terminate application if the eNB cannot connect to the MME after max s1 retries is reached 3 years ago
Pedro Alvarez e5a83474cc Added max_s1_setup retries option to S1AP 3 years ago
Pedro Alvarez 930e3699d0 Added max_s1_retries parameter 3 years ago
faluco 8d33d93c77 Fix a race condition in the enb csv metrics where set_handle was called while the metrics thread is running causing a race in the enb member variable.
Fix it by setting it during object construction.
3 years ago
Pedro Alvarez 174648e487 Restart S1AP on SCTP_ERROR event 3 years ago
Francisco 16753a006a nr,gnb,rrc: add test logger delimiter; handle rrc setup complete 3 years ago
Francisco fd7c5e375c nr,gnb,rrc: implement NR RRCSetup in RRC and wrote unit test 3 years ago
Andre Puschmann 0967cda042 gnb,stack: move gNB components into own folder
* move RRC, MAC, NGAP, SDAP into gnb folder
* move testing code below respective layers
3 years ago
Francisco 2d6ce768c7 nr,gnb,rrc: generation of MIB/SIB1 inside rrc_nr class and test to verify the correct output 3 years ago
Francisco 5f3afffd05 nr,gnb: implementation of sib and mib asn1 generation functions 3 years ago
Francisco 96fd3aae3c nr,gnb: small gnb interface refactors and fix of byte buffer operator= 3 years ago
Francisco 0ac3f8b242 nr: fix ngap initialization in case of NR SA 3 years ago
Francisco 7e7f7b4c01 nr: fix failing unit tests 3 years ago
Ismael Gomez d5c235635f check lteworker is not null in log line 3 years ago
Francisco dab6e8bdcd nr,gnb: updates in parsing and phy files to allow the splitting of NR and LTE stacks 3 years ago
Francisco 8d719db43d nr,gnb,mac: implement zero-copy get_dl_sched/get_ul_sched NR scheduler interface 3 years ago
Carlo Galiotto ba50bbfb76 rlc,rrc,nr: remove rb_type from rlc_um_config
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 9c2099f680 rrc,rlc,nr: fix RB label in RLC-NR for UE logs + ..
add rb_type in rlc_um_config

Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto d95c31d2de rlc,rrc,nr: fix rlc bearer string diplayed in logs
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Andre Puschmann c02aeee0d8 gtpu: only add missing whitespace 3 years ago
Andre Puschmann 79c443fd60 rrc_nr: add log_rrc_message helper to UE object to print RNTI 3 years ago
Andre Puschmann c913db5ade enb,rrc_nr: log RRC messages as Json
* add log messages for RRC NR message containers sent to EUTRA RRC
* add helper function to pack RRC message into byte_buffer
3 years ago
Francisco f6e1ecdaf3 nr,gnb,mac: remove redundant checks and unused lcid enum constants 3 years ago
Francisco c615df9d1d nr,gnb,mac: prioritize CRNTI CE handling over remaining SDUs and CEs in gNB mac receiver 3 years ago
Francisco 885e1bcc60 nr,gnb,sched: ensure the users only get allocated if they have buffer state > 0 3 years ago
Francisco 6fb5257609 nr,gnb,sched: cleanup of checks in sched_nr_allocator and removal of unused classes 3 years ago
Francisco 7b989d9976 nr,gnb,sched: refactored slot_ue class to use pointer to ue_carrier instead of deriving all necessary parameters 3 years ago
Francisco da9c564ad4 nr,gnb,sched: remove unused sched_nr_interface types 3 years ago
Francisco 1a56629a72 nr,gnb,sched: centralized all feedback/event management (cc-specific and non-cc-specific) into a single class 3 years ago
Francisco 7c146c5198 nr,gnb,sched: refactored sched nr common event handling to use accumulated event handling logging 3 years ago
Francisco e5e047bc63 nr,gnb,sched: avoid that the nr sched handles the rach before it creates the ue object 3 years ago
Francisco 40fded7222 nr,gnb,sched: improve logging of slot events in the scheduler 3 years ago
Francisco e19a0aa281 nr,gnb,sched: refactored sched nr common event handling 3 years ago
Francisco f2409534e4 nr,gnb,sched: Simplify sched api and locking design to better reflect the mac-phy FAPI interface
- removal of condition variables from sched main calls
- addition of sched sched::slot_indication call as a point of synchronization per slot
- removal of sched_worker_manager class
- removal of serv_cell_manager class
- centralization of cc-specific functionality and components in cc_worker
3 years ago
Francisco fa09a9d11a enb: make the pcap default boost arguments consistent with enb.conf 3 years ago
Francisco d3a100257d lte,enb,s1 handover: stop ts1 handover timers when an handover cancel occurs after the Handover preparation 3 years ago
Francisco 0dc9cf142a lte,enb,rrc: verify the drbtoaddmodlist is correctly updated in the add_erab case, and change the function add_erab to addmod_erab 3 years ago
Francisco 638dbc6f7e lte,enb,rrc: the erab should not be fully released during an s1ap erab modify procedure. Instead, it should be overwritten 3 years ago
Francisco b3d11af32d nr,gnb,mac: fix access to uninit array in MAC UE NR metrics read 3 years ago
Francisco 1272f4c327 nr,gnb,mac: fix log tti context overflow 3 years ago
Andre Puschmann 4c7bc57b01 enb,ue_nr: fix warning when unpacking MAC PDU with padding 3 years ago
Pedro Alvarez 5735118ea0 Make sure SCTP notifications are not handled. Improve logging of SCTP ASSOC CHANGE 3 years ago
Andre Puschmann 5f837c0c67 enb,nr: rewrite UL PDU processing to handle CEs in reverse order but SDUs in order
this makes sure that C-RNTI CE gets processed before any SDU gets processed.
but it also makes sure that all SDUs then are processed in-order to
avoid reordering at higher layers.
3 years ago
Alejandro Leal Conejos af3a2ef589 Fixes coverity 359789 3 years ago
Alejandro Leal Conejos 6cd917fca5 Fixes coverity 370816 3 years ago
Alejandro Leal Conejos 0fdbfcffd0 Removes unnecesary cast 3 years ago
Bedran Karakoc 9943c79c4a Return error in ul nas transport if AMF ctxt is not available 3 years ago
Bedran Karakoc a14cc451d0 Addition NGAP cleanup 3 years ago
Bedran Karakoc 7c53f1cbab Add stdout for successful NG connection 3 years ago
Andre Puschmann 08e9b0b5c1 enb,rrc: reduce log level when inactivity event is received from NR 3 years ago
Nils Fürste 3b1131936e Fix GTP-U bearer address conversion
Addresses with a leading 0 in hex represenatation were converted
without the leading 0 and padded afterwards with a trailing 0. This
leaded to wrong IPs in the GTP-U bearer setup.
3 years ago
Fabian Eckermann 3e9590fd13 Initialize variable. 3 years ago
Carlo Galiotto 5972345c9d rrc,nr: increase msg5 timer to 5s and inactivity...
timer to 10s

Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 0d67fbc36c rrc: change call to release user
We call s1ap instead of rrc

Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 9c74dda039 rrc,nr: add msg5 and inactivity timers to RRC-NR
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Andre Puschmann 0cfcd612b0 enb.conf.example: fix merge conflict 3 years ago
Ismael Gomez d972fb368c
Some LGTM fixes (#3564)
* Fix LGTM issues

* ue: add logging to switch on function

* Fix new LGTM issues
3 years ago
Alejandro Leal Conejos 547ebf11f7 Fixes coverity 372880 3 years ago
Francisco c928615952 nr,gnb,sched: avoid scheduling RAR for RNTIs whose ue object is not yet created in the scheduler 3 years ago
Nils Fürste 6c8324d95e srsenb.conf.example: Fix typos and make layout consistent 3 years ago
yagoda 5d6b48311e fixing a few regression bugs in embms 3 years ago
Pedro Alvarez bc903b13d5 Added nia0 to hardcoded configuration of nr-bearer-config 3 years ago
Carlo Galiotto dcc2c1c694 rrc,nr: defer rem_user after msg3 timer expires
This commits is to fix the issue of user removal from rrc_nr
after msg3 timer expires.
The issue was caused because the rrc_nr is accessing the ue object
after it gets removed from the users list in rrc_nr.
This commits defers the removal of the users, so there won't be any
access to invalid memory locations.

Fixes #3545

Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Francisco 67a39fbb81 nr,sched: push BSRs into the scheduler when nr_phy_test is run with PUSCH enabled 3 years ago
Fabian Eckermann 32a1646536
nr,gnb,rrc: Derive RRC parameters from config.
* Derive RRC parameters from config.
* nr,gnb,rrc: hard code prach config index to 8 to avoid expiring RA proc window.
3 years ago
Francisco 4d8a354b17 nr,gnb,rrc: implement reestablishment reject in case of reestablishment with cause reconfigfailure and no NR carrier 3 years ago
Xavier Arteaga 2f5a1ad2e3
SRSENB: MAC controller recover MAC bearer state after PDSCH KO burst (#3225)
* SRSENB: MAC controller recover MAC bearer state after PDSCH KO burst

* mac,lte: simplify scheduler phy config enable configuration

Co-authored-by: Francisco Paisana <francisco.paisana@softwareradiosystems.com>
3 years ago
Francisco e4247517d0 nr,sched: update sched_nr_test to support the new DL sched no-copy api 3 years ago
Andre Puschmann be388aa53f rrc_nr: temporary fix of heap-use-after free
see https://github.com/softwareradiosystems/srsLTE/issues/3545
3 years ago
Francisco 87459bad17 nr,sched: avoid resetting Tx softbuffer every time a new DL HARQ proc is allocated 3 years ago
Andre Puschmann cf4b6d0bea sched_nr_interface: make PHY results a reference to avoid copying 3 years ago
Andre Puschmann 2cee65bb88 enb,slot_worker: skip UL signal demod if scheduler returns empty results 3 years ago
Xavier Arteaga b54d4ad8e2 Avoid copying gNb common configuration in slot basis 3 years ago
Francisco 0663594aa1 nr,gnb,sched: add extra checks to sched to ensure the max nof grants is not exceeded 3 years ago
Carlo Galiotto 0c35045543 rrc,nr: remove default value from input arg + ...
change input arg name

Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto ebaab9b1d0 rrc,nr: add private fnc to overload public method...
... and propagate input to calling function

Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto 4f6905363f rrc,nr: add MSG3 activity timer to rrc_nr
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Francisco ceec108831 nr,sched: fix fmt string in sched nr harq 3 years ago
Francisco 327687cbc2 nr,sched: auto clear HARQs that exceeded maxretx, after the feedback has been processed 3 years ago
Pedro Alvarez fbcffb84bd Check if RLC is suspended before transmiting PDCP SDU.
This was done to avoid integrity issues, when the UE's RRC erroneously sent
measurement reports while the re-establishment was already in progress.

As errously sending PDCP PDUs on DRBs can cause issues as well, this was
disabled too.
3 years ago
Carlo Galiotto e3267c9dfd gtpu: remove unused local variable
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Francisco b9f0b4a558 lte,enb,gtpu: fix failing gtpu_test 3 years ago
Carlo Galiotto 284207dad6 WIP: fixing collision in the the users_map
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Ismael Gomez 6bdefa33e4 fix minor issues 3 years ago
Ismael Gomez 09cec9ca5c srsenb,phy: do not get reference to ul_grants, do a copy instead to protect concurrent access 3 years ago
Ismael Gomez 2aeb32533f Print error setting ul grant 3 years ago
Ismael Gomez c479a1e51e srsenb: Handle error in decode_pusch to avoid logging PUSCH with 0 rnti 3 years ago
Ismael Gomez cfec29548c Do not reset MAC UE object during C-RNTI update 3 years ago
Francisco fd998dac15 lte,enb,rrc: fix rrc_meascfg_test 3 years ago
Francisco c6226b0d94 lte,enb,rrc: parse cellIndividualOffset in rr.conf and propagate it to measConfig sent to UE 3 years ago
Pedro Alvarez 7155de91ca Added command to forcefully flush the buffers on srsenb and srsue. 3 years ago
Pedro Alvarez e9a7e6dbae Getting rid of sctp_init_client function. The only thing it does is call the sctp_init_socket function. 3 years ago
Francisco 3295449619 nr,gnb,sched: fix crash in debug mode due to incorrect is_lcid_valid check 3 years ago
Francisco e26be3732c lte,enb,sched: add comments to ue_buffer_manager explaining the logic for logging 3 years ago