Commit Graph
28128 Commits
Author SHA1 Message Date
Robert Schmidt ae69028050 Test one specific TDD configuration
The previous code fills random number in the TDD config, which leads to
unrealistic TDD patterns. Filling wtih a specific, realistic TDD config
allowed to fix the bug in the next commit.
2024-11-29 09:15:03 +01:00
Robert Schmidt dbfb806afa Scheduler: Avoid out-of-bounds read/write
The scheduler might receive PUSCH data when it does not expect it.
Handle this case.
2024-11-29 09:15:03 +01:00
Robert Schmidt f1fb797ff6 Increase max nFAPI packed message size to 32768
Testing showed that some messages could be at least slightly bigger than
the previous maximum size of 8192. Given that the maximum transport
block could be larger, increase this value to 32768.
2024-11-29 09:15:03 +01:00
Robert Schmidt a12fdb68b7 unpack_dl_tti_ssb_pdu_rel15_value(): match pack function
unpack_dl_tti_ssb_pdu_rel15_value() reads two additional bytes,
seemingly for RX power information. However, table 3-79 does not
contain such info, so I remove to match the corresponding pack function
pack_dl_tti_ssb_pdu_rel15_value().

TODO: tx power info relevant?
2024-11-29 09:15:03 +01:00
Robert Schmidt 0cc08b1070 Correct pucch_pdu->bit_len_harq: is pull8 according to SCF 222.10 2024-11-29 09:15:03 +01:00
Robert Schmidt 179302496b Fix PNF packing functions to match existing VNF unpacking 2024-11-29 09:15:03 +01:00
Robert Schmidt cbecc3432a Correct UL_tti.request messages
- Unpack is missing pusch_identity
- Unpack: put rb_bitmap instead of resource_alloc, remove dmrs_ports

In both cases, bring it in line with packing
2024-11-29 09:12:56 +01:00
Robert Schmidt 5e72bd70bc nfapi: Fixup BG (un)packing and error message 2024-11-29 09:12:55 +01:00
Romain Beurdouche f1d9638e37 Add note to 'doc/README.md' to insight readers to checkout the documentation at their version of the repository. 2024-11-29 09:12:55 +01:00
Romain Beurdouche 71d91b0542 Add notes around sample SA gNB and nrUE commands in most basic tutorials 'NR_SA_Tutorial_COTS_UE.md' and 'NR_SA_Tutorial_OAI_nrUE.md'.
The notes mention that for versions previous to 2024.w45, the --sa argument should be added to run in SA mode.
2024-11-29 09:12:55 +01:00
Robert Schmidt 535c8a496a Reformulate section on standalone mode
Since tag 2024.w45/commit f54ca5714e,
standalone mode/--sa is the default and does not exist. Correspondingly,
it has been removed from the documentation.

For users reading recent documentation, but running an older version of
OAI, there might be a mismatch in that --sa is necessary to run OAI, but
not given in the documentation. Provide explanatory text to make users
aware of this.
2024-11-29 09:12:55 +01:00
Robert Schmidt a61b5f303d Merge remote-tracking branch 'origin/NR_remove_ul_harq_ra_warning' into integration_2024_w48 (!3133)
NR UL HARQ handling improvements

to avoid printing warning on unexpected HARQ PID for RA
2024-11-28 18:50:20 +01:00
Robert Schmidt ce9aaa8f53 Merge remote-tracking branch 'origin/improve-chanest-single-antenna' into integration_2024_w48 (!3132)
Run the last job of gNB pusch channel estimation inline

In case of 1 antenna this prevents the usage of threadpool which
eliminates the thread pool overhead.  In case of >1 antenna the
threadpool contention should be reduced providing smaller benefits.
2024-11-28 18:49:52 +01:00
Robert Schmidt 0d63641019 Merge remote-tracking branch 'origin/NR_RR_UE_phy_test_t304' into integration_2024_w48 (!3128)
NR UE RRC T304 in phy-test mode

RRC timer T304 is stopped upon completion of the associated RA handover
procedure. There is no RA procedure in phy-test mode so T304 should not
be started to avoid unwanted expiration.
2024-11-28 18:49:30 +01:00
Robert Schmidt 57c20d891d Merge remote-tracking branch 'origin/NR_gNB_MSG3_fix' into integration_2024_w48 (!3126)
NR MSG3 scheduling improvements

- fix wrong condition on MSG3 allocation assertion message
- remove assertion altogether and handle properly the case where MSG3
  can't be allocated
2024-11-28 18:49:04 +01:00
Robert Schmidt e898d278cc Merge remote-tracking branch 'origin/f1ap-lib-minor-fixes' into integration_2024_w48 (!3117)
F1AP lib: minor fixes

- add new enc/dec functions
- extend copy function scope
- add compile define
- fix equality check
2024-11-28 18:48:36 +01:00
Robert Schmidt a8081914fb Merge remote-tracking branch 'origin/t2-fix-4x4' into integration_2024_w48 (!3115)
T2: minor fix for 4x4 processing

- correct max number of LDPC segments for T2 processing
- use pointer arithmetics in retrieve_ldpc_enc_op() in T2 lib to
  optimize loop processing
2024-11-28 18:47:40 +01:00
Robert Schmidt 7a7e574998 Merge remote-tracking branch 'origin/e1ap-msg-encdec-tests' into integration_2024_w48 (!2985)
E1AP Bearer Context Setup encoding/decoding library and unit tests

E1AP encoding/decoding library (TS 38.463) and unit test for:
- E1 Bearer Context Setup Request
- E1 Bearer Context Setup Response
2024-11-28 18:47:07 +01:00
Robert Schmidt bbc35c7a0e Merge remote-tracking branch 'origin/tracy-profiler' into integration_2024_w48 (!2951)
Integrate Tracy with NR UE

