Commit Graph
25028 Commits
Author SHA1 Message Date
Rúben Soares da Silva c22fe2bab6 Fix PRACH PDU beamforming allocation to allocate at least 1 member, avoiding creating vector of size 0 2023-11-02 10:55:50 +00:00
Robert Schmidt 82597e7e8f Merge branch 'integration_2023_w43' into 'develop'
integration_2023_w43

See merge request oai/openairinterface5g!2415

* !2407 hotfix: UE DCI format 11: only 1 dl_config instead of 2
* !2372 chore(ci): testing up to 10 UEs in 5G RF simulation
* !2396 Add optimized function to count the number of bits set in uint64_t variable
* !2383 E1: implement release bearer, handle multiple CU-UPs
* !2413 Assigned value is garbage or undefined reported by scan-build
* !2387 Small fixes for UE stability and introduction of ITTI "no-thread" mode (separate bug fixes and ITTI changes?)
* !2410 Fix CellGroupConfig-related memory problems
* !2414 fix doxygen
2023-10-30 16:26:11 +00:00
Robert Schmidt 7420de8fc9 Merge remote-tracking branch 'origin/fix-doxygen' into integration_2023_w43 2023-10-30 10:23:45 +01:00
Robert Schmidt 57f0cb134c Merge remote-tracking branch 'origin/fix-cellconfig-segv' into integration_2023_w43 2023-10-30 10:22:23 +01:00
Robert Schmidt a828da1b3f Merge remote-tracking branch 'origin/itti-no-threads' into integration_2023_w43 2023-10-30 10:22:16 +01:00
Robert Schmidt 803fcb59a9 Merge remote-tracking branch 'origin/assigned_value_is_garbage_or_undefined' into integration_2023_w43 2023-10-30 10:22:03 +01:00
Robert Schmidt 2f7658d7b1 Merge remote-tracking branch 'origin/e1-multiple-cuup' into integration_2023_w43 2023-10-30 10:21:48 +01:00
Robert Schmidt fa5c4d3a4c Fix SDAP: correct ID, set default
- Set the correct QoS flow ID to associate a correct QoS flow to the
  bearer: the UE would misassociate otherwise
- Set the DRB as the default: the handler applies bool with true==1, so
  use bool value
2023-10-30 08:47:33 +01:00
Robert Schmidt a51c5299c6 Merge remote-tracking branch 'origin/polar-encoder-perf-improv' into integration_2023_w43 2023-10-27 14:21:23 +02:00
Laurent THOMAS a198239084 Introduce no-thread mode in ITTI
Introduce a --no-itti-threads command line option to disable threading
in ITTI, and call message handlers in the current thread. This is being
introduced in order to increase repeatability when testing the nrUE with
the IQPlayer. Without this feature, runs with the IQPlayer will end up
differently, depending on the timing of ITTI threads, mostly when
sending messages to RRC and NAS.
2023-10-27 13:02:36 +02:00
Laurent THOMAS 724c8c014c Simplify ITTI task definition 2023-10-27 13:02:33 +02:00
Laurent THOMAS 75cc625fe9 Use recursive mutex in PDCP to prevent deadlocks 2023-10-27 13:02:31 +02:00
Laurent THOMAS 1fb68160b0 config: harmonize number array parameters 2023-10-27 13:02:28 +02:00
Laurent THOMAS b257734c6f Fix tPool calls: symmetric to pushing messages
Messages are pushed using pushNotifiedFIFO(), so we pullNotifiedFIFO()
2023-10-27 13:02:24 +02:00
Robert Schmidt 679b497891 Merge remote-tracking branch 'origin/ci-add-more-ues-rf-sim-test' into integration_2023_w43 2023-10-27 12:44:25 +02:00
Robert Schmidt 4cea368a17 Correct typo in test case description 2023-10-27 10:38:58 +00:00
mir 364f98ac11 Avoid double initialization 2023-10-27 11:50:40 +02:00
rmagueta 60d867a978 Fix read servingCellConfigDedicated from config file 2023-10-27 10:52:52 +02:00
Robert Schmidt 7317efea00 Clone pusch_Config to prevent double free 2023-10-27 10:52:52 +02:00
Robert Schmidt 10a0a52604 Allocate second but same coreset to prevent double-free 2023-10-27 10:52:52 +02:00
Robert Schmidt dc88ca3b6d Read DMRS_UplinkConfig from BWP info when needed
Before this commit, the DMRS_UplinkConfig was stored in a separate
DMRS-related structure, although it is always referenced in the
PUSCHConfig of the current UL BWP.

Through certain code paths (e.g., retransmission), it could happen that
an old DMRS_UplinkConfig was accessed that was freed (through new
CellGroupConfig).

In this commit, we always look up the DMRS_UplinkConfig in the current
PUSCH config, which should always be up to date.
2023-10-27 10:52:52 +02:00
Robert Schmidt 90bb405e0d Deep-copy PDCCH ConfigCommon for SIB1
Until this commit, the SIB1's PDCCH_configCommon was set (via a pointer,
i.e., an indirection) to the one of the ServingCellConfigCommon (SCC).
Afterwards, the SIB1 code further populated this PDCCH configCommon,
indirectly populating the one of the the SCC, on which code later
depends.

