Commit Graph
26674 Commits
Author SHA1 Message Date
Jaroslava Fiedlerova 9aeacd3455 Merge remote-tracking branch 'origin/fix-nsa-reattach' into integration_2024_w29 2024-07-18 17:34:31 +02:00
Robert Schmidt 32c238925e Improve modes in FEATURE_SET.md and add NSA 2024-07-16 18:56:45 +02:00
Robert Schmidt b12d3a4fc8 Correct nr_clear_ra_proc() for SA+NSA case, fix memory leak
In NSA, the RA process contains the RNTI of the UE to add. The previous
implementation would not remove the RNTI in NSA/for CFRA, which is
unclear (why should it stay? RA is over). Also, we did not clear all
contents, which masked a bug, as we were reusing an RA process for a
subsequent attach, leading to a segfault on reattach. That is fixed in
this commit.

Also, we were using the RA structure after having cleared it in
_nr_rx_sdu(), which semantically makes no sense.

To harmonize handling of the preambles: completely reset the RA
processes inside nr_clear_ra_proc(). For SA, also add the initialization
of allowed preambles.

Finally, this commit fixes a memory leak: we always (also in SA) fill a
list of preambles in a dynamically allocated preamble list. Since the
total list is only up to 64 preambles of 1B each, put it directly into
the struct instead of dynamically allocating it.
2024-07-16 18:53:40 +02:00
Robert Schmidt e77912a5b9 Refactor: store secondaryCellGroup only at MAC
Remove the secondaryCellGroup variable in RRC, as it is not used there.

Note that in the case of F1, the secondaryCellGroup entirely belongs to
the DU, i.e., MAC. Also, we don't do anything with it in RRC.
2024-07-16 11:24:57 +02:00
Robert Schmidt 0a997ee08e Do not print all XnAP logs
NSA is quite verbose, some messages are large and it is not very
"interesting" for the average user. The logs can be enabled on demand,
or directly seen in Wireshark instead.
2024-07-16 11:24:57 +02:00
Robert Schmidt ef1c85e099 Use correct RRC UE ID for PDCP, print warning if not existing 2024-07-16 11:24:57 +02:00
Robert Schmidt 3d2bf72efa Use correct RRC UE ID for NSA UEs
The RRC UE context has the RRC UE ID. Use that instead of hardcoding
something that might be wrong (because the RRC UE ID can be reused,
whereas the counter just blindly increases).

The next commit will use that RRC UE ID to free the PDCP context for the
UE. It might be wrong on reattach otherwise, because the RRC UE ID could
again be 1.
2024-07-16 11:24:57 +02:00
Robert Schmidt 09675f6544 get_default_secondaryCellGroup(): make servingCellConfig const
We simply don't need to modify the servingCellConfig, so don't do it.
2024-07-16 11:24:57 +02:00
Robert Schmidt 05aa348f80 Remove "global" UE variable spCellConfig
Variable spCellConfig is only used in function rrc_add_nsa_user(). Make
it local to this function to prevent possible bugs (limit the possible
scope as much as possible).
2024-07-16 11:24:57 +02:00
Robert Schmidt 3a18c17d5a Remove "global" UE variable reconfig
Variable reconfig is only used in function rrc_add_nsa_user(). Make it
local to this function to prevent possible bugs (limit the possible
scope as much as possible).
2024-07-16 11:24:57 +02:00
Robert Schmidt 6b62c4378b Refactor generate_CG_Config(): return CG_Config
Simplify code by returning an allocated object to a CG_Config.  It leads
to less code and is easier to reason about, because each call will
return a new CG_Config, which can be freed, irrespective of other calls
to fill_default_reconfig().
2024-07-16 11:24:57 +02:00
Robert Schmidt c1668cd7c0 Refactor fill_default_reconfig(): return reconfig
Simplify code by returning an allocated object to an RRCReconfiguration.
It leads to less code and is easier to reason about, because each call
will return a new RRCReconfiguration, which can be freed, irrespective
of other calls to fill_default_reconfig().
2024-07-16 11:24:57 +02:00
Robert Schmidt 4cb0bd3712 Clean up servingCellConfigDedicated once after reading config
get_default_secondaryCellGroup() would "sanitize" the servingCellConfig,
i.e., remove BWP that are invalid. However, it is difficult to
understand (we can do sanitization once at the beginning) and reason
(why the servingCellConfig is modified in
get_default_secondaryCellGroup(), because all we want is a new
CellGroupConfig, without modifying other data structures).

