Commit Graph
100 Commits
Author SHA1 Message Date
Robert Schmidt 0b3d098654 Merge remote-tracking branch 'origin/fhi-f-release' into integration_2024_w49 (!3147)
Fronthaul xran library update to F release (2. and final step towards M-plane integration)

- xran library support -> both E and F releases
- RU delay profile removed -> not used in neither of the releases
- DU delay profile updated
- one-way delay measurements support is improved/fixed in the F release.
  However, not implemented here as it depends on the RU capabilities
2024-12-08 21:07:05 +01:00
Robert Schmidt 5e00850aee Delete commented code in mme_app.c 2024-12-05 12:11:29 +01:00
Robert Schmidt fb0a9b64e4 Merge remote-tracking branch 'origin/gNB_supporting_more_UEs' into integration_2024_w48 (!3033)
Increase the number of UE supported at gNB by having more than 1 PUCCH2
frequency occasion per slot
2024-12-02 16:27:07 +01:00
Robert Schmidt b5675d3eea Merge remote-tracking branch 'origin/nfapi-p7-refactoring' into integration_2024_w48 (!3131)
FAPI P7 Refactoring and unitary test creation

This MR is a follow-up to the work done in !2714 this time separating
the P7 FAPI messages into its own library (nr_fapi_p7).

In the same way, utility functions to copy, free and compare have been
added for each message, as well as an addition function to get the
allocated size for a message, which is used for the messages that can be
too big to fit in a buffer that's allocated in the stack.

Unitary tests have been added for each of the messages, testing
pack/unpack and the utility functions added.
2024-11-30 12:59:25 +01:00
Robert Schmidt 9409348d23 Use ninja -k option in CI
Some users of the OAI CI complain that since we build with -Werror, it
is difficult to see all warnings/errors and fix them, necessitating
multiple attempts at times to see all warnings. To allow them to see
more warnings, use ninja option -k10 to keep going after errors, and
show more errors at once.
2024-11-29 16:20:12 +01:00
Robert Schmidt a89aab8d84 build_oai: add --build-tool-opt to pass options to build tool
There are command line options that one might pass to ninja/make, but
for which cmake does not provide an interface. For instance, make/ninja
support -k/-kN to "keep going" after errors. Cmake does not provide an
option, but it is still possible to pass this. Make a build_oai option
to allow this, used in the next commit.
2024-11-29 16:15:09 +01:00
Robert Schmidt f5888225ad Merge remote-tracking branch 'origin/imscope-docking' into integration_2024_w48 (!3030)
Imscope updates

- Using imgui docking branch - allows window docking.
- Moved scopes to different windows to allow docking.
- Disabled scatterplot for time domain samples - issues with amount of
  vertices caused segfaults.
- Disabled IQ heatmaps for RX IQ samples on gNB and UE - this was
  incorrect and currently I don't know how to fix it. This will be
  reenabled once it is.
- added a simple menu and disabled demo windows by default.
2024-11-29 15:52:50 +01:00
Robert Schmidt ca3739e806 Merge remote-tracking branch 'origin/nr-ue-threading-improvements' into integration_2024_w48 (!3091)
Update NR UE threading model

This updates the NR UE threading model by preventing calling threadpool
from threadpool and fixes deadlock issues related to processSlotTX. By
making processSlotTX run to completion instead of starting and waiting
for other threads to finish it prevents locking thread pool cores,
therefore prevening deadlocks.

There is a slight difference here compared to the previous version where
I do not use the UL actor as I believe it is not necessary,
processSlotTX satisfies the run-to-completion requirement now. If in the
future any UL procedure would be parallelized using the thread pool it
should either be done in a run-to-completion model or the processSlotTX
function should be taken off the thread pool.

The documentation has been updated.
2024-11-29 15:51:56 +01:00
Robert Schmidt 4d22ac6fd0 Provide handle_nr_srs_measurements() in 4G
4G/5G FAPI code is located in the same file. Since 5G code calls 5G
specific functions, these functions need to be defined in 4G.

