861 Commits (637e7ce9fa9fb84ae6b1ee20a03e86b3772c90b5)

Author SHA1 Message Date
Xavier Arteaga f5446422bc UE NR SA interface expects PBCH message instead of spare fields 3 years ago
Xavier Arteaga fb17e3326f More development in UE NR SA cell search 3 years ago
Xavier Arteaga b1bcc1a8c0 Initial UE NR SA PHY classes 3 years ago
dvdgrgrtt 32c4da8db0 Fix typos 3 years ago
dvdgrgrtt bae6f13c89 Introduce function srsran_vec_sc_sum_fff
This function adds a float scalar to all elements of a float vector.
3 years ago
Francisco b27c184d2f nr,gnb,stack: add bearer manager to gNB stack to correctly map between eps bearer ids and lcids 3 years ago
Pedro Alvarez f9a2850d74 gnb,ngap: Added interface so the NGAP can pass a NAS message to the RRC
upon starting the RRC Security Mode command. This allows the gNB to
pass this message only after the SM procedure is complete.

Also made sure that the RRC notifies the NGAP upon the end of the
reconfiguration procedure, to make sure that the NGAP sends the UE
context setup response.
3 years ago
Pedro Alvarez 942c75ae80 gnb,rrc_nr: move location of creation of nr srb PDCP configs to rrc_nr_utils.cc 3 years ago
Pedro Alvarez 14170bbba2 lib,rrc_nr: made separate function to create default PDCP SRB configs 3 years ago
Pedro Alvarez c69b221293 gnb,rrc_nr: move location of creation of nr srb PDCP configs to rrc_nr_utils.cc 3 years ago
Pedro Alvarez 9b622b3bff lib,rrc_nr: made separate function to create default PDCP SRB configs 3 years ago
Francisco 6df8b6bb9e nr,gnb,sched: account for CORESET RB offset in the DCI RB indexing in case of common search spaces 3 years ago
Pedro Alvarez 90ed04afd1 Fix unitialized header warning on rlc_amd_tx_pdu for ARM. 3 years ago
Andre Puschmann 8ddc344cdb gnb,mac: rework DL MAC PDU packing and add ConRes handling
* store Msg3 when UL-CCCH is received
* add ConRes CE in DL-SCH when indicated by scheduler
* remove fixed LCID for packing SDUs
3 years ago
Andre Puschmann 059a747081 mac_sch_pdu_nr: fix pretty-priting of CCCH 3 years ago
Andre Puschmann 97997b6d0b buffer_pool: add helper to build byte_buffer from raw payload+len 3 years ago
Pedro Alvarez dface7e4af lib,rlc_am_nr: make sure header is initialized. 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
Pedro Alvarez 7460a9db69 lib,rlc_am_nr: check whether we exced nof_bytes in retx. changed build_retx_pdu API to receive unique_byte_buffer by ref. 3 years ago
Pedro Alvarez e3b95ef131 lib,rlc_am_nr: remove unused structure 3 years ago
Pedro Alvarez 47340f37a2 lib,rlc_am_nr: fix TS version in comments 3 years ago
Pedro Alvarez b497d773ce lib,rlc_am_nr: Fixed some metrics calculation. Added more precise metrics checking to unit tests 3 years ago
Pedro Alvarez b794593469 lib,rlc_am_nr: added processing of ACKs from status report 3 years ago
Pedro Alvarez ec93cc7238 rlc_am_nr: added logic to retx NACK'ed PDU. 3 years ago
Pedro Alvarez 473a45aae0 rlc_am_nr: fix buffer status calculation for retxs 3 years ago
Pedro Alvarez 63657ddfe6 Moved retx queue to rlc_am_data_structs, to enable it being re-used in RLC AM NR 3 years ago
Pedro Alvarez 4e1c713c14 rlc_am_nr: Enabled sending NACKs on status PDUs
- Added some logic to only poll when PDU_WITHOUT_POLL > PollPDU
  - Fixed initalization of t-Reassembly
  - Fixed a bug in the packing of the status buffer.
