Commit Graph

2564 Commits

Author SHA1 Message Date
Fabian Eckermann 74a289976a Add enb MAC procedures for PDCCH orders. 2021-11-18 14:56:31 +01:00
faluco 65460b7a6e Backport a modification for ssn. 2021-11-17 17:17:29 +01:00
Francisco e8beb2ef81 nr,rrc: redesign fetching of asn1 obj ids for comparison and addmod/rem to asn1 lists 2021-11-16 19:04:51 +00:00
faluco 86d2eb853c Change the column order for the enb stdout metrics so that rat is first and pci second. 2021-11-16 14:46:51 +01:00
faluco 453a7760b3 Port misc SSN changes to dev. 2021-11-16 14:46:51 +01:00
Francisco fec97689a2 rrc,nr,gnb: refactored rrc nr cfg default and derived param generation to be mostly independent of parser 2021-11-16 00:12:36 +00:00
Francisco 0b8a6970f0 nr,gnb,rrc: fix ssb frequency derivation when coreset0 is active 2021-11-15 15:47:31 +01:00
Francisco 92c4e6e2d0 nr,gnb: account for CORESET#0 RB offset (See 38.213, table 13-1) in computation of SSB center frequency 2021-11-15 15:47:31 +01:00
Pedro Alvarez e68bdf3718 Added support to sending error indication when receiving some S1AP messages in the wrong state 2021-11-15 11:31:01 +00:00
Andre Puschmann 800933c38e slot_worker: disable baseband dump by default and don't exit after finishing 2021-11-15 09:50:39 +01:00
Andre Puschmann 2117aa93e2 slot_worker: add compile time option to write baseband signal to file 2021-11-15 09:50:39 +01:00
Andre Puschmann 9987b9e70b phy_common: fix number of antenna port for NR-only configs 2021-11-15 09:50:39 +01:00
Pedro Alvarez e65bcd7147 Changed default max S1 Setup retries to infinity 2021-11-12 15:09:39 +00:00
Pedro Alvarez 99e8ddefee Terminate application if the eNB cannot connect to the MME after max s1 retries is reached 2021-11-12 15:09:39 +00:00
Pedro Alvarez e5a83474cc Added max_s1_setup retries option to S1AP 2021-11-12 15:09:39 +00:00
Pedro Alvarez 930e3699d0 Added max_s1_retries parameter 2021-11-12 15:09:39 +00:00
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.
2021-11-12 13:39:42 +01:00
Pedro Alvarez 174648e487 Restart S1AP on SCTP_ERROR event 2021-11-11 11:57:43 +00:00
Francisco 16753a006a nr,gnb,rrc: add test logger delimiter; handle rrc setup complete 2021-11-11 10:55:35 +00:00
Francisco fd7c5e375c nr,gnb,rrc: implement NR RRCSetup in RRC and wrote unit test 2021-11-11 10:55:35 +00:00
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
2021-11-05 15:26:06 +01:00
Francisco 2d6ce768c7 nr,gnb,rrc: generation of MIB/SIB1 inside rrc_nr class and test to verify the correct output 2021-11-04 18:05:14 +00:00
Francisco 5f3afffd05 nr,gnb: implementation of sib and mib asn1 generation functions 2021-11-04 18:05:14 +00:00
Francisco 96fd3aae3c nr,gnb: small gnb interface refactors and fix of byte buffer operator= 2021-11-04 18:05:14 +00:00
Francisco 0ac3f8b242 nr: fix ngap initialization in case of NR SA 2021-11-04 15:24:57 +00:00
Francisco 7e7f7b4c01 nr: fix failing unit tests 2021-11-04 15:24:57 +00:00
Ismael Gomez d5c235635f check lteworker is not null in log line 2021-11-04 15:24:57 +00:00
Francisco dab6e8bdcd nr,gnb: updates in parsing and phy files to allow the splitting of NR and LTE stacks 2021-11-04 15:24:57 +00:00
Francisco 8d719db43d nr,gnb,mac: implement zero-copy get_dl_sched/get_ul_sched NR scheduler interface 2021-11-03 21:21:45 +01:00
Carlo Galiotto ba50bbfb76 rlc,rrc,nr: remove rb_type from rlc_um_config
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-11-03 19:31:47 +01:00
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>
2021-11-03 19:31:47 +01:00
Carlo Galiotto d95c31d2de rlc,rrc,nr: fix rlc bearer string diplayed in logs
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-11-03 19:31:47 +01:00
Andre Puschmann c02aeee0d8 gtpu: only add missing whitespace 2021-11-03 17:55:32 +01:00
Andre Puschmann 79c443fd60 rrc_nr: add log_rrc_message helper to UE object to print RNTI 2021-11-03 17:55:32 +01:00
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
2021-11-03 17:55:32 +01:00
Francisco f6e1ecdaf3 nr,gnb,mac: remove redundant checks and unused lcid enum constants 2021-11-03 13:31:16 +00:00
Francisco c615df9d1d nr,gnb,mac: prioritize CRNTI CE handling over remaining SDUs and CEs in gNB mac receiver 2021-11-03 13:31:16 +00:00
Francisco 885e1bcc60 nr,gnb,sched: ensure the users only get allocated if they have buffer state > 0 2021-11-02 00:41:24 +00:00
Francisco 6fb5257609 nr,gnb,sched: cleanup of checks in sched_nr_allocator and removal of unused classes 2021-11-02 00:41:24 +00:00
Francisco 7b989d9976 nr,gnb,sched: refactored slot_ue class to use pointer to ue_carrier instead of deriving all necessary parameters 2021-11-02 00:41:24 +00:00
Francisco da9c564ad4 nr,gnb,sched: remove unused sched_nr_interface types 2021-11-02 00:41:24 +00:00
Francisco 1a56629a72 nr,gnb,sched: centralized all feedback/event management (cc-specific and non-cc-specific) into a single class 2021-11-02 00:41:24 +00:00
Francisco 7c146c5198 nr,gnb,sched: refactored sched nr common event handling to use accumulated event handling logging 2021-11-02 00:41:24 +00:00
Francisco e5e047bc63 nr,gnb,sched: avoid that the nr sched handles the rach before it creates the ue object 2021-11-02 00:41:24 +00:00
Francisco 40fded7222 nr,gnb,sched: improve logging of slot events in the scheduler 2021-11-02 00:41:24 +00:00
Francisco e19a0aa281 nr,gnb,sched: refactored sched nr common event handling 2021-11-02 00:41:24 +00:00
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
2021-11-02 00:41:24 +00:00
Francisco fa09a9d11a enb: make the pcap default boost arguments consistent with enb.conf 2021-11-01 17:01:06 +00:00
Francisco d3a100257d lte,enb,s1 handover: stop ts1 handover timers when an handover cancel occurs after the Handover preparation 2021-11-01 12:42:43 +00:00
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 2021-10-30 15:31:19 +01:00
Francisco 638dbc6f7e lte,enb,rrc: the erab should not be fully released during an s1ap erab modify procedure. Instead, it should be overwritten 2021-10-30 15:31:19 +01:00
Francisco b3d11af32d nr,gnb,mac: fix access to uninit array in MAC UE NR metrics read 2021-10-29 16:39:47 +01:00
Francisco 1272f4c327 nr,gnb,mac: fix log tti context overflow 2021-10-28 14:49:29 +01:00
Andre Puschmann 4c7bc57b01 enb,ue_nr: fix warning when unpacking MAC PDU with padding 2021-10-28 10:45:54 +02:00
Pedro Alvarez 5735118ea0 Make sure SCTP notifications are not handled. Improve logging of SCTP ASSOC CHANGE 2021-10-27 21:45:48 +02:00
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.
2021-10-27 19:50:35 +02:00
Alejandro Leal Conejos af3a2ef589 Fixes coverity 359789 2021-10-27 19:47:45 +02:00
Alejandro Leal Conejos 6cd917fca5 Fixes coverity 370816 2021-10-27 19:47:45 +02:00
Alejandro Leal Conejos 0fdbfcffd0 Removes unnecesary cast 2021-10-27 19:47:45 +02:00
Bedran Karakoc 9943c79c4a Return error in ul nas transport if AMF ctxt is not available 2021-10-27 19:37:49 +02:00
Bedran Karakoc a14cc451d0 Addition NGAP cleanup 2021-10-27 19:37:49 +02:00
Bedran Karakoc 7c53f1cbab Add stdout for successful NG connection 2021-10-27 19:37:49 +02:00
Andre Puschmann 08e9b0b5c1 enb,rrc: reduce log level when inactivity event is received from NR 2021-10-27 18:04:14 +02:00
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.
2021-10-27 17:53:28 +02:00
Fabian Eckermann 3e9590fd13 Initialize variable. 2021-10-27 17:39:51 +02:00
Carlo Galiotto 5972345c9d rrc,nr: increase msg5 timer to 5s and inactivity...
timer to 10s

Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-26 23:18:17 +02:00
Carlo Galiotto 0d67fbc36c rrc: change call to release user
We call s1ap instead of rrc

Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-26 23:18:17 +02:00
Carlo Galiotto 9c74dda039 rrc,nr: add msg5 and inactivity timers to RRC-NR
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-26 23:18:17 +02:00
Andre Puschmann 0cfcd612b0 enb.conf.example: fix merge conflict 2021-10-26 22:19:29 +02:00
Ismael Gomez d972fb368c
Some LGTM fixes (#3564)
* Fix LGTM issues

* ue: add logging to switch on function

* Fix new LGTM issues
2021-10-26 21:15:36 +02:00
Alejandro Leal Conejos 547ebf11f7 Fixes coverity 372880 2021-10-26 21:09:44 +02:00
Francisco c928615952 nr,gnb,sched: avoid scheduling RAR for RNTIs whose ue object is not yet created in the scheduler 2021-10-26 16:58:55 +02:00
Nils Fürste 6c8324d95e srsenb.conf.example: Fix typos and make layout consistent 2021-10-26 16:33:42 +02:00
yagoda 5d6b48311e fixing a few regression bugs in embms 2021-10-26 15:35:18 +02:00
Pedro Alvarez bc903b13d5 Added nia0 to hardcoded configuration of nr-bearer-config 2021-10-26 14:59:40 +02:00
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>
2021-10-26 14:57:56 +02:00
Francisco 67a39fbb81 nr,sched: push BSRs into the scheduler when nr_phy_test is run with PUSCH enabled 2021-10-25 20:55:00 +02:00
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.
2021-10-25 20:54:32 +02:00
Francisco 4d8a354b17 nr,gnb,rrc: implement reestablishment reject in case of reestablishment with cause reconfigfailure and no NR carrier 2021-10-25 20:50:18 +02:00
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>
2021-10-25 10:56:12 +02:00
Francisco e4247517d0 nr,sched: update sched_nr_test to support the new DL sched no-copy api 2021-10-23 21:09:26 +02:00
Andre Puschmann be388aa53f rrc_nr: temporary fix of heap-use-after free
see https://github.com/softwareradiosystems/srsLTE/issues/3545
2021-10-23 21:09:26 +02:00
Francisco 87459bad17 nr,sched: avoid resetting Tx softbuffer every time a new DL HARQ proc is allocated 2021-10-23 21:09:26 +02:00
Andre Puschmann cf4b6d0bea sched_nr_interface: make PHY results a reference to avoid copying 2021-10-23 21:09:26 +02:00
Andre Puschmann 2cee65bb88 enb,slot_worker: skip UL signal demod if scheduler returns empty results 2021-10-23 21:09:26 +02:00
Xavier Arteaga b54d4ad8e2 Avoid copying gNb common configuration in slot basis 2021-10-23 17:23:08 +02:00
Francisco 0663594aa1 nr,gnb,sched: add extra checks to sched to ensure the max nof grants is not exceeded 2021-10-23 09:20:28 +01:00
Carlo Galiotto 0c35045543 rrc,nr: remove default value from input arg + ...
change input arg name

Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-22 19:43:19 +01:00
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>
2021-10-22 19:43:19 +01:00
Carlo Galiotto 4f6905363f rrc,nr: add MSG3 activity timer to rrc_nr
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-22 19:43:19 +01:00
Francisco ceec108831 nr,sched: fix fmt string in sched nr harq 2021-10-22 18:08:43 +01:00
Francisco 327687cbc2 nr,sched: auto clear HARQs that exceeded maxretx, after the feedback has been processed 2021-10-22 18:08:43 +01:00
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.
2021-10-22 17:27:32 +01:00
Carlo Galiotto e3267c9dfd gtpu: remove unused local variable
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-21 23:26:46 +02:00
Francisco b9f0b4a558 lte,enb,gtpu: fix failing gtpu_test 2021-10-21 23:26:46 +02:00
Carlo Galiotto 284207dad6 WIP: fixing collision in the the users_map
Signed-off-by: Carlo Galiotto <carlo@srs.io>
2021-10-21 23:26:46 +02:00
Ismael Gomez 6bdefa33e4 fix minor issues 2021-10-21 21:31:21 +02:00
Ismael Gomez 09cec9ca5c srsenb,phy: do not get reference to ul_grants, do a copy instead to protect concurrent access 2021-10-21 21:31:21 +02:00
Ismael Gomez 2aeb32533f Print error setting ul grant 2021-10-21 21:31:21 +02:00
Ismael Gomez c479a1e51e srsenb: Handle error in decode_pusch to avoid logging PUSCH with 0 rnti 2021-10-21 21:31:21 +02:00