The solution would be to separate the FAPI changes into 4G and 5G.
2024-11-29 09:15:08 +01:00
Robert Schmidt c679112f50 Remove useless global variable
Remove dummy_subframe variable, which is initialized once in
start_request() and then copied to memory on the heap. It is not needed.

In nr_start_request(), it should not be necessary, but we keep it for
the moment to not make more changes than necessary.

This avoids a segfault for me, but I am not exactly sure why.
2024-11-29 09:15:03 +01:00
Robert Schmidt a9da755338 nfapi pack/unpack: OAI only supports 14 symbols
All packing was wrong and used 12 instead of 14 symbols. However, as of
now and my knowledge, OAI only supports 14 symbols.
2024-11-29 09:15:03 +01:00
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
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
Robert Schmidt 566dad62c2 Duplicate sa_cn5g_{start,closure}.xml
Duplicate these files with the same reasons as in PARENT.
2024-11-26 08:44:19 +01:00
Robert Schmidt 7bf706bc9a CI: harmonize pull/clean with flexric hack
If we are pulling FlexRIC, overwrite the tag to use with what has been
provided on the command line. This is because we hardcode the tag schema
"branchname-commitId[0:8]" everywhere else, but this does not apply for
FlexRIC, and we have to overwrite this here.
2024-11-25 15:33:41 +01:00
Robert Schmidt 010a23863c CI: Add a testcase for testing pull/clean functionality
The testcase will only be executed when the registry at
porcepix.sboai.cs.eurecom.fr is actually reachable.
2024-11-25 15:33:41 +01:00
Robert Schmidt 644990a225 CI: Clean_Test_Server_Images(): harmonize code
- pass parameter directly instead of indirectly via class
- harmonize to svr_id to read through common code in the next commits
- pass images to express which images will be deleted
- refactor function to use "with" for cls_cmd, and return success (or
  not)
2024-11-25 15:33:41 +01:00
Robert Schmidt 74317e805d CI: PullClusterImage(): harmonize code
- reuse cls_containerize.Containerize.PullImage()
- pass parameter directly instead of indirectly via class
- always read node name and use this instead of "sometimes" looking it
  up from a class member. With "sometimes" I mean that if no node name
  is given, it will take it from self.eNBIPAddress, which is confusing
  at best if we can give the node name directly
- consistently put the node name in the xml file
2024-11-25 15:33:41 +01:00
Robert Schmidt dee9ce26db CI: Pull_Image_from_Registry(): harmonize code
- pass parameter directly instead of indirectly via class
- call it simply "images", to harmonize with clean-function later
- harmonize to svr_id as in the previous commit
- rewrite function to use with-statement with cls_cmd
- optionally pass a tag to use (which will be used in a test, and can be
  used to pull flexric)
- Introduce Pull_Image() which does the actual pulling, can pull from
  any registry, and will be reused in the case of pulling from cluster.
2024-11-25 15:33:41 +01:00
Robert Schmidt 500f37d10e Avoid assert on non-implemented SM write callback
The asserts might be used to intentionally stop the running process.
Further, it might be an annoyance if it happen unintentionally. Just
print an error message instead, and return to FlexRIC that nothing is to
be sent.
2024-11-25 11:02:13 +01:00
Robert Schmidt 559fdf106c Duplicate fr1_epc_{closure,start}.xml
The CI pipeline RAN-NSA-B200-Module-LTEBOX-Container uses the same core
network (ltebox) as the pipelines RAN-LTE-{TDD,FDD}-LTEBOX-Container,
triggered through the same XML files. However, the core networks are on
different hosts, configured through (Jenkins) pipeline configuration. A
future MR will move the entire core network configuration into the XML
files [1]. To facilitate this, create separate XML files for the NSA
pipeline.