Nacks now work for a single lost PDU.
3 years ago
Pedro Alvarez 4c02407d3e Change the update of rx_next and rx_highest_status. 3 years ago
Pedro Alvarez 3f000f0472 Adding t_reassembly to RLC AM NR 3 years ago
Francisco cc89b1607f nr,gnb,rrc: fix RRC setup to avoid configuring the SRB1 twice 3 years ago
Andre Puschmann 062cba5bd5 mac_sch_pdu_nr: add support for contention resolution CE 3 years ago
Pedro Alvarez c0d2e8c11d gNB NR security context:
- changed variables to use nia/nea instead of eia/eea.
  - make rrc_nr_cfg a ref
  - Changed NR ciphering/integrity algo enums to their own enum
3 years ago
Pedro Alvarez 37f8dba4ac Make sure rlc_am_nr_header_t is initialized. 3 years ago
Fabian Eckermann 8bac4eceda Add ue MAC procedures for PDCCH orders. 3 years ago
Fabian Eckermann d0c07fc86e Add packing of dci format 1A for pdcch orders. 3 years ago
Francisco b35584ae70 nr,gnb,rrc: add code to add/mod/release bearers during rrc setup and reconfiguration 3 years ago
Pedro Alvarez 9e4631ee24 Added NR specific config struct for RLC AM. Added status prohibit timer. 3 years ago
Pedro Alvarez 8ff545c423 Added RLC AM NR config structure. Added helpers to create RLC AM NR configs. Made it possible to create RLC AM NR entites in rlc.cc 3 years ago
Pedro Alvarez 8ae4d379aa RLC AM NR: Added some logging functions to better debug the state and the received headers. Added initial handling of data pdu. Updating rx_next and rx_status_highest now. 3 years ago
Pedro Alvarez 2d29e4005c Starting to generate RLC NR status report.
Starting to check if status pdu generation is correct.
3 years ago
Francisco a58420a530 nr,gnb,rrc: implement basic NR RRC bearer addition and reconf message sending 3 years ago
Francisco 0c733f7ea3 nr,ngap: use const_byte_spans instead of unique_byte_buffers in ngap interface to avoid intermediate copies 3 years ago
Francisco e8beb2ef81 nr,rrc: redesign fetching of asn1 obj ids for comparison and addmod/rem to asn1 lists 3 years ago
Francisco 3b3630d444 nr,gnb,rrc: remove redundant code, and update rrc_nr_test to use default rrc nr cfg generator 3 years ago
Francisco f705445f21 nr,gnb,rrc: use rrc_nr_cfg to generate sib1 and mib 3 years ago
faluco 453a7760b3 Port misc SSN changes to dev. 3 years ago
Andre Puschmann b7f9dd5d75 phy_common_nr: add helper method to print coreset info to string 3 years ago
Francisco 25a8ea53d3 nr,gnb,sched: pass mib config to scheduler so it is used during SSB allocation 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
Ismael Gomez 798e9b7a5e ue_dl: reference point for DMRS varies for SIB 3 years ago
Andre Puschmann f708635a5d rrc_nr_cfg: set default PLMN for NR cell to 00101 3 years ago
Andre Puschmann 1bec07a64a rlc_um_nr: fix starting/stopping of reassemble timer 3 years ago
Pedro Alvarez f99d6bc224 lib,rlc: changed get_bearer() to get_lcid(). 3 years ago
Pedro Alvarez 3b150e26cb rlc_am_nr: Changed header_t to HeaderType typename in RLC data structs.
Fix issue in clear_pdcp_sdu()
3 years ago
Pedro Alvarez 123ac16653 rlc_am_nr: fixed issue with pointers from rx entity to tx entity 3 years ago
Pedro Alvarez f99e841421 Changed using a rlc_am_lte and rlc_am_nr entity, to a single rlc_am entity. 3 years ago
Pedro Alvarez eefedcfccd rlc_am_nr: renamed rlc_am_base to just rlc_am 3 years ago
Pedro Alvarez aef87d5366 rlc_am_nr: Change rlc_am_base to use unique_ptr to hold rx/tx entities 3 years ago
Pedro Alvarez debb4a0c6b Refactored RLC AM segment pool for re-use in both LTE and NR
Moved RLC AMD PDU definitions from rlc_am_lte.h to rlc_common.h to make them re-usable in both RLC LTE and RLC NR
3 years ago
Pedro Alvarez 54be15e7a6 Moved write pdu to rlc_am_base::rlc_am_base_rx 3 years ago
Pedro Alvarez 476f9e1156 Changed logger initialization in RLC AM entities 3 years ago
Pedro Alvarez 022c51493b Refactored RLC AM NR/LTE Rx and Tx entities to use a rlc_am_base_rx/tx class.
This was done to make it easier to share entity specific code between LTE and NR.
This removes the previously used templates.
3 years ago
Pedro Alvarez b15f63f32f Added an RLC AM base class to avoid code duplication in the RLC AM NR entity.
This class is based on a template that receives as argument the
rlc_am_*_tx/rx entities, so that those are different for LTE and NR.