Not only did this create possibilities for double-frees (since freeing
the memory of SIB1, then SCC would free the PDCCH configcommon twice),
but also it makes it harder to track where certain structures are
populated. Hence, this commit solves both issues:

- The SCC is correctly populated on initialization of the SCC
- The SIB1 makes a deep copy of the SCC' PDCCH configCommon

This resolves the two issues above.
2023-10-27 10:52:52 +02:00
Robert Schmidt d1740c9d8e Deep-copy PDSCH_ConfigCommon to prevent double-free 2023-10-27 10:36:33 +02:00
Robert Schmidt 8062af94b5 Deep-copy RACH_ConfigCommont to prevent double-free 2023-10-27 10:36:10 +02:00
Robert Schmidt d442e21f3c Deep-copy PUSCH&PUCCH_ConfigCommon to prevent double-free 2023-10-27 10:35:26 +02:00
Robert Schmidt a87cad57b7 Fix: correct SD index 2023-10-27 10:34:53 +02:00
Robert Schmidt 38a6e92fdf Deep-copy genericParameters to prevent double-free 2023-10-27 10:22:55 +02:00
Robert Schmidt d4cc2c8597 Deep-copy asn1c structures to prevent double free 2023-10-27 10:22:55 +02:00
Robert Schmidt 2dc36ffcf7 Initialize struct on stack
Not initalizing this struct makes asn1c free the memory incorrectly,
leading to a segfault.
2023-10-27 10:22:55 +02:00
Robert Schmidt 9001ad2d7c Correct calloc_or_fail() signature 2023-10-27 10:22:55 +02:00
Robert Schmidt 5fb151e195 Rework E1 documentation 2023-10-27 09:07:51 +02:00
Robert Schmidt eb475f7747 Remove useless warning 2023-10-27 09:07:51 +02:00
Robert Schmidt c2f0bf16d7 Rename non-existing gNB_CU_ID to existing gNB_ID in all configs 2023-10-27 09:07:51 +02:00
Robert Schmidt 2f87a2b0e5 Remove superfluous security section from gNB-CU-UP configs 2023-10-27 09:07:51 +02:00
Robert Schmidt 781d01d5de Remove (almost) unused e1ap_api.h 2023-10-27 09:07:51 +02:00
Robert Schmidt 2e252dd377 Implement E1 bearer release 2023-10-27 09:07:51 +02:00
Robert Schmidt fb5b125110 Implement Bearer Context Modification Response in E1 2023-10-27 09:07:51 +02:00
Robert Schmidt ec60fd8157 E1 bearer modification: harmonize code 2023-10-27 09:07:51 +02:00
Robert Schmidt 380151faa7 E1 Bearer Context Setup Request: harmonize code
- harmonize monolithic and E1AP case
- use ITTI message to send bearer context setup response to RRC
2023-10-27 09:07:51 +02:00
Robert Schmidt 9546166ebc Create files to handle E1AP messages at CU-UP 2023-10-27 09:07:51 +02:00
Robert Schmidt 70ddc0e7fb CUUP: set F1-U remote port for GTP module 2023-10-27 09:07:51 +02:00
Robert Schmidt c5006cf4ed e1ap_common.h without E1AP ASN dependency 2023-10-27 09:07:51 +02:00
Robert Schmidt 2136ceec0d Do not bind on remote address in GTP
This allows to communicate with multiple remote hosts. A further
improvement would be to refactor this piece of code into a function and
call it only when necessary, i.e., when we know the remote host, or want
to add one to a list of hosts.
2023-10-27 09:07:51 +02:00
Robert Schmidt 0a6998db4b Select CU-UP based on slice 2023-10-27 09:07:51 +02:00
Laurent THOMAS bba9aac079 fix most of doxygen warnings and errors 2023-10-26 16:47:19 +02:00
rmagueta e14903cd96 Call __builtin_popcountll function to count the number of bits set in uint64_t variable for polar codes 2023-10-26 12:23:20 +02:00
Robert Schmidt e07a741ee0 Handle multiple CU-UPs in one CU-CP
This commit introduces the capability to handle multiple CU-UPs. It uses
a RB tree and puts the CU-UPs into the tree. Upon the connection, it
associates UEs to CU-UPs in a round-robin fashion.
2023-10-25 20:22:32 +02:00
Robert Schmidt b08ce59bc2 Pass assoc_id to RRC and use when sending E1AP messages 2023-10-25 20:22:32 +02:00
Robert Schmidt 1d3127bb99 Read and forward CU UP name in E1AP Setup Request 2023-10-25 20:22:32 +02:00
Robert Schmidt 7d37143bac Read and forward NSSAI in E1AP Setup Request 2023-10-25 20:22:32 +02:00