[1] The advantage is that it will be easier to reason with only the XML
files what is going to be run where and how.
2024-11-25 10:31:04 +01:00
Robert Schmidt 68191088ab Add v2.2.0 release notes 2024-11-22 14:46:10 +01:00
Robert Schmidt ce5e674bd2 Add link from F1 design to handover tutorial 2024-11-22 14:05:27 +01:00
Robert Schmidt 756199c98f Add missing links from doc/README.md to documentation 2024-11-22 14:05:27 +01:00
Robert Schmidt a48728ba35 CI: Push_Image_to_Local_Registry(): harmonize code
- pass parameter directly instead of indirectly via class
- harmonize to svr_id to harmonize parameter with parameters in the next
  commit (and towards a future harmonization of directly taking node
  names instead of "IDs")
2024-11-22 08:23:48 +01:00
Robert Schmidt a80c17cc31 CI: Remove useless parameter 2024-11-22 08:23:48 +01:00
Robert SchmidtandTeodora 530f96278d Rearrange FHI architecture to support M-plane
Co-authored-by: Teodora <teodora.vladic@openairinterface.org>
2024-11-21 13:37:46 +01:00
Robert Schmidt ba0cad20e6 Move respPuschAarx response queue to stack of nr_pusch_channel_estimation()
The queue for finished jobs of PUSCH channel estimation is only used inside
nr_pusch_channel_estimation(). Since initialization is fast, it can be
declared on the stack in the function where it is used.
2024-11-20 16:30:39 +01:00
Robert Schmidt 77b57bc2d6 CI: increase UE thread pool size
There seem to be randomly occurring deadlocks when running the UE in the
CI. MR !3091 should fix this. While waiting for this, apply a workaround
by increasing the number of worker pools in the UE to 12.
2024-11-18 17:20:39 +01:00
Robert Schmidt ba78dc3581 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-18 16:42:26 +01:00
Robert Schmidt fb1f2539e8 Custom_Command nc on cacofonix: cannot use -N, is openBSD 2024-11-17 21:46:23 +01:00
Robert Schmidt 7e3df5f173 Adjust TCP threshold MIMO for AW2S 2x2 pipeline 2024-11-17 10:09:31 +01:00
Robert Schmidt 2cc63bf195 Fixup: avoid deadlock 2024-11-17 01:27:09 +01:00
Robert Schmidt 7d2b7c2ba3 Prevent segfault in RRC
Similar to the previous commit, prevent the same segfault in RRC.
2024-11-15 17:58:50 +01:00
Robert Schmidt 268d409b5b Prevent segfault in nr_mac_clean_cellgroup()
In some runs of a multi-UE deployment, we see segfaults because
cell_group->spCellConfig is NULL. We should not segfault in that case,
so check for spCellConfig.
2024-11-15 15:37:03 +01:00
Robert Schmidt a319cbfb19 Prevent segfault when trying to schedule MAX_MOBILES_PER_GNB UEs
When the UE list is full, the iterator will run through all
MAX_MOBILES_PER_GNB UEs. It expects that eventually the pointer is NULL,
which is not the case if we have MAX_MOBILES_PER_GNB (or it simply
depends on the following memory). So give one array entry more, to
ensure that the last one is NULL.
2024-11-15 15:37:03 +01:00
Robert Schmidt 029cf83918 Trigger registration only in SA mode
Upon press of ^C, the UE triggers a NAS deregistration. This does not
work in do-ra or phy-test modes, because there is no NAS. Therefore, in
non-SA modes, just stop the UE directly.
2024-11-14 12:13:45 +01:00
Robert Schmidt eee4a0c652 UE: signal RLF to RRC 2024-11-13 14:25:01 +01:00
Robert Schmidt f380a48a3b RLC: add per-UE RLF callback
If the RLC cannot retransmit a package, 3GPP specs say that we should
declare radio link failure (RLF). Up to this commit, the code did
nothing though. In this commit, add a per-UE RLF callback; the RLC will
call into this function to signal that RLF has been detected through
maximum retransmissions on a particular RLC bearer.
2024-11-13 14:25:01 +01:00
Robert Schmidt c847ac786f Merge remote-tracking branch 'origin/ci-cls-physim-cleanup' into integration_2024_w45 (!3074)
CI: Cleanup of cls_physim.py

