Francisco
fd1d73666c
bugfix,srsenb,mac: avoid sanity check for UL PDU length if CRC=KO
2021-06-04 20:03:38 +01:00
Francisco
76004a3054
enb,mac,refactor: mac::ue now uses byte_buffer_pool for UL PDUs
2021-06-04 20:03:38 +01:00
Francisco
9e2a7d4592
bugfix,tpc: only cap PUSCH TPC when PHR is negative. I also extended TPC unit test
2021-06-04 17:39:51 +01:00
Francisco
bdc4362475
bugfix,tpc: place a cap on TPC due to PHR only when TPC is positive
2021-06-04 17:39:51 +01:00
Francisco
7badfb1c88
bugfix: avoid multiple TPC=0 for a single PHR<0
2021-06-04 17:39:51 +01:00
Francisco
e2c37ad513
bugfix: missing early return in TPC derivation
2021-06-04 17:39:51 +01:00
Francisco
75eebd6b5d
bugfix,gtpu: close forwarding tunnel during reestablishment due to handover failure
2021-06-04 14:59:12 +01:00
Francisco
597f993706
sched,improvement: filter out Msg3 UL SNR estimates from the TPC control loop
2021-06-04 13:45:10 +01:00
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.
2021-06-04 13:23:54 +02:00
Xavier Arteaga
090022568e
DCI NCCE find considers L and NCCE
2021-06-04 11:13:23 +02:00
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).
2021-06-03 21:11:47 +02:00
Andre Puschmann
107f6334dd
compile: fix compilation on 32bit systems that require -latomic
2021-06-03 20:45:02 +02:00
Andre Puschmann
80a89ec4bf
enb,mac: protect concurrent access to ue_db from different threads
...
race condition between PHY worker(s) and Stack thread when
accessing ue_db member. RWlock needs to be hold.
partly fixes #2932
2021-06-03 20:43:37 +02:00
faluco
3df72cb6ab
Move out a free call in a RT thread when doing lots of rachs.
2021-06-03 20:41:04 +02:00
Francisco
ceaef3523f
sched,feature: Enable setting the target PHR below which the maximum UL grant size starts decreasing
2021-06-03 15:33:38 +01:00
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
2021-06-03 15:33:38 +01:00
Francisco
f7aef3ffc1
sched,bugfix: fix nof_retx update when UL HARQs are resumed
2021-06-02 20:21:32 +01:00
Ismael Gomez
5cef780789
Radio-link KO notification. Measgap fix
2021-06-02 12:37:36 +02:00
Francisco
92e272ce3e
limit minimum UL grant size to accommodate both BSR and RLC headers
2021-06-02 12:37:36 +02:00
Francisco
3b61df4b64
test,sched: update TPC test to reflect changes in SNR estimatioN
2021-06-02 10:08:34 +01:00
Francisco
89406b07d6
make eNB UL SNR initial value an exponential average alpha configurable
2021-06-02 10:08:34 +01:00
Francisco
2a2c56391c
sched,refactor: Improve DL/UL grant log lines in the scheduler to print CFI as well
2021-06-02 10:08:34 +01:00
Francisco
dda52afe61
move rrc unit tests to rrc/ folder
2021-06-02 10:05:49 +01:00
Francisco
47494a668d
rrc,bugfix: fix reestablishment crash due to pointer invalidation
2021-06-02 10:05:30 +01:00
Francisco
3f75538660
rrc,feature: Use t301 to set time that the enb waits for the UE RRCConnectionSetupComplete or ReestablishmentComplete
2021-06-02 10:05:30 +01:00
Francisco
0349949cce
bugfix, handover: disable inactivity timer during s1 handover in target enb
2021-06-02 10:05:30 +01:00
Francisco
19af55b63d
bugfix, handover: Avoid sending UEContextReleaseRequest from Target eNB during S1 Handover due to UL KOs
2021-06-02 10:05:30 +01:00
Andre Puschmann
2c975732dc
metrics_stdout: fix race detected by TSAN
2021-06-01 22:44:12 +02:00
Pedro Alvarez
c23034e1a7
Make sure the S1AP state is reset after sending a successful/unsuccessful message
2021-06-01 19:16:16 +01:00
Pedro Alvarez
18e2149d68
Sending Initial Context Setup Response after RRC reconfiguration.
2021-06-01 19:16:16 +01:00
Xavier Arteaga
50b7d3937f
Added RNTI in SRSENB PDCCH log line
2021-06-01 15:04:24 +02:00
Xavier Arteaga
6de34524e2
Fix SRSENB PHY log line
2021-06-01 08:27:03 +02:00
Xavier Arteaga
ce3c808a16
Reviewed SRSENB PHY unused variables and log messages
2021-06-01 08:27:03 +02:00
Francisco
f80c591127
sched,bugfix: fix scheduler CA test
2021-05-31 23:59:46 +01:00
Francisco
2cdda3b6db
sched,enhancement: allow PUSCH allocations when PHICH falls in measurement Gap by resuming UL HARQ
2021-05-31 23:59:46 +01:00
Andre Puschmann
fcba67ca84
enb,rrc: fix logging text
2021-05-28 18:12:16 +02:00
Andre Puschmann
8322887135
enb,rrc: increase RRC PDU queue size to 128
2021-05-28 18:12:16 +02:00
Francisco
a8790abd7e
fix centos7 tuple compilation issue
2021-05-28 17:21:10 +02:00
Francisco
200006c4b7
bugfix,scheduler: avoid offset to increase decrease unboundedly when mcs is equal to 0 or max_mcs
2021-05-28 17:21:10 +02:00
Francisco
0dafe4dd58
fix coderate derivation in PDCCH based on aggregation level
2021-05-28 17:20:08 +02:00
Francisco
a587d20252
allow specification of subset of valid measurement gap offsets in rr.conf
2021-05-28 17:19:30 +02:00
Francisco
0996e50dce
bugfix, s1ap: allow source enb to release old UE ctxt in case a connectionRequest arrives with repeated m-TMSI
2021-05-28 17:18:41 +02:00
Francisco
52247a46e5
rrc,refactor - change log level for paging try lock
2021-05-28 12:29:36 +02:00
Francisco
692bd193d5
rrc,improvements - use single subframe-indexed struct to access pending PCCH. The scheduler now doesnt lock checking for pending paging
2021-05-28 12:29:36 +02:00
Francisco
957ca453e9
bugfix,rrc: change mechanism to delete old paging messages to avoid deleting messages not yet sent
2021-05-28 12:29:36 +02:00
Andre Puschmann
66770a57e3
enb_phy_test: fix concurrent access between PHY worker and Stack
...
PHY and Stack are using a normal std::queue to communicate with each
other. Concurrent access among the threads needs to be protected.
2021-05-26 14:25:38 +02:00
Francisco
fe0dc77c03
bugfix, s1ap: fix uninitialized variable access in s1ap_test
2021-05-26 11:35:32 +02:00
Francisco
297a2394b8
bugfix, s1ap: fix failing s1ap_test
2021-05-26 11:35:32 +02:00
Francisco
7076dbfef8
feature, scheduler: Add configuration parameter to set minimum TTI interval between TPCs
2021-05-25 21:51:10 +02:00
Francisco
4627ae9802
bugfix, scheduler: effectively disable adaptive mcs when target bler is unspecified
2021-05-25 21:51:10 +02:00
Francisco
c75777c618
bugfix, sched: avoid compilation issue due to uninitialized variable access
2021-05-25 21:50:56 +02:00
Francisco
329cf02cd0
bugfix, sched: ensure max_coderate is respected in scheduler
2021-05-25 21:50:56 +02:00
Francisco
a8cccd7a10
bugfix, sched: fix aggregation level derivation to avoid L > 3
2021-05-25 21:50:56 +02:00
Francisco
dedd9c09a7
feature, scheduler: Add abitility to set minimum aggregation level in PDCCH, and disable adaptive aggregation level based on target BLER
2021-05-25 21:50:56 +02:00
Francisco
fb4a363abd
fix formatting errors in scheduler
2021-05-24 19:33:27 +02:00
Francisco
1f1665bab7
improve adaptive offset adjustment log lines
2021-05-24 19:33:27 +02:00
Francisco
c5029fc266
feature - implement adaptive link adaptation in DL and UL
2021-05-24 19:33:27 +02:00
Francisco
8811b7c9a7
fix handling of CRNTI CE in the RRC. The scheduler should not allocate more grants for the new rnti after this point.
2021-05-24 19:33:16 +02:00
Francisco
59513c0eed
fix bearer reactivation in case the RRC session is recovered after max KO
2021-05-24 19:33:16 +02:00
Andre Puschmann
fbb151af2d
enb,rrc: fix bearer re-activation after max KO
...
this patch makes sure that if RBs have been deactivated after
max KO on either the DL or the UL, they are reactivated if either
of them is working again.
UL/DL are always activated together, even if just one of them
recovers. The KO counter (or timer), however, is not stopped implicitly.
2021-05-24 19:33:16 +02:00
Francisco
59db527481
fix reestablishment reject logging level
2021-05-24 19:33:16 +02:00
Francisco
a17e3b71e7
set minimum snr under which the UL SNR estimate is not updated
2021-05-24 17:25:07 +02:00
Francisco
8df6ed07c6
sched small fixes - use 0.930 instead of 0.932 for max coderate. Allow computing mcs/tbs based on max coderate directly. Other small fixes
2021-05-24 17:25:07 +02:00
Francisco
41bc7e4810
avoid letting repeated s1ap::user_release calls to deem the user as in zombie state. Use timer instead to auto-remove user from s1ap if no response from mme arrives
2021-05-24 17:24:31 +02:00
Francisco
e07ef0aa18
avoid releasing ues doing s1 handover before TS1relocoverall expiry
2021-05-24 17:24:31 +02:00
Francisco
b093576634
avoid sending UEContextReleaseRequest from Source eNB during S1 Handover.
2021-05-24 17:24:31 +02:00
Francisco
f2a56c9139
simplification of multiqueue design.
...
- the consumer does multi-staged waiting:
1. spins first across all queues in a RR fashion
2. each queue access is done with a try_lock.
3. if the try_lock fails, it increases the number of spins needed
2. if no queue had data, the consumer sleeps for 100 usec.
- no differentiation between queues, in terms of notification features
2021-05-24 17:24:12 +02:00
Francisco
2d6a878826
change interface to create multiqueue queues
2021-05-24 17:24:12 +02:00
Francisco
f705735093
optimization - only allow some multiqueue queues to notify the multiqueue consumer of the arrival of tasks
2021-05-24 17:24:12 +02:00
Ismael Gomez
8414b2c2c9
Define iszero in csv_stdout
2021-05-22 16:59:27 +02:00
Ismael Gomez
5a2a435710
Improve srsENB output metrics
2021-05-22 16:59:27 +02:00
yagoda
9501283c1c
fixing support for extended Cyclic Prefix
...
small cosmetic fixes of CP code
2021-05-20 18:16:15 +02:00
yagoda
f90f6f0c7e
adding MAC 0 padding support
2021-05-20 10:26:50 +02:00
Francisco
52ef23f40e
fix sched benchmark test
2021-05-19 13:11:39 +01:00
Francisco
a83c0ebe3b
increase starting CFI when subframe contains control allocations (e.g. SIB or RAR) when cell bandwidth <= 5 MHz
2021-05-19 13:11:39 +01:00
Francisco
0a1ae0e4ad
redesign and fix enb rrc message logs
2021-05-19 12:42:41 +01:00
Francisco
8d30c88330
bugfix - avoid calling rlf release timer handler concurrently
2021-05-19 12:17:40 +01:00
Francisco
f0f99c1e4f
update sched benchmark, created unit test to cover rbg search algorithms, improved algorithms to search for empty rbgs
2021-05-19 11:43:39 +01:00
Francisco
22f1f2d56c
move ngap files into their own folders
2021-05-17 15:32:57 +01:00
Francisco
1488606156
refactor - create s1ap dedicated folder
2021-05-17 15:32:57 +01:00
Francisco
0e0835a805
move scheduler rbg/prb/cce mask and interval types and associated helper functions to a separate file
2021-05-17 14:30:23 +01:00
Francisco
7c0649bc24
delete erab if gtpu tunnel creation failed
2021-05-17 15:17:27 +02:00
Francisco
c6d543efdf
fix conversions of drb id to erab id in srsenb
2021-05-17 15:17:27 +02:00
Andre Puschmann
167200f5cd
rrc_bearer_cfg: replace fixed E-RAB to DRB mapping
...
also make sure we don't assign LCIDs beyond the possible
number.
possible fix for https://github.com/srsran/srsRAN/issues/658
Co-authored-by: herlesupreeth <herlesupreeth@gmail.com>
Co-authored-by: Francisco <francisco.paisana@softwareradiosystems.com>
2021-05-17 15:17:27 +02:00
Francisco
fa34aaa16e
ensure the DL mask count is reduced enough to fit required bytes
2021-05-14 19:58:03 +01:00
Francisco
4d3ff0d139
implementation of basic search for optimal rbgmask for subband CQI
2021-05-14 19:58:03 +01:00
Francisco
f8b6eae2bf
use of min DL cqi across all PRBS to compute required DL PRBs
2021-05-14 19:58:03 +01:00
Francisco
8564996eaf
fix sched_dl_cqi method to compute cqi-optimal rbgmask
2021-05-14 19:58:03 +01:00
Francisco
485c6ee129
subband CQI feature - add K parameter in sched_interface::ue_cfg_t and update it from RRC
2021-05-14 19:58:03 +01:00
Francisco
84ad6dd8ee
Integrated new sched_dl_cqi class in sched_ue_cell
...
- extend sched_dl_cqi interface to allow getting tti when cqi was last updated
- extend sched_dl_cqi to quickly get average cqi across the whole bandwidth
2021-05-14 19:58:03 +01:00
Francisco
16d05ff042
Remove time exponential averaging of DL cqi
...
- renaming: sched_cqi -> sched_dl_cqi
- testing: add unit test for sched_dl_cqi wideband cqi mode.
- feature: remove time exponential averaging of dl cqi
2021-05-14 19:58:03 +01:00
Francisco
28c24a89ef
sched subband cqi - create method to get cqi-optimal RBG mask
2021-05-14 19:58:03 +01:00
Francisco
eeb8ad6571
sched,feature - creation of sched_cqi class to manage the update of CQI in a subband CQI setting
2021-05-14 19:58:03 +01:00
Francisco
f25dbea4de
fix PCCH assembly in srsenb rrc
2021-05-14 19:57:52 +01:00
Xavier Arteaga
af2f37d8ca
SRSENB: CFI protection for all CC and fix test
2021-05-13 07:56:08 +02:00
Francisco
96ab16f1c7
s1ap fix - release old rnti (instead of new one) when a new rnti with the same tmsi is found. Furthermore, we now make sure to warn log if the enb is unable to release the old rnti
2021-05-12 18:55:10 +01:00
Francisco
6ed617f429
s1ap, bugfix - check if MME-UE-S1AP-ID has been yet assigned before sending UL NAS Transport. If it hasn't log error and abort.
2021-05-12 16:20:44 +01:00
Francisco
32228389a9
fix latest static analysis warnings in rrc paging
2021-05-11 21:14:47 +01:00
Francisco
bfdb0332db
remove undefined methods from rrc_ue
2021-05-11 16:54:14 +01:00
Francisco
46cfdaf9e5
Handle case when old rnti gets removed during RRC reestablishment
...
This is achieved via:
- keep restarting the inactivity timer whenever a ReestablishmentRequest is received
- in case the RRC ReestablishmentComplete is very late and the old rnti was removed anyway,
abort RRC reestablishment procedure and release new rnti
2021-05-11 16:54:14 +01:00