Instead, do sanitization once after reading the configuration in
gnb_config.c. Also, modify physical simulators nr_dlsim and nr_ulsim to
apply this sanitization before a call to
get_default_secondaryCellGroup(), as the latter would have done the
sanitization.
2024-07-16 11:24:57 +02:00
Robert Schmidt 98ebd0d71e Revert "Add assertion for known segfault during teardown of gNB."
This reverts commit 4c658cdd50.

This commit was introduce to signal a known segfault. The bug has been
fixed in the last commit, so this commit can be reverted as the
AssertFatal is not necessary anymore.
2024-07-16 11:24:57 +02:00
Robert Schmidt 5bde26246f Create deep copy of ServingCellConfigCommon for UE-specific parameter
Prior to this commit, upon a release of a UE at the gNB in NSA, the gNB
fails with a segv. This is because the servingCellConfigCommon is used
in the reconfigurationWithSync (through a simple pointer). At the
release, the entire secondaryCellGroup is freed, leading to a free of
the servingCellConfigCommon. The gNB then tries to use it (e.g., for
looking up the numerology), and leading to a segv.

To avoid this problem, make a "deep copy" of the ServingCellConfigCommon
so that we can safely free the UEs secondaryCellGroup, without freeing
the initial ServingCellConfigCommon.
2024-07-16 11:24:57 +02:00
Robert Schmidt e8a083767a Merge branch 'integration_2024_w28' into 'develop'
Integration: `2024.w28`

See merge request oai/openairinterface5g!2856

* !2847 UE setting wrong frequency in 5G rfsimulator SA test
* !2850 NR UE MAC DCI 00 BWP handling
* !2852 \[E2 agent\] Move UE RRC_CONNECTED state signaling
* !2851 Minor code cleanup and fixes
* !2842 UE assertion for msg1_SubcarrierSpacing in RA
* !2831 PUSCH power control state
* !2838 NR UE UL FAPI PDU length fix
* !2723 add initial NTN support for NR UE
* !2764 Adding 7.2 containerfiles and docker-compose
* !2827 Increase RX_DATA.indication PDU Length to 32 bits
2024-07-15 06:00:37 +00:00
Robert Schmidt 4cd82e7c47 Fix array size orror in parent commit
Correct the array by taking out a verification entry in the verification
array that led to runtime error

  Assertion (numparams == (sizeof(cmdline_CheckParams)/sizeof(*(cmdline_CheckParams)))) failed!
  In get_common_options() /home/richie/openairinterface5g/executables/softmodem-common.c:109
  Error in arrays size (41!=42)
2024-07-13 20:15:18 +02:00
Robert Schmidt 1a2ae185c5 Merge remote-tracking branch 'origin/Fix_RX_DATA_PDUSize' into integration_2024_w28 2024-07-13 14:15:08 +02:00
Robert Schmidt 38284919b3 Merge remote-tracking branch 'origin/initial_NR_UE_NTN_support' into integration_2024_w28 2024-07-13 14:15:00 +02:00
Robert Schmidt 62cb46fe24 Merge remote-tracking branch 'origin/fhi-container' into integration_2024_w28 2024-07-13 14:14:31 +02:00
Raphael Defosseux 9beb1323e4 chore(ci): adding fhi Ubuntu/UBI build and docker-hub push to CI pipeline
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2024-07-13 14:12:01 +02:00
arora fe866405e7 Update the build strategy documentation
- adding information related to 7.2 images
- correcting typos and syntax
2024-07-13 14:12:01 +02:00
arora 5524b2c706 Update Openshift README to describe Openshift build 2024-07-13 14:12:01 +02:00
arora e9b5d84eb4 Add docker compose files for deploying 7.2
- Add docker-compose.yml
- Write additional documentation
2024-07-13 14:12:01 +02:00
aroraandRaphael Defosseux 29542595eb Add manifests for fhi72 build on openshift
Co-authored-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2024-07-13 14:12:01 +02:00
aroraandRaphael Defosseux ccddddc64e Add 7.2 container dockerfiles and update existing images
- Add dedicated target docker files for 7.2, both RHEL and Ubuntu
- in existing dockerfiles, update to also build E2 SMs
- for UBI images, only the entitlements are necessary, the rest can be
  omitted (it is superfluous)