Moved code from rlc_am_lte/nr entities so that they use the new base class.
3 years ago
Pedro Alvarez e65bcd7147 Changed default max S1 Setup retries to infinity 3 years ago
Pedro Alvarez 930e3699d0 Added max_s1_retries parameter 3 years ago
Francisco 83c1fb65d7 nr,gnb,rrc: add rrc nr message handler and send functions to establish an SA RRC connection 3 years ago
Francisco 16753a006a nr,gnb,rrc: add test logger delimiter; handle rrc setup complete 3 years ago
Francisco 9734f2e393 adt: fix optional_vector ctor, and add emplace method 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 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
Pedro Alvarez d528d8af4c Added initial skeleton for RLC AM NR entity 3 years ago
Pedro Alvarez 2bb249bf09 Moved RLC AM LTE and NR packing functions to their own file. 3 years ago
Pedro Alvarez f93d428e49 Moved RLC AM data structures to their own file 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
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 4286ab81d9 nr,gnb,mac: fix const-correctness of some methods of class srsran::mac_sch_pdu_nr 3 years ago
faluco 74456bf3d2 Whitelist a reported deadlock involving read lock. 3 years ago
Francisco dfc2ea0a3e nr,gnb,pdcp: extend the use of local rb_name member to pdcp nr 3 years ago
Francisco c64be663d2 nr,gnb,pdcp: store the PDCP RB name in base class for easier use 3 years ago
Francisco 5b8d4c39af pdcp,lte: fix drb/srb id logging to account for dynamic mapping 3 years ago
Ismael Gomez 8a53a9d35c ssb_decode_test: Fix stack overflow pbch_msg buffer 3 years ago
Bedran Karakoc a14cc451d0 Addition NGAP cleanup 3 years ago
Nils Fürste b036da07de Extend ASN1 utils function from_number() 3 years ago
Fabian Eckermann 8753ea1be5 Fix coverty defects. 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
faluco edf0926a2f Batch of LGTM fixes. 3 years ago
Francisco 7ad1ad800e lte,enb,rlc: atomically compute DL buffer state and update the scheduler in the eNB 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
faluco dc31fb05a3 Fix ODR issue detected by ASAN in arch for the srsran_verbose global variable. 3 years ago
faluco fa8e8ddf1f Fix an ODR issue detected by ASAN in arch, where the global variable handler_registered was defined multiple times. 3 years ago
Andre Puschmann 3eb1862ab9 gnb_interface: reduce MAX_GRANTS to 4
see #3530 for detailed discussion. This change saves some CPU cycles it seems
3 years ago
Xavier Arteaga 322f57a952
Initial real-time Tx gain setting (#2976)
* Make filename const in filesink

* Sine generation returns the next phase

* Avoid malloc/free in radio class

* Implement Tx gain in ZMQ

* Initial ratio RT gain test

* UHD: use timed Tx gain commands to align changes to subframes

* Minor improvement in test_radio_rt_gain

* Fix compilation

* Check RF gain thread id before joining

* Remove redundant zero initialization.

Co-authored-by: Fabian Eckermann <fabian@srs.io>
3 years ago
Xavier Arteaga ebab12403f
Asynchronous NR PHY configuration (#3527)
* Fix a race condition when accessing the NR PHY cfg by the RRC and phy workers.
Rework how the phy cfg is handled, now workers have their own copy that gets updated after a reconfig moving it out of the state class.

* Default initialize sf_len member in sf_worker for consistency.

* Asynchronous NR PHY configuration

* Fix compilation

* Corrected method override and fix unitialised value

* Added carrier equal comparison to avoid aligment byte padding comparison

Co-authored-by: faluco <borja.ferrer@softwareradiosystems.com>
3 years ago
faluco 0ada9a01ec Whitelist TSAN issue in srsenb::mac::sr_detected. 3 years ago
faluco a1b2f3915d Whitelist lock order inversion tsan issue in srsenb::rlc::rb_is_um. 3 years ago
Andre Puschmann 8294724aad gnb_interface: reduce MAX_GRANTS to 4
this significantly reduces data copies when providing the PHY
with scheduler results.
3 years ago
Xavier Arteaga 95bf85b3d3 Reduced maximum number of CSI reports 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
Xavier Arteaga d9bdc3f83e Add CSI resource information and fix segmentation fault 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 7920e084b8 Revert "Do not abort tsan"
This reverts commit e8e1d101c553912f733070e71d020a33ec895280.
3 years ago
Ismael Gomez 80c48a8b01 rlc: protect access to tx_enabled 3 years ago
Ismael Gomez bf566fbd29 radio: protect concurrent access from tx_end and tx 3 years ago
Ismael Gomez 4239222909 Do not abort tsan 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 e721504f8e Removed the sctp_init_server for consistency. Added listen method to unique_socket class. 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 7aa5f731ce lte,enb,rlc: push to scheduler pending prioritized bytes both in case of RLC timer expiry or in case of new buffer state detection 3 years ago
Francisco 4a58c10f30 lte,enb,rlc: compute and forward to scheduler the number of bytes pending for retx and status pdu in RLC AM bearer 3 years ago
Xavier Arteaga 8e5fe9018b Corrected LBRM functionality 3 years ago
Xavier Arteaga 9ecea014bd Added PUSCH DMRS minimum SNR 3 years ago
Francisco 0b51848dda nr,gnb,rrc: use multiqueue to forward x2 tasks to NR stack 3 years ago
Fabian Eckermann 59df04547e Increase buffer size for NR. 3 years ago
Andre Puschmann 3bf09021f9 enb: remove unused parameter 3 years ago
Francisco 7a16be9692 rrc,nr: ensure coresets and search spaces are passed to scheduler cell_cfg and ue_cfg 3 years ago
Andre Puschmann af69551c8d mac_sch_pdu_nr: add LBSR unpacking
* add LBSR unpacking
* add pretty printer
* also simplify and unify general unpacking code
3 years ago
Francisco 81174bda64 nr,ue,rrc: release NR logical channels during RRC release 3 years ago
Xavier Arteaga 3c40cd2840 Improved NR PHY logging info 3 years ago
Xavier Arteaga a5f6aa9f31 Added CSI string in PDSCH and PUSCH decode 3 years ago
Xavier Arteaga 003c6e524c Added short NR CSI information 3 years ago
faluco dacf40f63e Delete move constructor and move assignment operator explictly for mac_pcap_base and s1ap_pcap classes.
Move emergency handlers header file into the support folder.

Refactored signal handling:
- Remove the dependency with the running static variable in the header file.
- Move implementations down to cc files.
- Allow specifying a new signal handler that will be used to stop the applications.
- Move signal handling files to support.
3 years ago
faluco 9075251627 Move the cleanup code from the signal handlers down to the new emergency handlers for the ue, epc and enb. 3 years ago
faluco 2c1e9c0c55 Implement an emergency cleanup handler registration mechanism to allow modules to clean themselves before application gets killed.
Flush PCAP contents just before killing the application.
3 years ago
Francisco f427a25a30 nr,gnb,mac: account for header space larger than 2 when packing PDSCH 3 years ago
Francisco ed2e88524f asn1,rrc_nr: implement to_json in setup_release_c 3 years ago
Francisco 9df6c6b936 sched,nr: ensure the ue_cfg_t passed to the scheduler in NR FDD mode has the correct harq delay 3 years ago
Andre Puschmann 255ddb1329 enb,gnb: add basic support for sgnb release procedure
the procedure is currently started when the EUTRA UE object
is deleted (after RRC release) in order to clean-up the
ENDC resources on the gNB.
3 years ago
Francisco ea324e8cbe nr,sched,test: update sched nr test to better reflect MAC-PHY FAPI 3 years ago
faluco 28bbaa7816 Blacklist TSAN issues from libusb and libuhd. 3 years ago
Alejandro Leal Conejos 1a64c6adad Enum fixes so clang 12 can build the repo 3 years ago
Carlo Galiotto f53e01cfa3 mac: apply changes by PR reviewers
- reinstate write_lock on ue metrics
- change "rwlock" variable name in mac_nr.h

Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Carlo Galiotto dc3e3a89f8 mac: update CQI in MAC with CSI reports from PHY
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Francisco 11ee4ab9dd nr,gnb,rrc: fix scheduler FDD configuration 3 years ago
Francisco 1b595b6eff nr,gnb: if no nr cell is initiated, do not enable endc in the LTE RRC 3 years ago
Francisco 43b12b9ffb rrc,nr: transfer SSB config to both UE and NR scheduler 3 years ago
Carlo Galiotto 43a7d822fa stack,rrc: fix double removal of EPS bearer
The EPS bearer was removed twice, causing an error in the logs.

Fix issue #3380

Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Xavier Arteaga 25bd0d6219 Added SSB pattern to/from string functions 3 years ago
Francisco 47e5e85449 refactor: clean unnecessary includes of the asn1/rrc_nr.h 3 years ago
Xavier Arteaga 1bdb1bb62d Store PUSCH CSI from PUSCH DMRS 3 years ago
Bedran Karakoc 850606f20b Added deregistration (UE terminating) 3 years ago
Xavier Arteaga d5b34696b4 Sepparate CSI report configuration from quantification and integrate in nr_phy_test with assertions 3 years ago
faluco 388b1e5d92 Fix data race in radio::is_start_of_burst. 3 years ago
faluco 7b0b76d58e Whitelist two lock order inversion TSAN issues that acquire a readlock. 3 years ago
Francisco Paisana b7f40b2baf rrc,nr: reenable CSI reporting in gNB 3 years ago
Fabian Eckermann cb721aa292 fix calculation of ssb frequency. 3 years ago
Francisco Paisana b58915d7ed rrc,nr: make gnb cell CSI NZP configuration consistent with UE NSA configuration. 3 years ago
Francisco Paisana 23bf542ae7 stack,nr: isolate calls between LTE and NR stacks via the task multiqueue 3 years ago
Andre Puschmann 8bb06ff2c0 Added SSB in gNb PHY 3 years ago
Xavier Arteaga 3763d04578 implement helper function to calculate FFT size for a given sampling rate 3 years ago
Andre Puschmann 7496b7c14f Add SSB to configuration factory 3 years ago
Andre Puschmann 5b0767772b Added SSB center frequency to band helper 3 years ago
Andre Puschmann 91e17337db Added SSB scaling configuration option 3 years ago
Andre Puschmann 3e5b40fd36 enb,rrc: fix compilation after freq point a has been removed from nr_carrier_t
since absolute freq point a members have been removed from the srslte_nr_carrier_t
struct (they are now actual frequencies) the abs_point_a values are now in
the RRC cell structs
3 years ago
Fabian Eckermann 95abfbfec8 Calculate ssb frequency from freqency point a. 3 years ago
Francisco Paisana f22483ce72 sched,nr: use formatting %d to represent slot index 3 years ago
Xavier Arteaga c9d7db7314 Minor changes 3 years ago
Xavier Arteaga e3bd92d87c Fix SSB pattern in UE 3 years ago
Xavier Arteaga 8f90ee847a Refactor carrier frequency from PHY and fix OFDM phase compensation 3 years ago
Xavier Arteaga fda35bf6a1 Initial OFDM carrier phase compensation 3 years ago
Ismael Gomez 6b506ec357
phy_common: clear tx_hold flag before releasing the semaphore (#3342) 3 years ago
yagoda 82bda02b36 adding nr metrics 3 years ago
Xavier Arteaga 1aa65bd10c HOTFIX: force DFT wisdom save at exit 3 years ago
Ismael Gomez c09f09b7be Move rrc_common from srsue to lib 3 years ago
Fabian Eckermann 8830c2796f Add support for NSA FDD on band n3, n5 and n7. 3 years ago
Fabian Eckermann 2d0be77660 Add helper functions for abs freq point a. 3 years ago
Andre Puschmann 315057d11c enb: signal user activity to EUTRA RRC when doing NR DL traffic
to avoid releasing the UE when only NR DL traffic is done.
similar to the EUTRA solution.
3 years ago
Xavier Arteaga 8b2514ded3 Added NZP-CSI-RS signals in gNb 3 years ago
Francisco Paisana cbb709d4e3 sched,nr: function to log UEs buffer status before scheduling decision, fix const_iterator of circular_map 3 years ago
Ismael Gomez 1c77998df5 Stop PDCP for data bearers before initiating HO 3 years ago
faluco fa351cd285 Rename functions that contain the unsafe word to nolock.
The term "unsafe" does not clearly state that the function is not locking the shared date and it sounds "dangerous", so use a more explicit term.
3 years ago
Andre Puschmann 59e1bca3f5 rlc_am_lte: fix potential crash when attempting to resize tx queue
under some circumstances it could happen that the RLC is configured
when SDUs are already being written to the queue. The resize
operation of the underlying container would fail in this case.

Make sure to empty the queue before doing the resize.
3 years ago
Francisco Paisana bdf18856d1 sched,nr: fix handling of DL BSR in NR scheduler and computation of UCI 3 years ago
faluco 7b079fe289 Fix a data race in rlc TM metrics. 3 years ago
faluco edb7342aef Fix data race in rlc UM metrics. 3 years ago
faluco 6c91a824e2 Whitelist the TSAN lock order inversion issue in srsenb::mac::rlc_buffer_state. 3 years ago
Andre Puschmann 426e876047 enb,nr: fix GTPU handler to forward UL PDUs 3 years ago
yagoda bc4388a78c -adding temp crnti removal for NR carrier attach 3 years ago
Andre Puschmann 802b22ac91 enb,nsa: refactor NR RRC/cell config parsing
this allows to access all cell-related params from within RRC
3 years ago
David Rupprecht 611255aa5f Added GTPU bind address as output parameter 3 years ago
David Rupprecht bd0e641633 Added GTPU PDU Session header parsing 3 years ago
Bedran Karakoc 43915550cc NGAP GTP Bearer Establishment 3 years ago
David Rupprecht 3712983308 Added PDU Session est request 3 years ago
David Rupprecht c670383ae9 Added NAS 5G functions incoming msg and reg proc 3 years ago
David Rupprecht bbe54fb248 Fix uninitialized issue in NAS 5G pack/unpacking 3 years ago
Xavier Arteaga cdfbe28b69 Initial NR-MIB packing/unpacking 3 years ago
Xavier Arteaga 0324806d6c Packed NR TDD config in duplex configuration and created test case for FDD 3 years ago
Xavier Arteaga ffba972fb7 Fix gnb amplitude 3 years ago
Xavier Arteaga de00b80228 Review NR NSA CFO estimation and compensation 3 years ago
Xavier Arteaga 63bb86bce1 Added SS type conversion to string 3 years ago
Xavier Arteaga 7ba5099bee Implement CSI-RS resource mapping validation 3 years ago
Andre Puschmann 3fd47d2af4 enb: refactor L2/L3 and (re)move all NR components to gNB stack
* decouple EUTRA and NR stack classes
* implement dummy X2 interface with control and data plane methods
* implement eNB time source interface that PHY calls
3 years ago
faluco d2f09a8d3c Fix a nasty data race in the ue_bearer_manager class. The underlying std::map member was being accessed concurrently potentially corrupting memory. 3 years ago
faluco d009160ba6 Fix data race in the metrics of the rlc. 3 years ago
Andre Puschmann b127327684 enb,s1ap: print filename when writing S1AP PCAP 3 years ago
David Rupprecht e8a464228d Cleaned string helpers 3 years ago
Andre Puschmann cc2d71183e ue,phy,nr: fix race condition when setting UL grant for Msg3
the Msg3 UL grant requires the TTI in which the RAR has been received
to calcualte the correct timing. There was a race between PHY and Stack
thread.

This patch circumvents the issue by removing a PHY state member that only holds
the RAR Rx timing. In the new interface the RA proc passes the Rx TTI
to the PHY again when setting the UL grant so the PHY can calculate the
correct timing without any state.
3 years ago
Andre Puschmann ed92f2bd34 enb,mac_nr: remove EUTRA cell param for MAC-NR cell config calls
* the old srsran_cell_cfg_t is only carried for SIB params
* the SIB scheduling, etc needs to be ported and integrated into NR data structures
* disbable SIB test for the moment
3 years ago
faluco cf20b143c0 Fix the default constructor of the optional class to avoid a spurious uninitialized value warning in older GCC versions (seen for ARM32 and GCC 8.3).
Use a union of a byte and the real storage, and init the char by default.
3 years ago
faluco 485ec2edab Implement a new option to flush the file sink contents on every write. 3 years ago
Andre Puschmann 07019a5bd6 nr: refactor DL/UL frequency deriviation
* add separate DL/UL freq point a in NR carrier struct
* use freqInfoDL/freqInfoUL to get freq point a
* simplify carrier tuning logic
3 years ago
Andre Puschmann d26a7e0350 band_helper: add helper to derive DL/UL freq from abs_freq_point
calculate DL and UL freq in carrier struct based on given values
3 years ago
Andre Puschmann 69619d725a band_helper: add helper to derive UL ARFCN from DL ARFCN 3 years ago
Andre Puschmann f382a7c7db Revert "ue,proc_ra_nr: add temporary flag to skip RAR reception"
This reverts commit 28668aac34.
3 years ago
Andre Puschmann c1892eb2ec enb,nsa: refactor of SgNB addition interface
* update of FSM
* better integration of parameter for X2 calls
3 years ago
Andre Puschmann 54ab64327a ue,mac_nr: move BSR levels lookup table into lib header
prepare for shared use with gNB
3 years ago
faluco ec272061a0 Fix a dangling SDU pointer in mac_sch_subpdu_nr when adding subpdus into a mac_sch_pdu_nr. 3 years ago
faluco 934802d23c Report the SIB9 home enb name in the enb sector start/sector stop events. 3 years ago
faluco d168536bc4 Add a new program option to control how ASN1 messages get printed into the enb JSON report file. 3 years ago
faluco df6ae7b0e0 - Implement new enb events:
* ho_command
* connection_resume
* rlf_detected
- Rename rlf_report event to "rlf_report".
3 years ago
faluco 8a3586dfbf Include a ASN1 json representation for RRC enb events. 3 years ago
David Rupprecht a9a23214b0 Added more 5G security kdfs
Added new 5G SIM functions

Added const parameters for security functions
3 years ago
David Rupprecht a645d74eaf USIM functions for res star
Added gen_res_star in security.h

Added USIM interfaces for res star

Added RES star test case
3 years ago
David Rupprecht bce6b5cc0f Added kdf common
Use kdf functions in 5G KDF

Moved EPS KDF function to new KDF structure
3 years ago
David Rupprecht 15eaef21e2 Update test f12345 function
Moved XOR functions to lib

Added testcase for KDF

Minor liblte_security updates
3 years ago
David Rupprecht 0ef8976d53 Remove length from class and pass by reference 3 years ago
Andre Puschmann 88bb92dc0d mac_nr,sched: handle C-RNTI CE 3 years ago
Andre Puschmann ede81be5e4 mac_rar_pdu_nr: add packing routines
* add packing for RAR PDUs
* rewrite to_string() to use fmt lib
* add test case for packer
3 years ago
Andre Puschmann 20c0e0bc41 mac_sch_pdu_nr: add to_string() helper to format MAC PDUs in logs 3 years ago
Francisco Paisana 227ae97bcb workaround gcc4.8 issue with inability to derive move ctor noexcept specifier 3 years ago
Francisco Paisana f4df55c245 stack lte: separate bearer manager into two classes, one for the ue and one for the enb 3 years ago
Francisco Paisana 2ade4628ca stack lte: create an gtpu-pdcp adapter class that correctly converts lcids to eps bearers and vice-versa 3 years ago
Francisco Paisana 4b2f079581 gtpu: renamed lcid to eps_bearer_id as parte of the refactor of gtpu to use eps_bearer_ids 3 years ago
Andre Puschmann 3949a727a7 enb_interface: add stack interface for RRC
RRC uses the interface to register/deregister EPS bearer
3 years ago
Andre Puschmann db8b710442 bearer_manager: move to lib folder and extend for multiple users
prepare bearer manager to be used by eNB which requires
to support multiple RNTIs
3 years ago
Francisco Paisana 020bec025e sched: created class common to LTE and NR for ue buffer status management 3 years ago
Xavier Arteaga 01390a7340 Better NR softbuffer size adjustment 3 years ago
Andre Puschmann 9bf74843f6 mac_pdu_nr: add error handling to init_tx() method
check provided byte_buffer and return error if it's not valid
3 years ago
Francisco Paisana 04e5c81edf sched,nr: nr_phy_test now uses the whole mac class rather than just the scheduler 3 years ago
Francisco Paisana da4b7e4f80 sched,nr: fix sched RAR NR test; update test assert macros 3 years ago
Xavier Arteaga 83b9b2d1ff Implemented UE open loop CFO compensation for NR 3 years ago
Xavier Arteaga 7da2d20447 Added UE UL NR frequency offset option 3 years ago
Xavier Arteaga cfe2b305a1 Fix CORESET0 related PDSCH resource allocation procedure 3 years ago
Xavier Arteaga 36207db615 Added CORESET start_rb helper function 3 years ago
Xavier Arteaga f5f18054eb Added PDCCH NR interleaved mapping 3 years ago
Xavier Arteaga e07263ee26 Added band helper for getting band from ARFCN 3 years ago
Xavier Arteaga 7377496417 Added SCS to string and corrected coreset0 3 years ago
Xavier Arteaga 62ba7d386d Initial CORESET Zero constructor 3 years ago
Xavier Arteaga 5d149a4b78 Moved NR time/frequency allocation SLIV to new component 3 years ago
Francisco Paisana 2668a8f68b sched,nr: fix Msg3 decoding in PHY to not expect any UCI 3 years ago
Xavier Arteaga 2cd5e98132 Fix NULL check in DCI NR for RAR type 3 years ago