- Remove unused code and file
- Rework functions for CUDA and T2 log analysis
- Check if test was successful for nr_ulsim and nr_dlsim in
  RAN-gNB-N300-Timing-Phytest-LDPC pipeline
2024-11-13 09:57:49 +01:00
Robert Schmidt 085d48304c Merge remote-tracking branch 'origin/remove-use-old-ssh-class' into integration_2024_w45 (!3087)
Remove some usage of the old CI sshConnection class
2024-11-13 09:57:16 +01:00
Robert Schmidt e8d8384e7e Add RHEL 9.5 to supported distributions 2024-11-12 17:50:12 +01:00
Robert Schmidt 0784d1907f ci-scripts/tests/README.md: how to run all tests 2024-11-12 17:20:14 +01:00
Robert Schmidt 9f5d82212a Remove Username/Password from cls_containerize and use GetCredentials()
In the last commits, SSHconnection class has been removed from
cls_containerize.py. We therefore don't need the username and password,
as cls_cmd uses certificates only. Remove the usage of the username and
the password, and harmonize the use of GetCredentials().
2024-11-12 17:20:14 +01:00
Robert Schmidt 6a36db4569 Repair and refactor proxy build function
Recent refactoring replaced the CreateWorkspace function call with a
dedicated XML step (for clarity, and because it avoids needless
recreation of workspaces). In the proxy function, the same
CreateWorkspace xml step has been added, cloning the OAI RAN repo, when
we actually need the repository for the proxy. Hence, fix this by
calling the CreateWorkspace() function manually, but only when
necessary, to build the proxy. (It would only be a problem if the
pipeline would rebuild the proxy, which did not happen because not much
work is happening on the proxy repo).

Further, refactoring and simplication of the proxy build function were
done:

- never tag proxy with develop, that makes no sense
- overwrite CreateWorkspace() info after having created and used the
  workspace (the "if" to build the proxy)
- simplify copying of logs
- add simple unit test
- remove check for ubuntu; the dependcy is "docker". Simplify the code
  to not obscure with a class variable.
2024-11-12 17:20:14 +01:00
Robert Schmidt cf576fc255 Remove Create_Workspace() in xml: follow up step removes it
The first thing Build_Proxy does is to remove the repository. Further,
Build_Proxy does not use the OAI RAN repo, but the proxy repo. The
Create_Workspace() is therefore completely useless.
2024-11-12 17:20:14 +01:00
Robert Schmidt a103be619a Remove use of old sshConnection class, use cls_cmd instead 2024-11-12 17:20:14 +01:00
Robert Schmidt e7225e12cb Remove CheckAndAddRoute(), replace with scripts on machines
Remove CheckAndAddRoute(), as it is complicated to read, uses a
multitude of hostname/IP/password combinations. Replace with scripts on
the machines, which, as of this commit, are:

- porcepix: ~/after-reboot.sh
- ofqot: ~/after-reboot.sh
- nepes: ~/after-reboot.sh
- obelix: ~/how-to-resetup-obelix-out-of-reboot.sh
2024-11-12 17:20:14 +01:00
Robert Schmidt 171530c067 cls_oaicitest.py: use new cls_cmd.getConnection() instead of old SSHconnection class
It is clearer in CI logs to use absolute paths, and that is also a
"preference" of the new SSH class (cls_cmd.py) in the sense that some
functions don't handle "cd" gracefully (because of underlying Python
library paramiko).

For zip, though, we should change to have nice relative paths in the
archives, so use cd <path> && zip ... to achieve that, instead of
changing to a directory. This way, the path on which we operate is still
visible in the logs in each line.
2024-11-12 17:18:28 +01:00
Robert Schmidt cd25064fb1 Enable VLA Cxx extension in clang build
The clang build fails with

    /oai-ran/openair1/PHY/MODULATION/gen_75KHz.cpp:16:23: error: variable length arrays in C++ are a Clang extension [-Werror,-Wvla-cxx-extension]
       16 |     complex<double> t[len];
          |                       ^~~
    /oai-ran/openair1/PHY/MODULATION/gen_75KHz.cpp:16:23: note: function parameter 'len' with unknown value cannot be used in a constant expression