Signed-off-by: arora <sagar.arora@eurecom.fr>
Co-authored-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2024-07-13 14:12:01 +02:00
Thomas Schlichter 394431a594 remove nrqtscope 2024-07-13 11:22:36 +02:00
Rúben Soares Silva f58765d023 Update sdu_lenP to uint32_t in get_mac_len
Add check in lcid_crnti_lookahead to ensure subtraction to pdu_len doesn't cause an underflow
2024-07-12 13:33:15 +01:00
Jaroslava Fiedlerova ec5fdfca5f Merge remote-tracking branch 'origin/NR_UE_fapi_pdu_length_fix' into integration_2024_w28 2024-07-12 13:04:21 +02:00
Jaroslava Fiedlerova 2d163fc747 Merge remote-tracking branch 'origin/pusch-power-control-state' into integration_2024_w28 2024-07-12 13:04:00 +02:00
Jaroslava Fiedlerova 23ed53da41 Merge remote-tracking branch 'origin/NR_UE_L839_PRACH_assertion' into integration_2024_w28 2024-07-12 12:28:27 +02:00
Raphael Defosseux ae2a79e566 chore(ci): preparing move of all logs to cmake_targets/log folder on the python executor workspace
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2024-07-12 11:47:32 +02:00
Jaroslava Fiedlerova 9dabdde3e8 Merge remote-tracking branch 'origin/test' into integration_2024_w28 2024-07-12 10:56:14 +02:00
Jaroslava Fiedlerova 0753615c85 Merge remote-tracking branch 'origin/rrc-state-fix-e2' into integration_2024_w28 2024-07-12 10:39:52 +02:00
Jaroslava Fiedlerova 9c0614d72e Merge remote-tracking branch 'origin/NR_UE_DCI_00_BWP' into integration_2024_w28 2024-07-12 10:30:58 +02:00
Jaroslava Fiedlerova 580b1a84f1 Merge remote-tracking branch 'origin/CI_wrong_freq_RFsim_test' into integration_2024_w28 2024-07-12 10:30:01 +02:00
Rúben Soares Silva 22ba6b751d Update sdu_lenP to uint32_t in lcid_crnti_lookahead and nr_process_mac_pdu 2024-07-11 16:47:39 +01:00
Rúben Soares Silva be9b976023 Update references of sdu_lenP to uint32_t in _nr_rx_sdu 2024-07-11 16:47:38 +01:00
Rúben Soares Silva 04e6828c62 Change functions using RX_DATA.indication PDU_Length to expect 32 bits 2024-07-11 16:46:53 +01:00
Bartosz Podrygajlo 373b7d9e37 Reset NR UE PUSCH power control state if alpha or p0 is modified by gNB 2024-07-11 16:06:47 +02:00
Bartosz Podrygajlo 04c8f73616 Fix a bug where PUSCH max TX power was not dependant on number of PUSCH RBs or qm. 2024-07-11 15:03:54 +02:00
Bartosz Podrygajlo cd8f076979 PUSCH power control state 2024-07-11 15:03:45 +02:00
Thomas Schlichter 359880fa73 rfsimulator: use ceil() to calculate the integer number of chan_offset samples from the prop_delay_ms
The actual propagation delay should not be smaller than the one specified.
A too short propagation delay might result in too early reception of Msg1, and with that in a mis-detection of the RAPID.
2024-07-11 14:48:52 +02:00
Thomas Schlichter 9dc0dc5ffe NR UE: improve PSS detection by reducing the detection step size from 8 to 4
Until commit d74b2bd19f, the PSS detection step size was 4, anyways.
The PSS detection step size is a compromise between detection duration and accuracy.
The most accurate detection step size would be 1, but this would lead to even longer initial sync time.
2024-07-11 14:43:13 +02:00
Thomas Schlichter 4ddb2d3bac add section with NR UE NTN example to doc/RUNMODEM.md 2024-07-11 13:33:30 +02:00
Thomas Schlichter 1e47311259 NR UE: use sr_ProhibitTimer_v1700 if present 2024-07-11 13:33:30 +02:00
Thomas Schlichter 75efcf49b9 NR UE: add NTN specific parameter ta-Common and use it for initial timing advance, RA_contention_resolution_timer and RA_window_cnt
The value for this parameter can be set via UE command line parameter `--ntn-ta-common` in milliseconds.
2024-07-11 13:33:30 +02:00
Raphael Defosseux e1885f65d8 chore(ci): aligning LogCollecteNB call with BuildId option
Signed-off-by: Raphael Defosseux <raphael.defosseux@eurecom.fr>
2024-07-11 12:08:02 +02:00
francescomani 83c59b05e9 code cleanup and small fixes 2024-07-11 11:25:22 +02:00
Teodora 676ba4355c RRC_CONNECTED state signaling for E2 moved
- E2SM UE ID requires guami -> therefore RRC_CONNECTED state signaling
    to RIC is now done after receiving Initial Context Setup Request
from AMF, which contains the guami info
2024-07-10 16:06:58 +02:00