Carlo Galiotto
d95c31d2de
rlc,rrc,nr: fix rlc bearer string diplayed in logs
...
Signed-off-by: Carlo Galiotto <carlo@srs.io>
3 years ago
Codebot
5275f33360
Merge branch 'next' into agpl_next
3 years ago
Francisco
dfc2ea0a3e
nr,gnb,pdcp: extend the use of local rb_name member to pdcp nr
3 years ago
Codebot
1cd26af06b
Merge branch 'next' into agpl_next
3 years ago
Bedran Karakoc
a14cc451d0
Addition NGAP cleanup
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
Ismael Gomez
d972fb368c
Some LGTM fixes ( #3564 )
...
* Fix LGTM issues
* ue: add logging to switch on function
* Fix new LGTM issues
3 years ago
Codebot
2cda208936
Merge branch 'next' into agpl_next
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
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
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
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
Francisco
c6226b0d94
lte,enb,rrc: parse cellIndividualOffset in rr.conf and propagate it to measConfig sent to UE
3 years ago
Codebot
9d7836817c
Merge branch 'next' into agpl_next
...
# Conflicts:
# lib/include/srsran/common/signal_handler.h
3 years ago
Francisco
0b51848dda
nr,gnb,rrc: use multiqueue to forward x2 tasks to NR stack
3 years ago
Andre Puschmann
3bf09021f9
enb: remove unused parameter
3 years ago
Francisco
81174bda64
nr,ue,rrc: release NR logical channels during RRC release
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
1b595b6eff
nr,gnb: if no nr cell is initiated, do not enable endc in the LTE RRC
3 years ago
Codebot
cf4b0f1739
Merge branch 'next' into agpl_next
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
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
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
Codebot
8c3332f894
Merge branch 'next' into agpl_next
...
# Conflicts:
# srsenb/hdr/stack/upper/pdcp_nr.h
# srsenb/hdr/stack/upper/rlc_nr.h
# srsenb/src/stack/upper/pdcp_nr.cc
# srsenb/src/stack/upper/rlc_nr.cc
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
Fabian Eckermann
8830c2796f
Add support for NSA FDD on band n3, n5 and n7.
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
Ismael Gomez
1c77998df5
Stop PDCP for data bearers before initiating HO
3 years ago
Codebot
2b80b88a98
Adding AGPL copyright to new files
3 years ago
Codebot
ecd0580b9e
Merge branch 'next' into agpl_next
3 years ago
Francisco Paisana
bdf18856d1
sched,nr: fix handling of DL BSR in NR scheduler and computation of UCI
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
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
Xavier Arteaga
de00b80228
Review NR NSA CFO estimation and compensation
3 years ago
Codebot
b87b760326
Merge branch 'next' into agpl_next
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
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
Codebot
958542dc2b
Merge branch 'next' into agpl_next
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
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
Andre Puschmann
88bb92dc0d
mac_nr,sched: handle C-RNTI CE
3 years ago
Codebot
71098315ca
Adding AGPL copyright to new files
3 years ago
Codebot
de59c88954
Merge branch 'next' into agpl_next
...
# Conflicts:
# srsue/hdr/stack/bearer_manager.h
# srsue/src/stack/bearer_manager.cc
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
Andre Puschmann
3949a727a7
enb_interface: add stack interface for RRC
...
RRC uses the interface to register/deregister EPS bearer
3 years ago
Francisco Paisana
020bec025e
sched: created class common to LTE and NR for ue buffer status management
3 years ago
Codebot
d1d38d1826
Merge branch 'next' into agpl_next
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
Xavier Arteaga
83b9b2d1ff
Implemented UE open loop CFO compensation for NR
3 years ago
Francisco Paisana
eb4999a18e
lte,pdcp: silence error message when a reconfiguration of a PDCP entity is no-op
3 years ago
Codebot
635d0bc6e9
Merge branch 'next' into agpl_next
3 years ago
Andre Puschmann
c365c16531
gnb_interfaces: inherit from EUTRA interfaces when they are identical
3 years ago
Andre Puschmann
c03623863b
enb,nsa: fix UL PDU processing
...
* remove const from pusch_info() MAC/PHY interface to allow moving unique byte buffer
3 years ago
Andre Puschmann
fc35c0ee51
enb,nsa: fix packing of DL MAC PDUs
...
* use byte_buffer_t as interface type for DL PHY-MAC interface
* fix missing clear() for new DL tx
3 years ago
Xavier Arteaga
3ae131b336
gNb creates PUSCH decode PDU
3 years ago
Andre Puschmann
28668aac34
ue,proc_ra_nr: add temporary flag to skip RAR reception
...
this will be removed again as soon as the eNB supports full RAR
transmission.
3 years ago
Andre Puschmann
38f1e158a5
enb,nr: fix NR PHY PRACH init and MAC-PHY interaction
3 years ago
David Rupprecht
11f9ac75db
Added PLMN to serving network string name
3 years ago
Xavier Arteaga
dbb10dd6a2
Hold worker thread until baseband is transmitted
3 years ago
Xavier Arteaga
0c7239e5df
SRSUE: add RF channel offset
3 years ago
Xavier Arteaga
b57df4db10
Refactored worker_end mechanism for concurrent workers
3 years ago
Andre Puschmann
45c1971249
mac,phy,interface: clean up and add NR interface to LTE stack
...
* remove obsolte rx_data_ind
* add mac_phy_interface_nr to LTE stack
3 years ago
David Rupprecht
04ef6e120d
Added new SIM functions to get MCC, MNC and MSIN
3 years ago
Bedran Karakoc
a6226379b4
Introducing NGAP UE context procedures
3 years ago
Codebot
a8ef3ba6b2
Merge branch 'next' into agpl_next
...
# Conflicts:
# srsenb/test/common/dummy_nr_classes.h
3 years ago
Xavier Arteaga
bb4f469794
Integrated SR decoder in gNb
3 years ago
Xavier Arteaga
d783fbf3a0
Reviewed NR procedure for PUCCH resource sselection and reviewed gNb PUCCH interface
3 years ago
Codebot
ccf8cfb65f
Merge branch 'next' into agpl_next
...
# Conflicts:
# lib/include/srsran/common/basic_pnf.h
# lib/include/srsran/common/basic_vnf.h
# lib/include/srsran/common/basic_vnf_api.h
# lib/src/common/basic_vnf.cc
# lib/test/common/pnf_bridge.cc
# lib/test/common/pnf_dummy.cc
# srsenb/hdr/phy/vnf_phy_nr.h
# srsenb/hdr/stack/mac/nr/sched_nr_common.h
# srsenb/hdr/stack/mac/nr/sched_nr_phy_helpers.h
# srsenb/src/phy/vnf_phy_nr.cc
# srsenb/src/stack/mac/nr/sched_nr_common.cc
# srsenb/src/stack/mac/nr/sched_nr_phy_helpers.cc
# srsue/hdr/phy/vnf_phy_nr.h
# srsue/src/phy/vnf_phy_nr.cc
4 years ago
Francisco Paisana
74d0a8adb8
sched: add subband cqi info interface to LTE scheduler
4 years ago
Andre Puschmann
8d2e81ad6f
enb,mac,nr: add basic UE object skeleton
...
refactor that also adds a basic UE object to the NR MAC
4 years ago
Francisco Paisana
09c7000201
sched,nr: update nr scheduler to use new mac nr interface types
4 years ago
Francisco Paisana
d9336bcd9e
sched,nr: creation of pool of softbuffers for NR. Now the sched NR harq manages the lifetime of the softbuffer and its forwarding to the PHY
4 years ago
Francisco
357bc10a17
feature - make minimum SNR, under which the RRC is notified with UL KO, configurable
4 years ago
Francisco
67325ab5c1
add pdcch_cqi_offset parameter to enb.conf
4 years ago
faluco
7b7ecb7983
Add a new configuration option that controls PDSCH baseband sample dump to a file on KO.
4 years ago
Xavier Arteaga
b25681f9de
gnb,prach: add PRACH to gNB
...
rebase of Xavier's feature_gnb_prach branch
4 years ago
David Rupprecht
fb92118bb7
Add 5G NAS infrastructure
4 years ago
Codebot
516951c41c
Merge branch 'next' into agpl_next
...
# Conflicts:
# lib/include/srsran/interfaces/rrc_nr_interface_types.h
# lib/include/srsran/phy/enb/enb_dl_nr.h
# test/phy/nr_dl_flood.cc
4 years ago
Xavier Arteaga
ecc0b92142
Integrated PUSCH decoder in gNb
4 years ago
Andre Puschmann
fd7b9a0575
enb,nsa: add basic RRC EUTRA<>RRC NR interface for SgNB addition
4 years ago
Xavier Arteaga
5307fec2f0
Added GNB MAC UL info initial interface and fix PHY implementation
4 years ago
Xavier Arteaga
3fe9176750
Added PUCCH dedocder to slot worker
4 years ago
Xavier Arteaga
eecaccb541
Added NR PHY helpers
4 years ago
Codebot
585e3c51c1
Merge branch 'next' into agpl_next
...
# Conflicts:
# srsenb/hdr/phy/nr/cc_worker.h
# srsenb/hdr/phy/nr/sf_worker.h
# srsenb/src/phy/nr/cc_worker.cc
# srsenb/src/phy/nr/sf_worker.cc
# test/phy/nr_phy_test.cc
4 years ago
Ismael Gomez
4e39982a19
Fix TSAN warnings in UE ( #3021 )
...
* Protect PHY SR signal management in a class
* Protect intra_freq_meas vector
* Protect cell and srate shared variables in thread-safe classes
* srsue,srsenb: include TSAN options header
* Protect ue_rnti_t and rnti scheduling windows behind thread-safe classes
* Protect access to state variable in sync_state
* Protect access to metrics configuration
* Protect access to is_pending_sr
* Protect access to UE prach worker
* Protect UE mux
* Avoid unlocking mutex twice
* Fix data races in RF/ZMQ
* Fix data races in intra_measure and PHY
* Fix minor data races in MAC
* Make TSAN default behaviour to not halt on error
* Fix blocking in intra cell measurement
* Address comments
Co-authored-by: Andre Puschmann <andre@softwareradiosystems.com>
4 years ago
Pedro Alvarez
171d5727be
Moved lib RLC into it's own folder
4 years ago
Francisco Paisana
4d014e7ceb
s1ap,feature: make the ts1 reloc timers configurable via the enb.conf
4 years ago
Andre Puschmann
368c7b9e4f
ue,stack: clear all EPS bearers when going RRC idle
...
the EPS bearer manager was only informed when a single DRB
was removed but not when entering idle which requires to
remove all bearers.
This cause the service request to fail.
4 years ago
Xavier Arteaga
6f5614a0cc
Suggested modifications on gNb MAC/PHY interface
4 years ago
Xavier Arteaga
8378c85ec4
Refactored gNb PHY
4 years ago
Xavier Arteaga
aef3e5a40a
More NR PHY test and GNB PHY development
4 years ago
Xavier Arteaga
d49734b1bc
SRSENB: Refactor to accomodate 5G NR
4 years ago
Codebot
a90084473c
Adding AGPL copyright to new files
4 years ago
Codebot
bfa1215b89
Merge branch 'next' into agpl_next
4 years ago
Andre Puschmann
483a216bd5
ue,stack: refactor handling of radio bearears in UE stack
...
this is a rather large commit that is hard to split because
it touches quite a few components.
It's a preparation patch for adding NR split bearers in the next
step.
We realized that managing RLC and PDCP bearers for both NR and LTE
in the same entity doesn't work. This is because we use the LCID
as a key for all accesses. With NR dual connectivity however we
can have the same LCID active at the same time for both LTE and NR
carriers.
The patch solves that by creating a dedicated NR instance for RLC/PDCP
in the stack. But then the question arises for UL traffic on, e.g. LCID 4
what PDCP instance the GW should use for pushing SDUs. It doesnt' know
that. And in fact it doesn't need to. It just needs to know EPS
bearer IDs. So the next change was to remove the knowledge of what
LCIDs are from the GW. Make is agnostic and only work on EPS bearer IDs.
The handling and mapping between EPS bearer IDs and LCIDs for LTE
or NR (mainly PDCP for pushing data) is done in the Stack because
it has access to both.
The NAS also has a EPS bearer map but only knows about default and
dedicated bearers. It doesn't know on which logical channels they
are transmitted.
4 years ago
Andre Puschmann
7113e55d53
rlc: refactor RLC entity to use smart pointers for holding bearers
...
this patch mainly modernizes the bearer creation to use smart pointers.
that allows to simplify the error handling.
ue_stack is changed to match new interface. This commit compiles
but doesn't work.
4 years ago
David Rupprecht
6d5391756c
Refactor build of RLC NR config
4 years ago
David Rupprecht
d1d8500ce5
Add testcase for reconfiguration
4 years ago
David Rupprecht
ec19919246
Fix NGAP valgrind test
4 years ago
Pedro Alvarez
aae266e848
Added configuration option for S1AP SCTP bind port
4 years ago
Xavier Arteaga
b1e4720721
SRSUE/SRSENB: added tx_enable flag in worker_end
4 years ago
Xavier Arteaga
027201d457
SRSUE/SRSENB: Refactor NR workers to generalise lower PHY
4 years ago
Codebot
a2cc847747
Merge branch 'next' into agpl_next
4 years ago
Bedran Karakoc
c280ac5ad6
Introducing extended NGAP functionality
...
Remove unused logger for now in ngap::ue to pass tests
4 years ago
Francisco
5a82a63bb5
bugfix,srsenb: fix intraenb handover softbuffer allocation during handover
4 years ago
Francisco
2a009eb340
sched,feature: Enable configuring maximum coderate for SIB allocations
4 years ago
Francisco
6ababf401b
feature,sched: allow setting initial DL CQI in enb.conf
4 years ago
Francisco
e8983b88f0
refactor: use enb_cc_idx instead of ue_cc_idx in mac::ue
4 years ago
Codebot
d9cb5d01ff
Merge branch 'next' into agpl_next
4 years ago
Pedro Alvarez
299d2ee35d
Added interface to make the PDCP notify the RRC of integrity check
...
failures.
4 years ago
Codebot
73a61b884e
Merge branch 'next' into agpl_next
4 years ago
Francisco
7e77da6a15
mac,optimization: use rnti memory pool to create mac::ue objects
4 years ago
Andre Puschmann
c0be8187c8
rlc interface: convert entire read_pdu() interface to return uint32_t
...
we had it returning int but had a bug in using the return value properly,
i.e. handling when -1 was returned in RLC TM.
Thinking about it more, it doesn't make sense to have a negative return
value here anyway. Either the RLC can return a PDU or not. If it can't the
returned lenght is zero.
4 years ago
Andre Puschmann
aaffdeb326
rrc,rlc: add method to signal protocol failure to RRC
...
general-purpose method for lower layers to signal protocol
failures to higher layers, i.e. RRC.
In the current case, implement a direct release of the UE (enb) or
a reestablishment (UE).
4 years ago
Francisco
ceaef3523f
sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing
4 years ago
Francisco
486823e5de
sched,bugfix: The PHR handling scheme now considers the number of PRBs of the UL grant that carried the PHR. Before, it was assuming the most conservative scenario of Nprb=1
4 years ago
Francisco
89406b07d6
make eNB UL SNR initial value an exponential average alpha configurable
4 years ago
Pedro Alvarez
18e2149d68
Sending Initial Context Setup Response after RRC reconfiguration.
4 years ago
Xavier Arteaga
235a664120
SRSUE: Removed PUSCH-DMRS/SRS pregeneration methods
4 years ago
Francisco
a587d20252
allow specification of subset of valid measurement gap offsets in rr.conf
4 years ago
Xavier Arteaga
48e0fc3c99
Implemented initial PBCH decoder and refactored SSB candidate selection
4 years ago
Francisco
7076dbfef8
feature, scheduler: Add configuration parameter to set minimum TTI interval between TPCs
4 years ago
Francisco
dedd9c09a7
feature, scheduler: Add abitility to set minimum aggregation level in PDCCH, and disable adaptive aggregation level based on target BLER
4 years ago
Francisco
c5029fc266
feature - implement adaptive link adaptation in DL and UL
4 years ago
Codebot
e77c197633
Merge branch 'next' into agpl_next
...
# Conflicts:
# srsue/hdr/phy/scell/intra_measure.h
# srsue/src/phy/scell/intra_measure.cc
4 years ago
yagoda
9501283c1c
fixing support for extended Cyclic Prefix
...
small cosmetic fixes of CP code
4 years ago
yagoda
f90f6f0c7e
adding MAC 0 padding support
4 years ago
Xavier Arteaga
60015e7ceb
Made intra frequency cell search and measurment generic
4 years ago
Francisco
1488606156
refactor - create s1ap dedicated folder
4 years ago
Xavier Arteaga
a57336d64f
Integrate periodic SSB measurement in SRSUE and fix related defects
4 years ago
Codebot
be3f8ec7da
Adding AGPL copyright to new files
4 years ago
Codebot
5fe9a14aa5
Merge branch 'next' into agpl_next
4 years ago
Francisco
c5396155ad
set default gtpu tunnel close timeout to infinity
4 years ago
Francisco
15484e9472
rrc - make t304 configurable via rr.conf
4 years ago
Francisco
c6b9c12ba2
gtpu, feature - added the ability to configure gtpu indirect tunnel timeout value. This parameter is useful in the case that the end marker is not received
4 years ago
David Rupprecht
c117b563c9
Initial commit for ngap in enb
4 years ago