So ignore this warning (and make the build pass), since OAI uses VLAs in
various places.
2024-11-12 17:15:22 +01:00
Robert Schmidt 3991f15c89 Reorder compile options to have user-defined last
The previous version would put the user-defined options first. However,
the default options include e.g., -Wall. If a user tries to override
(see for instance the next commit) -Wall or other options might override
this and not honor the user choice.

To always have the user have the last work, put user-defined compile
options last.
2024-11-12 16:46:55 +01:00
Robert Schmidt 0443759716 Remove Num_Threads_PUSCH options: it's not used 2024-11-12 13:55:49 +01:00
Robert Schmidt 5d2a1ace17 nr-{ue,}softmodem: Check for correct modes
THere are four possibilities, for the three options (phy_test, do_ra,
nsa):

- None is set -> SA
- Only one is set of each -> corresponding mode

Introduce a function softmodem_verify_mode() to check for these.
2024-11-12 13:55:49 +01:00
Robert Schmidt e0e1ca6583 Make SA the default mode, remove corresponding option 2024-11-12 13:55:49 +01:00
Robert Schmidt 4e08542231 Remove link to old 5g_l2sim_tdd docker deployment 2024-11-12 09:52:57 +01:00
Robert Schmidt 34cf585acd Merge remote-tracking branch 'origin/fix-4layers-nr_dlsim' into integration_2024_w45 (!3082)
fix blocking bugs in command nr_dlsim -n100 -e27 -s35 -b 273 -R273 -x4 -y4 -z4

errors in main OAI code:

- one stack overflow
- one variable array of size 0
- one direct usage of unaligned SIMD

and small fixes inside the tests tool nr_dlsim to handle this large configuration (4layers, 100MHz)

use a better complex vector multiplication function
2024-11-09 22:51:45 +01:00
Robert Schmidt 7d7011f3f8 Remove use of SSHConnection(): not used in this file 2024-11-09 12:44:09 +01:00
Robert Schmidt 5078fcccbc CI test deployment.py: auto-pull missing images if necessary 2024-11-09 12:44:09 +01:00
Robert Schmidt a3a59e4a97 Update CI unit test README.md with all tests 2024-11-09 12:44:09 +01:00
Robert Schmidt 9d4337c55d Do not retrieve deployment logs during DeployObject
Since commit 041b2b2d7a, the CI main loop
iterates over all steps, even if there has been a problem during an
earlier XML step. In all cases, UndeployObject() is marked to always
run, as we always need to make sure that all deployed services are
terminated. UndeployObject() always recovers logs. Hence, it's not
necessary to do it here as well; it leads to duplicated logs.

