Commit Graph
25049 Commits
Author SHA1 Message Date
Robert Schmidt 8e4ff595a0 Merge remote-tracking branch 'origin/fix-no-f1uedata-when-in-mac' into integration_2023_w44 2023-11-10 17:29:28 +01:00
Robert Schmidt 45dd4813c9 Update FEP TX precoding time threshold for 60 MHz 2x2 phytest-timing test 2023-11-10 17:29:09 +01:00
Robert Schmidt 0d85903d09 Add build_oai/cmake option to build with thread sanitizer 2023-11-10 16:15:05 +01:00
Robert Schmidt ac5c4efd4e Merge remote-tracking branch 'origin/nssai-rlc-mac-if' into integration_2023_w44 2023-11-10 14:39:03 +01:00
Robert Schmidt 6fe68a574b Merge remote-tracking branch 'origin/NR_UE_resync_hotfix' into integration_2023_w44 2023-11-10 14:38:55 +01:00
Sakthivel Velumani 3a7f17ebb8 Create functions for getting LCID 2023-11-09 09:02:59 -05:00
Robert Schmidt 0a05622a20 Merge remote-tracking branch 'origin/Bugfix_NR_Band_n1' into integration_2023_w44 2023-11-06 15:01:32 +01:00
Robert Schmidt dc7743c4e8 Merge remote-tracking branch 'origin/scan_build_arg_attr_null' into integration_2023_w44 2023-11-06 07:33:37 +01:00
Robert Schmidt e1e8e10d91 Merge remote-tracking branch 'origin/NR_UE_handling_MCS_for_retransmission_v2' into integration_2023_w44 2023-11-06 07:33:28 +01:00
Robert Schmidt 31ed25acd7 Only print UE caps if DU available
The DU UE capability printing depends on data on SCS and band, which
currently is only stored with the DU. To avoid any assert, we check
that the DU is present. A follow-up commit will rework this.
2023-11-04 16:37:59 +01:00
Robert Schmidt 102cbf0d0c Prevent possible deadlock between scheduler and F1 UE ID 2023-11-04 16:37:59 +01:00
Robert Schmidt 230258370b Free F1 UE data struct only on UE release
Before this commit, as visible in the handler of an F1 UE release, it
can happen that we forward the RRC Release message to a UE and start the
release timer, while also removing the F1 UE data (containing e.g., the
CU UE ID). This can lead to asserts, since there might still be
subsequent traffic for such UE during a short time, while the DU does
not have the secondary UE ID stored anymore.

This commit changes the logic. It introduces function
nr_mac_release_ue() that removes the UE at MAC and RLC, frees the F1 UE
data (if applicable), and sends the complete, after timing expiry. If
the UE is out of sync, this function is used to free the UE immediately.

This fixes #685 and #698.
2023-11-04 16:34:46 +01:00
francescomani a05baa3c77 fixes to avoid double synchronization call 2023-11-03 10:01:53 +01:00
luis_pereira87 5b5b0f9595 Fix AssertFatal when using NR band n1 2023-11-02 18:41:17 +00:00
Sakthivel Velumani 5f78fa6eed NGAP: put mcc, mnc, nssai inside new plmn struct 2023-10-31 16:12:15 -04:00
Sakthivel Velumani f381e93237 Set NSSAI config in MAC
Each active LCID at MAC is configured with NSSAI that is sent from AMF with PDU session setup request
2023-10-31 16:12:10 -04:00
Sakthivel Velumani 2bf40fbd17 Pass the NSSAI config via F1 2023-10-31 13:31:33 -04:00
Sakthivel Velumani 89fa5a18a8 Pass the NSSAI config via E1 2023-10-31 13:31:32 -04:00
Sakthivel Velumani 279a55c976 Save NSSAI params from AMF
The NSSAI of PDU sessions coming from AMF are stored in RRC to be sent to lower layers
2023-10-31 12:41:50 -04:00
mir 6a1a17bcff Enhance message 2023-10-31 12:41:10 +01:00
mir e0ff84f67c Scan build: Argument with 'nonnull' attribute passed null 2023-10-31 11:53:42 +01: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