This commit enables the optional use of Tracy for profiling NR UE. See
https://github.com/wolfpld/tracy/releases/tag/v0.11.1 for details.

More instructions are in the commit.
2024-11-28 18:46:35 +01:00
francescomani 31d19ec38d fixes for handle_nr_ul_harq in case of RA
to avoid printing warning on unexpected harq pid
2024-11-28 09:24:10 +01:00
Bartosz Podrygajlo 97269a9d2d Update nr-ue-design.md
Add information about newly added actors to NR UE.
2024-11-27 18:15:30 +01:00
Bartosz Podrygajlo afdf5aa49b Increase number of DL Actors to 4
This increases the number of concurrent DL slots processed from 2 to 4.
2024-11-27 18:15:30 +01:00
Bartosz Podrygajlo 6bd50d6e5a Use DL actor for UE_dl_processing instead of thread pool 2024-11-27 18:15:30 +01:00
Bartosz Podrygajlo 3b7c29f2d3 Actor model imlementation
Add actor library which implements the Actor model (see  https://en.wikipedia.org/wiki/Actor_model).
2024-11-27 18:15:24 +01:00
Bartosz Podrygajlo 654cffe39f Do not start processSlotTx before it is ready to run.
Implement run-to-completion for processSlotTX. This is achieved by using a new
dynamic_barrier_t which allows to specify callback after the first join has been
made.
2024-11-27 18:14:59 +01:00
Bartosz Podrygajlo ea0ea2ff8f Thread barrier implementation
This commit introduces dynamic_barrier_t. Its a thread barrier that counts joins
but allows callback to be specified later. See std::barrier for a basic barrier
description.
2024-11-27 18:14:59 +01:00
Bartosz Podrygajlo e5b19ad121 Run the last job of gNB pusch channel estimation inline
In case of 1 antenna this prevents the usage of threadpool which eliminates
the thread pool overhead.
In case of >1 antenna the threadpool contention should be reduced providing
smaller benefits.
2024-11-27 18:01:21 +01:00
Guido Casati 3dd177bbce Use calloc_or_fail in f1ap_lib_test with the explicit size derived from pointer dereferencing 2024-11-27 10:40:10 +01:00
Guido Casati 0bcf504209 Fix equality check in eq_f1ap_setup_failure 2024-11-27 10:40:10 +01:00
Guido Casati 7ae020599a Add compile definitions ENABLE_TESTS
* this is necessary to enable the PRINT_ERROR logs in the E1/F1 libs
2024-11-27 10:40:10 +01:00
Guido Casati a05084de95 Extend the scope of free_f1ap_cell and use it in stack 2024-11-27 10:40:10 +01:00
Guido Casati 22f3476d88 Use copy_f1ap_served_cell_info in update_cell_info
* tac is optional IE, and it was assumed as always present
* is now allocated in DU container by copy_f1ap_served_cell_info
  when present in the updated cell info and missing in the
  DU container
2024-11-27 10:40:10 +01:00
Guido Casati 40cc035b8c Extend the scope and refactor copy_f1ap_served_cell_info
* allocate memory for pointers only if necessary
* removed redundant copies of simple data types
2024-11-27 10:40:10 +01:00
Guido Casati a394a40d5d Add and use F1 encode function for Transmission Bandwidth and NR Frequency Info in F1 interface management lib 2024-11-27 10:40:10 +01:00
francescomani 5c69623576 remove assertion in MSG3 allocation to handle the unwanted scenario by reschedulng RA 2024-11-27 10:19:21 +01:00
francescomani b398b1bd1d fix MSG3 allocation assertion condition 2024-11-27 10:19:17 +01:00
Guido Casati 927b157714 Add test for E1 Bearer Context Setup Response 2024-11-27 10:18:20 +01:00
Guido Casati 10b07c774d Use enc/dec lib for E1 Bearer Context Setup Response in stack 2024-11-27 10:18:19 +01:00
Guido Casati d56e8a2de1 Add enc/dec library for E1AP Bearer Context Setup Response 2024-11-27 10:17:46 +01:00
Guido Casati ccab22f41f Add test for E1AP Bearer Context Setup Request enc/dec library 2024-11-27 10:17:46 +01:00
Guido Casati 254a0e9ad5 Use E1AP Bearer Context Setup Request enc/dec library in stack 2024-11-27 10:17:46 +01:00
Guido Casati e439a4359c Add enc/dec library for E1AP Bearer Context Setup Request 2024-11-27 10:17:46 +01:00
Guido Casati 2a1f5ac5ed Introduce library for E1AP message encoding/decoding 2024-11-27 10:17:46 +01:00
Guido Casati ac8da484db Replace cell_group_t with CELL_GROUP_ID_t
* simplified number of Cell Group types
2024-11-27 10:17:46 +01:00
Guido Casati aae05e95b9 Use sizeof(in_addr_t) in memcpy of TL uint32_t address 2024-11-27 10:17:46 +01:00
Guido Casati 4829fa0543 Refactor E1AP Bearer Context Setup Request struct members
* cleanup struct members not compliant to specs 3GPP TS 38.463
* add defines whenever necessary
2024-11-27 10:17:46 +01:00
Guido Casati 13d1c34d35 Use one definition of maxnoofDRBs according to 3GPP TS 38.463 (up to 32)
* define E1AP_MAX_NUM_DRBS
2024-11-27 10:17:46 +01:00
Guido Casati b00f095089 Fix bug (missing parenthesis) in hton_int16 2024-11-27 10:17:46 +01:00
Guido Casati 04491efb3c Cleanup unused conversions 2024-11-27 10:17:46 +01:00
francescomani 6c0c27a201 do not start T304 RRC timer at UE for phy-test mode 2024-11-27 10:12:55 +01:00