This is visible in all pipeline with a failed deployment: the logs
appear twice.
2024-11-09 12:44:09 +01:00
Robert Schmidt 019778e927 Simplify create_workspace.sh: remove unnecessary checkout
create_workspace.sh used to check out develop by default. However, this
is unnecessary because the script later checks out a specific reference
(which can be a commit ID, which is not accepted by git clone, the
reason we don't check out during clone); the repository will simply be
empty in the beginning, which should not be a problem.

Further, it is problematic because we use this script for the build of
the L2sim proxy, and the repository does not have develop; thus, without
this modification, L2sim proxy build will always fail.
2024-11-09 12:41:23 +01:00
Robert Schmidt 9f9299706b Improve cross-compile documentation
- Give introductory line
- Reformulate headers to clarify steps
- Reference dockerfiles for further information
2024-11-07 15:10:24 +01:00
Robert Schmidt 49584e6cb3 fixup 2024-11-07 13:17:21 +01:00
Robert Schmidt 2204fc13db Compile telnetsrv in cross-compilation pipeline 2024-11-07 12:44:26 +01:00
Robert Schmidt 76c3e4b72e Remove x86-specific instructions from telnet server
telnetsrv uses the Intel/AMD-specific "cpuid" instruction, which is not
available on ARM machines. Remove the call.

The previous code was checking for the number of cores, which is
retained by a call to get_nprocs(). I did not find an equivalent for the
number of threads in C. In C++, there would be
https://en.cppreference.com/w/cpp/thread/thread/hardware_concurrency, in
case it's relevant for anybody.
2024-11-07 12:41:47 +01:00
Robert Schmidt a650dcc8ab Remove Interop-F1/Accelleran-CU testing pipeline
We don't have access to the images for the Accelleran CU anymore, so we
can't run the test. Remove the pipeline from the repository.
2024-11-07 12:33:47 +01:00
Robert Schmidt 0e93a8b4cf Move nr_polar_init.c to nrPolar_tools/ 2024-11-07 11:58:44 +01:00
Robert Schmidt 16535f3de4 Reformat all polar code
Commands used:

    clang-format -i openair1/PHY/CODING/TESTBENCH/polartest.c
    clang-format -i openair1/PHY/CODING/nr_polar_init.c
    clang-format -i openair1/PHY/CODING/nrPolar_tools/*
2024-11-07 09:43:19 +01:00
Robert Schmidt 2696f475aa Remove libatlas-base-dev from ARM64 deps: not needed (see #802) 2024-11-06 09:51:01 +01:00
Robert Schmidt e3c3a8a6ff Merge remote-tracking branch 'origin/ci-add-develop-tag-in-private-repo' into integration_2024_w44 (!3085)
chore(ci): creating a develop tag on top of develop-commit-id tag for the local private registry

Create a 2nd tag of develop for all images on the local registry.  We
are doing this in order to simplify cross-repository testing between
FlexRIC and RAN.
2024-11-05 11:03:02 +01:00
Robert Schmidt 70885cc959 Merge remote-tracking branch 'origin/nrue-yaml-hotfix' into integration_2024_w44 (!3084)
Fix two issues with softmodem yaml files

- Fix a typo that prevents casting max_chan to integer in nrue.uicc.yaml
- Remove unused field ssb_PositionsInBurst_PR from gNB example config
  yaml file
2024-11-05 11:02:24 +01:00
Robert Schmidt f216c47ace Merge remote-tracking branch 'origin/fix-regression-4G' into integration_2024_w44 (!3008)
Fix Regression 4G

- Fix various bugs and/or regressions in 4G code
- Also, the CI does not test RFsim 4G with --sanitize, enables this to
  detect problems.
2024-11-04 19:43:52 +01:00
Robert Schmidt 01aadcac1f Merge remote-tracking branch 'origin/rlc-optimization' into integration_2024_w44 (!3061)
RLC optimization

Two improvements:

- using functions instead of function pointers which enables inlining
- avoid 1 malloc/free per SDU

Benchmark results:

before:

    BM_nr_rlc_am_entity/20000           5036721 ns      5036541 ns          138
    BM_nr_rlc_am_entity/20000           5032061 ns      5031849 ns          138
    BM_nr_rlc_am_entity/20000           5037071 ns      5037056 ns          138
    BM_nr_rlc_am_entity/20000           5035472 ns      5035248 ns          138
    BM_nr_rlc_am_entity/20000           5032860 ns      5032681 ns          138
    BM_nr_rlc_am_entity/20000_mean      5034837 ns      5034675 ns            5
    BM_nr_rlc_am_entity/20000_median    5035472 ns      5035248 ns            5
    BM_nr_rlc_am_entity/20000_stddev       2267 ns         2315 ns            5
    BM_nr_rlc_am_entity/20000_cv           0.05 %          0.05 %             5

after:

    BM_nr_rlc_am_entity/20000           4974403 ns      4974202 ns          140
    BM_nr_rlc_am_entity/20000           4976705 ns      4976444 ns          140
    BM_nr_rlc_am_entity/20000           5004550 ns      5004508 ns          140
    BM_nr_rlc_am_entity/20000           4974652 ns      4974460 ns          140
    BM_nr_rlc_am_entity/20000           4976447 ns      4976225 ns          140
    BM_nr_rlc_am_entity/20000_mean      4981351 ns      4981168 ns            5
    BM_nr_rlc_am_entity/20000_median    4976447 ns      4976225 ns            5
    BM_nr_rlc_am_entity/20000_stddev      13009 ns        13087 ns            5
    BM_nr_rlc_am_entity/20000_cv           0.26 %          0.26 %             5
2024-11-04 19:42:43 +01:00
Robert Schmidt 1b1be2ebea Merge remote-tracking branch 'origin/fedora-41-cleanup' into integration_2024_w44 (!3080)
Add Fedora 41, build_oai cleanup

- Add Fedora 41 to list of supported distributions
- Remove some dependencies in RHEL that are not necessary
- Cleanup some build_oai documentation of non-supported options
2024-11-01 11:59:44 +01:00
Robert Schmidt da7a028a3f Merge remote-tracking branch 'origin/logs-refactor-orange' into integration_2024_w44 (!3078)
Simplify logs in gNB&UE

- reduce the amount of printf() that outputs useless info
- in MAC, PHY, NGAP, RRC, mark some "important" UE events with LOG_A for
  better visibility -> can put log_config.global_log_level analysis to
  only see important stuff
- in RRC, use some macro to consistently print logs
- track the cellID of a UE in RRC
2024-11-01 11:58:47 +01:00
Robert Schmidt 25405d1720 Merge remote-tracking branch 'origin/NR_PBCHSIM_changes' into integration_2024_w44 (!3040)
Update pbchsim to work with other numerologies

NR PBCHSIM updated to work with 15Khz and 120Khz.
2024-11-01 11:58:13 +01:00
Robert Schmidt 9d96326ce7 Remove RHEL8 from list of supported distributions 2024-10-31 12:53:08 +01:00
Robert Schmidt d6938e7b2a Remove useless options: -x does nothing 2024-10-31 12:53:08 +01:00
Robert Schmidt 8d62bc38c0 Remove documented but unsupported build_oai options 2024-10-31 12:53:08 +01:00
Robert Schmidt a93ad34c6b Remove non-required dependencies from install list
openssl and libffi are not required for building OAI. Remove them.
2024-10-31 12:53:08 +01:00
Robert Schmidt 9f56b8e21f Add Fedora 41 to list of supported distributions 2024-10-31 12:53:08 +01:00
Robert Schmidt 24e591df59 Merge remote-tracking branch 'origin/3-digit-mnc-in-sib1' into integration_2024_w44 (!3073)
small fix for 3 digit mnc usage in sib1

When 3 digit MNC is used in PLMN, during preparation of SIB1, first
digit of MNC was not taking into account. UE derives Serving Network
Name (SNN) using PLMN info from sib1. Because of 5GCore and UE has
different SNNs, this leads to XRES*, RES* mismatch during Authentication
Procedure between 5GCore and UE. (SNN is used for derivation of these
keys)
2024-10-31 08:41:20 +01:00
Robert Schmidt 571d1fceab Merge remote-tracking branch 'origin/hotfix-snow3g' into integration_2024_w44 (!3072)
snow3g: fix array size
2024-10-31 08:40:57 +01:00
Robert Schmidt 84db6fd9f3 Merge remote-tracking branch 'origin/add-functional-test-dft' into integration_2024_w44 (!2988)
Add functional DFT test

- clean up code on (i)dft calls
- add DFT test for some DFT sizes against trivial implementation: it
  tests a simple square signal in only real values
- correctly scale DFT-16
2024-10-31 08:40:21 +01:00
Robert Schmidt 55feed3645 Add chart for nr_pbchsim.otherSCS execution 2024-10-31 08:26:00 +01:00