Commit Graph
100 Commits
Author SHA1 Message Date
Robert Schmidt 4398a57eb2 Increase SC-FDMA test UL iperf traffic to 18Mbps 2024-10-13 19:03:33 +02:00
Robert Schmidt e8597a16ed Merge remote-tracking branch 'origin/NR_CSI_improvements' into integration_2024_w41 2024-10-11 11:56:53 +02:00
Robert Schmidt 3d32ce3904 Merge remote-tracking branch 'origin/aerial-cleanup' into integration_2024_w41 2024-10-11 11:56:46 +02:00
Robert Schmidt eb98aa690e Docker: Use -Werror in Aerial build 2024-10-10 16:04:08 +02:00
Robert Schmidt 3da3ec1907 Resolve error "unknown type name"
Resolve error:

   nfapi/oai_integration/aerial/fapi_nvIPC.h:56:16: error: unknown type name ‘nvipc_params_t’
   56 | int nvIPC_Init(nvipc_params_t nvipc_params_s);

By including the header. Also, move the definiton of the struct to the
MAC, where it is actually stored, and out of the radio common_lib.h,
since this is not a radio (split 7/8) parameter.
2024-10-10 16:02:29 +02:00
Robert Schmidt 35174d7917 Remove useless code
We don't use CUDA (see previous commit). Further, the variables
referenced in this piece of code are not used later.
2024-10-10 16:02:29 +02:00
Robert Schmidt da5601b8bf Remove code enclosed in NVIPC_CUDA_ENABLE
When compiling aerial, we compile without CUDA support (see e.g.,
docker/Dockerfile.gNB.aerial.ubuntu22). Hence, do not check for it in
aerial for the moment, we won't use it for the foreseeable future.
2024-10-10 16:02:29 +02:00
Robert Schmidt c648dfd078 Bugfix: preamble_list is an array
Since commit e6e25275ed, preamble_list is
an array, not a pointer. Hence, we don't need to call free().
2024-10-10 16:02:29 +02:00
Robert Schmidt c945bef2f1 Remove check for NFAPI_MODE_AERIAL, it's pointless
In Aerial bindings (FAPI-Aerial), the NFAPI mode must be
NFAPI_MODE_AERIAL (otherwise, we would not be executing this code).
Hence, the switches don't make sense. Remove them.

The check can more easily be checked with

    git show <commit> --ignore-all-space
2024-10-10 16:02:29 +02:00
Robert Schmidt f2f08ac52a Remove ENABLE_AERIAL switch in aerial bindings
As is visible at the top of the patch, for compiling aerial_lib (the
binding FAPI-Aerial), we always add ENABLE_AERIAL. Thus, all the code
within ENABLE_AERIAL will be compiled; we can also simply take it out.
2024-10-10 16:02:29 +02:00
Robert Schmidt f7afc8e8ee Aerial: compile P5 with Aerial-specfic modifications 2024-10-10 16:02:29 +02:00
Robert Schmidt e04ed98994 Remove unused code 2024-10-10 16:02:29 +02:00
Robert SchmidtandRúben Soares Silva 83838962fd Aerial: Avoid superfluous memcpy(), reduce scope
We can directly read from buffers, so the memcpy() only takes time.
Also, limit the scope of the variables for the unpacking of
RX_DATA.indication.

Co-authored-by: Rúben Soares Silva <rsilva@allbesmart.pt>
2024-10-10 16:01:29 +02:00
Robert Schmidt 1a97aa359e aerial_phy_nr_srs_indication(): implement without relying on L1 structures 2024-10-10 16:00:39 +02:00
Robert Schmidt 77d62cbf57 Remove aerial_phy_nrach_indication(): this is a 4G callback 2024-10-10 16:00:39 +02:00
Robert Schmidt d91e80beba Remove aerial_phy_nb_harq_indication(): this is a 4G callback 2024-10-10 16:00:39 +02:00
Robert Schmidt 8150328353 Remove aerial_phy_lbt_dl_indication(): this is a 4G callback 2024-10-10 16:00:39 +02:00
Robert Schmidt f1cbbc9f83 Remove aerial_phy_sr_indication(): this is a 4G callback 2024-10-10 16:00:38 +02:00
Robert Schmidt 88d548fbc2 Remove aerial_phy_cqi_indication(): this is a 4G callback 2024-10-10 16:00:38 +02:00
Robert Schmidt 17ed5d345e Remove aerial_phy_srs_indication(): this is a 4G callback 2024-10-10 16:00:38 +02:00
Robert Schmidt 8888a6bd70 Remove aerial_phy_harq_indication(): this is a 4G callback 2024-10-10 16:00:38 +02:00
Robert Schmidt 24c8e6c5c1 Remove aerial_phy_sync_indication(): this is a 4G callback 2024-10-10 16:00:38 +02:00
Robert Schmidt 3b4df11078 Remove aerial_phy_slot_indication(): this is a 4G callback 2024-10-10 16:00:38 +02:00
Robert Schmidt c609dd8fcf Implement common nr_get_mu() in nr_mac_common
These functions look up the numerology, and code can be harmonized:

- ssb_index_from_prach()
- find_SSB_and_RO_available()
- schedule_nr_prach()

The next commits also need to look up the numerology from the
UplinkConfigCommon. This provides the common implementation to be used
in follow-up commits.
2024-10-08 14:19:57 +01:00
Robert Schmidt d6f0ff37c2 RFsim: doc serveraddr: mention IPv4v6 and DNS 2024-10-07 14:17:12 +02:00
Robert Schmidt ac7c02d8e5 CI 5G E1 RFsim test: Use DNS name for RFsim 2024-10-07 14:17:12 +02:00
Robert Schmidt a648afd4c6 RFsim Client: Improve logs
- Remove double "Connection ... established" (already printed in
  caller)
- Remove useless, there is already the logging module
- Print getaddrinfo() error as LOG_E (error)
2024-10-07 14:16:15 +02:00
Robert Schmidt 4c85eb4a9e More CI RFsim4G to cacofonix 2024-10-03 09:10:33 +02:00
Robert Schmidt fa5ca8d7ea Merge remote-tracking branch 'origin/756-segfault-in-l1_rx_thread' into integration_2024_w40 2024-10-02 17:06:57 +02:00
Robert Schmidt c2535df334 Merge remote-tracking branch 'origin/fix_log2_approx_tests' into integration_2024_w40 2024-10-02 17:06:33 +02:00
Robert Schmidt 27d073d4f6 Free CellGroup 2024-10-02 17:04:53 +02:00
Robert Schmidt ba10db149a Logs when UE cannot use CCCH 2024-10-02 17:04:53 +02:00
Robert Schmidt 5ed1dcd2fc CI SA-AW2S-CN5G: adjust ping loss threshold
In this pipeline, we frequently see losses of a single packet; we did
not find the true reason yet.

Accept 5% losses, assuming that serious packet loss would be catched by
(1) higher ping losses (2) iperf would be affected.
2024-10-02 12:37:22 +02:00
Robert Schmidt 0699f1a993 CI SA-B200-Module-SABOX: improve behavior by adjusting radio parameters 2024-10-02 12:34:58 +02:00
Robert Schmidt fc0cbc3147 Create_Workspace: exit 0 at end
the create_workspace.sh script checks if a branch should be merged into
what we are trying to checkount (i.e., typically develop into
feature-branch). The problem is that it uses a short-hand for an if
branch.

    [ -n "${merge}"] && git merge...

If we don't request a merge, [ -n XX ] will evalute to 1, and not do the
git merge. Since it's the last command in the script, this makes the
script return 1 (failure), when it actually succeeded.

Add exit 0 to ensure we return 0 after successful end of the script. If
there is a failure, the script will terminate early. It can be tested by
e.g., giving a wrong commit ID.

Reviewed-by: Jaroslava Fiedlerova <Jaroslava.Fiedlerova@openairinterface.org>
2024-10-01 09:19:43 +02:00
Robert Schmidt 0e23b795b7 CI: use Custom_Script to execute SR-IOV/setup scripts for FHI72 pipeline 2024-09-30 16:08:58 +02:00
Robert Schmidt 5ee9e20f7d SAbox: consistently pull/clean test images in each step 2024-09-30 15:31:41 +02:00
Robert Schmidt d3b4a6b788 Fix: clear HTML global's internal state 2024-09-30 15:25:10 +02:00
Robert Schmidt 2b67b0e1de CI PullImage(): HTML: indicate pulled images 2024-09-28 12:58:22 +02:00
Robert Schmidt 904534f0da Reboot USRP: use infinitive to harmonize with other steps 2024-09-28 12:58:22 +02:00
Robert Schmidt 60b9649e00 Implement CreateWorkspace() through script, print dir in HTML
Use a script, which can be tested independently of CI code (by running
it on the host on which it will be used), and print the directory that
has been prepared in the HTML.  Also, in the description, use the
infinitive/imperative(?) of the verb to harmonize with other steps.
2024-09-28 12:58:06 +02:00
Robert Schmidt e541aee49e Implement runScript in cls_cmd for LocalCmd/RemoteCmd, add test
A lot of CI code is python mixed with bash, e.g.,

    ssh = getConnection(host)
    ssh.run('ls')
    ssh.run('echo')

At least some of this CI code would benefit if it was written in a
simple bash script, returning error codes and potentially other
information either through stdout/stderr or files, to the calling Python
code:

    ssh = runScript(host, script)
    # script does: ls; echo

This commit introduces the possibility to run entire scripts. The idea
is that the executor has a script (on localhost), which is either
executed locally or on a remote host. For the remote host, the script is
not copied but piped into a remotely executed bash. In both cases,
output is either returned like the Cmd.run() function with returncode
and mixed stdout/stderr, or optionally redirected into a file on the
(remote) host, which can be treated further by the Python code in later
steps.
2024-09-28 12:52:59 +02:00
Robert Schmidt fc0bc2357c Modify all YAML files to work with .env files from DeployObject() 2024-09-28 12:46:04 +02:00
Robert Schmidt 51bf5c0fc9 Introduce CI deployment tests based on OAI images 2024-09-28 12:46:04 +02:00
Robert Schmidt 5201a5c37a Reimplement DeployObject()/UndeployObject()
This reimplements the CI deployment functions, and makes them a bit more
robust.  Concretely:

- Introduce a generic "deployment tag" option that can be used to
  override the tag to use for specific images. By default, it is the
  current "branch-commitID[0:8]" tag name (requires the change from
  function ImageTagToUse() to CreateTag(), impacting also pull/push
  image functions)
- Avoid sed for image names, and use an .env file that docker-compose
  picks up automatically; the deployment analyzes a potentially existing
  .env file and updates instead of simply overriding. For instance, some
  pipelines might use -asan images for the gNB and "normal" (non-asan)
  images for UE, and a simple overwriting might make the -asan image
  name tag disappear for the gNB, resulting in deployment failures).
  Finally, undeployment removes the .env file, so that there are no
  modifications in the repository after undeployment.
- Redo the previous behavior of autodetecting asan, and use that (the
  current function always uses asan, no matter what)
- Remove deployKind/displayedNewTags globals, as they are not necessary
- Make the usedImage output in HTML slimmer
- On undeployment, print service names next to undeploy analysis, and
  return success/failure.
- Make the functions generally less verbose and easier to read

Note that as of and only in this commit, deployment does not work, as
all the YAML files have not been updated to work with this updated
version.  The next commit adds tests for the new deployment, and updates
one YAML file (also being used in the tests). The follow-up commit then
modifies all YAML files.
2024-09-28 12:46:04 +02:00
Robert Schmidt d81abdaf7b Reimplement Native Build (CI step Build_eNB)
The BuildeNB steps either does things that are already implemented
(created workspace), or things that we don't use (separate build_wait),
and is generally quite convoluted when all it does is calling build_oai.
Reimplement by reusing Create_Workspace, and make build_oai in a single
step. To clean up, make a new module in which this function does not
need a class instantiation. Instead, we give all necessary parameters
directly.
2024-09-28 12:45:34 +02:00
Robert Schmidt 3feaa93ba0 cls_cmd: print the host on which a command is executed 2024-09-28 12:45:34 +02:00
Robert Schmidt 0d63861bf1 cls_cmd.py: local copy: don't copy if src/tgt identical 2024-09-28 12:45:34 +02:00
Robert Schmidt f21b5d2ef4 CI: Add basic unittest for cls_cmd 2024-09-28 12:45:33 +02:00
Robert Schmidt 606e2c749a cls_cmd: execute commands through bash
The next commit will use "echo -e". The problem with that is that bash
and sh differ:

- in bash: this results in "a\nb" (a+newline+b)
- in sh: this results in -e a\nb (-e a+newline+b)

The problem is that by default, commands are executed through sh, which
nobody expects. Change to bash, which is likely more aligned with what
people want to use.
2024-09-28 12:45:33 +02:00
Robert Schmidt 5d5ade1697 Remove superfluous cleanup/terminate/teardown XMLs
After the previous commit, the CI will always do an undeployment step
even if the CI failed. Hence, these XMLs are not necessary anymore. Some
XMLs are updated to do what their "cleanup XML" counterparts did, such
as removing additional images.
2024-09-28 12:45:07 +02:00
Robert Schmidt 8bdc399b27 Remove AutoTerminateUEeNB() functions, use auto_exec to make CI always undeploy 2024-09-28 12:45:07 +02:00
Robert Schmidt 041b2b2d7a Remove prematureExit/exitStatus, and implement in task main loop
Use the previous commit on returning success from each task execution
function, and implement handling of errors in the main loop. Add a
script with which this is visible using Custom_Commands.
2024-09-28 12:45:07 +02:00
Robert Schmidt 7b89548867 Consistently return success true/false from task steps 2024-09-28 12:45:07 +02:00
Robert Schmidt e969ddb897 IdleSleep(): no need for class members 2024-09-28 12:45:07 +02:00
Robert Schmidt 71807db4ab Custom_Command(): no need for class members 2024-09-28 12:45:07 +02:00
Robert Schmidt 61ea76e7af Remove CI repeatCount XML property
The repeatCount property is useless: it would be enough to specify the
same XML multiple times to achieve the same thing.
2024-09-28 12:45:07 +02:00
Robert Schmidt 77a8f5fa99 Basic test runner script 2024-09-28 12:45:07 +02:00
Robert Schmidt d108648312 Handle parameter reading and test case execution together
For reasons I don't understand, the XML option reading and actual test
case execution are at different places in the code. This is problematic,
because what this led to is that options are not passed as function
arguments, but indirectly through class members. This led to a lot of
"indirect code"; it's a total mess

To improve this, move them together, so that parameters can be passed
directly as function arguments later on.

Because we reference the globals, mark them inside
ExecuteActionWithParam(). That is a Python antipattern, but necessary at
this moment. I believe that we can remove the following globals over
time:

- SSH (with new cls_cmd, which we don't need to pass)
- EPC (replaced through a class similar to ue_module, i.e., refer to
  core networks on specific hosts through an ID, instead of a global)
- HTML (should use templating, where individual functions give back a
  dictionary of what they want to print, and a final pass assembles the
  entire HTML file)
- RAN/SCA/PHYSIM/CLUSTER/ldpc (can be replaced with stateless scripts
  build/run eNB/gNB on a specific node)
2024-09-28 12:45:07 +02:00
Robert Schmidt 0da2f27fa7 CI Ping/Iperf: add tests, print without lock, reduce code lines
Add some basic unit tests to verify that Iperf/Ping work. Harmonize the
logging by only print in the "main" iperf/ping function, to avoid that
if we test with multiple UEs, the output intermixes. Also, do one common
mkdir before starting multiple pings/iperfs. Finally, harmonize the
paths so that Iperf and Ping log their files in the same place.
2024-09-28 12:45:07 +02:00
Robert Schmidt 02d5f953a8 Add simple unit test cases for Deployment, including instructions 2024-09-27 19:59:54 +02:00
Robert Schmidt 25f7f61d73 Simplify GetContainerHealth(): we never use unhealthy count 2024-09-27 19:59:54 +02:00
Robert Schmidt 4bf7c45be1 SSHConnection class: don't exit, raise Exception to have main loop handle 2024-09-27 19:59:54 +02:00
Robert Schmidt 1620994f0a DeployObject: EPC not needed 2024-09-27 19:59:54 +02:00
Robert Schmidt 7c1920aea9 Fixup: no HTML in create_workspace, so can't print to HTML 2024-09-27 19:59:54 +02:00
Robert Schmidt 6f868b038f Remove more unused CI files 2024-09-27 19:59:54 +02:00
Robert Schmidt cded721189 Remove unused CI XML and Python code 2024-09-27 19:50:41 +02:00
Robert SchmidtandGuido Casati 57ecb11d53 Use F1AP lib Init UL RRC Msg in stack
Co-authored-by: Guido Casati <hello@guidocasati.com>
2024-09-27 11:22:03 +02:00
Robert SchmidtandGuido Casati ca6eb7bd10 Add message enc&dec for F1AP Initial UL RRC msg, and test
Co-authored-by: Guido Casati <hello@guidocasati.com>
2024-09-27 11:22:03 +02:00
Robert Schmidt 28e30d24f7 Remove unused CI StatsFromGenObject() 2024-09-26 16:53:04 +02:00
Robert Schmidt de2bf7ad8b Remove unused CI CaptureOnDockerNetworks() 2024-09-26 16:53:04 +02:00
Robert Schmidt b9e56104d8 Remove unused CI code 2024-09-26 16:53:04 +02:00
Robert Schmidt 29383373de Remove unused code 2024-09-26 16:53:04 +02:00
Robert Schmidt c5f090c23d Remove useless rm log 2024-09-26 16:53:04 +02:00
Robert Schmidt 87d28848dd Remove useless log: we see it in iperf call, and the XML 2024-09-26 16:53:04 +02:00
Robert Schmidt ab27d02e1c Add new F1AP msg enc&dec library
Add a new target f1ap_lib that groups F1AP ASN.1 encoding&decoding for
messages defined f1ap_messages_types.h. The objective is to, for each
F1AP message,
- add encoder&decoder (similar to what already exists, but without
  mandatory message sending afterwards)
- eq_X() function that checks two messages for equality (to be used
  mostly in tests)
- cp_X() function that deep-copies a message, e.g., to be used when
  sending ITTI messages, instead of manual copying done currently
- free_X() function that frees the memory associated to a memory, to
  avoid memory leaks.

Each message will be tested, notably that encoding&decoding as well as
copying yield identical messages.

The actual message encoding & decoding, tests, and their use will be
done in the forthcoming commits.
2024-09-25 17:15:48 +02:00
Robert SchmidtandGuido Casati ba208c0fc2 Group 5G platform types for common 5G-specific types
Co-authored-by: Guido Casati <hello@guidocasati.com>
2024-09-25 16:00:32 +02:00
Robert SchmidtandGuido Casati ea28b9bb5b F1AP: RLC mode: introduce separate type
The currently used type does not cover all possibilities. While we don't
encode&decode them, it might still be good to be able to express it, so
introduce the new type.

Co-authored-by: Guido Casati <hello@guidocasati.com>
2024-09-25 15:56:03 +02:00
Robert Schmidt 4b5ea6dcf8 Fix header inclusion: NGAP message types depends on S1AP 2024-09-25 15:38:41 +02:00
Robert Schmidt c9da5aabff Use primitive type for TEID
teid_t is defined in platfrom_types.h, which defines a bunch of
4G-specific things. In an attempt to decouple from 4G types, do not use
it.
2024-09-25 15:38:41 +02:00
Robert SchmidtandGuido Casati bacf713299 Use char * for DU/CU IP address
The previously used net_ip_address_t type is limited to some bytes, but
the CU name might be longer. Use char * to allow longer DNS names.

Also, this type separates IPv4/v6, which is not necessary, as it is now
handled by the same C API (getaddrinfo()), since !2635.

Co-authored-by: Guido Casati <hello@guidocasati.com>
2024-09-25 15:38:41 +02:00
Robert Schmidt ec2afa22b1 Fix: egrep is obsolescent, use grep -E
See e.g., egrep(1) [https://linux.die.net/man/1/egrep]:

> two variant programs egrep and fgrep are available. egrep is the same
> as grep -E. fgrep is the same as grep -F. Direct invocation as either
> egrep or fgrep is deprecated

See also the rationale of the POSIX description of grep
(https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html):

> This grep has been enhanced in an upwards-compatible way to provide
> the exact functionality of the historical egrep and fgrep commands as
> well. It was the clear intention of the standard developers to
> consolidate the three greps into a single command.

Closes: #839
2024-09-23 12:19:49 +02:00
Robert Schmidt 40bde2ae75 Jenkinsfiles: Print if an XML file is not present 2024-09-23 12:19:49 +02:00
Robert Schmidt de310c6e82 Remove unused CI Jenkinsfiles
As of now, these seem to be the Jenkinsfiles used on Jenkins

ci-scripts/Jenkinsfile-cluster
ci-scripts/Jenkinsfile-colosseum
ci-scripts/Jenkinsfile-GitLab-Container
ci-scripts/Jenkinsfile-GitLab-COTS-UE-Test
ci-scripts/Jenkinsfile-nrue
ci-scripts/Jenkinsfile-physim-deploy
ci-scripts/Jenkinsfile-push-registry
ci-scripts/Jenkinsfile-tmp-full-ran
ci-scripts/Jenkinsfile-tmp-multi-enb
ci-scripts/Jenkinsfile-tmp-multi-enb-nsa
ci-scripts/Jenkinsfile-tmp-ran

(gather all files in a file, then cat <file> | sort | uniq)

Remove all others.
2024-09-23 12:19:49 +02:00
Robert Schmidt 4a9944bf06 Remove unused OaiCiTest class members 2024-09-23 12:19:49 +02:00
Robert Schmidt 3e2ee3878e Remove unused python files 2024-09-23 12:19:49 +02:00
Robert Schmidt 6147a83f0b Remove unused Perform_X2_Handover XML step: no XML uses this 2024-09-23 12:19:49 +02:00
Robert Schmidt ec64826fde Remove unused Terminate_OAI_UE XML step: no XML uses this
- Fix Jenkinsfile-tmp-full-ran: python test stage TerminateOAIUE() has been removed
2024-09-23 12:19:38 +02:00
Robert SchmidtandSagar Arora 68c28a4828 Modify default xran DPDK socket memory/limit to 0
The default values set by xran for DPDK socket memory/limit is 8192. It
is changed when the variable for the memory size, given down to xran, is
non-zero (cf also previous patch). Since the last patch, if nothing is
given in OAI configuration, OAI will pass down a size of 8192. However,
a configuration value of 0 is a valid choice (it is a pre-allocation,
DPDK will allocate dynamically), so modify the default in xran to be 0
so that all sizes, including 0, can be given to DPDK.

Note that the currently used implementation of xran will always try to
allocate this memory on NUMA node 0. If you want to use another one,
this field has to be set to 0 (no pre-allocation), and DPDK will
allocate it dynamically.

Co-authored-by: Sagar Arora <sagar.arora@openairinterface.org>
2024-09-21 07:12:07 +02:00
Robert Schmidt 513f0beb37 Parse xran version strings for Bronze, E, F 2024-09-21 07:12:07 +02:00
Robert Schmidt 645e9dd3cd fhi_72: allow to provide dpdk_mem_size to xran
xran has a mechanism to request DPDK to allocate a configurable amount
of bytes for huge pages. We set it to 0 until now; expose this variable
through configuration, and provide a meaningful default 8192 MiB.
Provide documentation.
2024-09-21 07:12:06 +02:00
Robert Schmidt 2932551f2c Update 5G-OTA testbench image: add aerial, fhi72 2024-09-20 18:08:20 +02:00
Robert Schmidt 952052127a Avoid ubsan error
like this:

  /oai-ran/openair3/SECU/snow3g.c:429:23: runtime error: left shift of 232 by 24 places cannot be represented in type 'int'
2024-09-19 10:47:46 +02:00
Robert Schmidt 06ec6150a1 Update latest SIMDE version
Build on ARM fails in the previous version, while the current master
(1a09d3bc) works. So let's update to a newer version to avoid problems
on ARM, and assuming x86 works.
2024-09-18 19:23:05 +02:00
Robert Schmidt 99226fc66c Remove unused Initialize_OAI_UE XML step: no XML uses this 2024-09-18 15:13:13 +02:00
Robert Schmidt aeb6442f71 Remove unused Build_OAI_UE XML step: no XML uses this 2024-09-18 15:13:13 +02:00
Robert Schmidt 85efd54f3b Remove unused CI Test XML files
As of now, these XMLs seem to be used:

  xml_files/cluster_image_build.xml
  xml_files/container_4g_l2sim_tdd_down.xml
  xml_files/container_4g_l2sim_tdd.xml
  xml_files/container_4g_rfsim_down.xml
  xml_files/container_4g_rfsim_fdd_05MHz_down.xml
  xml_files/container_4g_rfsim_fdd_05MHz_noS1_down.xml
  xml_files/container_4g_rfsim_fdd_05MHz_noS1.xml
  xml_files/container_4g_rfsim_fdd_05MHz.xml
  xml_files/container_4g_rfsim_fdd_10MHz_down.xml
  xml_files/container_4g_rfsim_fdd_10MHz.xml
  xml_files/container_4g_rfsim_fdd_20MHz_down.xml
  xml_files/container_4g_rfsim_fdd_20MHz.xml
  xml_files/container_4g_rfsim_fembms_down.xml
  xml_files/container_4g_rfsim_fembms.xml
  xml_files/container_4g_rfsim_mbms_down.xml
  xml_files/container_4g_rfsim_mbms.xml
  xml_files/container_4g_rfsim.xml
  xml_files/container_5g_e1_rfsim_down.xml
  xml_files/container_5g_e1_rfsim.xml
  xml_files/container_5g_f1_rfsim_down.xml
  xml_files/container_5g_f1_rfsim.xml
  xml_files/container_5g_fdd_rfsim_down.xml
  xml_files/container_5g_fdd_rfsim.xml
  xml_files/container_5g_flexric_rfsim_down.xml
  xml_files/container_5g_flexric_rfsim.xml
  xml_files/container_5g_l2sim_proxy.xml
  xml_files/container_5g_l2sim_tdd_down.xml
  xml_files/container_5g_l2sim_tdd.xml
  xml_files/container_5g_rfsim_24prb_down.xml
  xml_files/container_5g_rfsim_24prb.xml
  xml_files/container_5g_rfsim_2x2_down.xml
  xml_files/container_5g_rfsim_2x2.xml
  xml_files/container_5g_rfsim_down.xml
  xml_files/container_5g_rfsim_f1_accelleran_down.xml
  xml_files/container_5g_rfsim_f1_accelleran.xml
  xml_files/container_5g_rfsim_fdd_phytest_down.xml
  xml_files/container_5g_rfsim_fdd_phytest.xml
  xml_files/container_5g_rfsim_fr2_32prb_down.xml
  xml_files/container_5g_rfsim_fr2_32prb.xml
  xml_files/container_5g_rfsim_ntn_geo_down.xml
  xml_files/container_5g_rfsim_ntn_geo.xml
  xml_files/container_5g_rfsim_sidelink_down.xml
  xml_files/container_5g_rfsim_sidelink.xml
  xml_files/container_5g_rfsim_tdd_dora_down.xml
  xml_files/container_5g_rfsim_tdd_dora.xml
  xml_files/container_5g_rfsim_u0_25prb_down.xml
  xml_files/container_5g_rfsim_u0_25prb.xml
  xml_files/container_5g_rfsim.xml
  xml_files/container_image_build_cross.xml
  xml_files/container_image_build.xml
  xml_files/container_l2sim_proxy.xml
  xml_files/container_lte_b200_fdd_05Mhz_tm1_if4_5.xml
  xml_files/container_lte_b200_fdd_05Mhz_tm1_no_rrc_activity.xml
  xml_files/container_lte_b200_fdd_05Mhz_tm1.xml
  xml_files/container_lte_b200_fdd_10Mhz_tm1_cdrx.xml
  xml_files/container_lte_b200_fdd_10Mhz_tm1_oaiue_cleanup.xml
  xml_files/container_lte_b200_fdd_10Mhz_tm1_oaiue.xml
  xml_files/container_lte_b200_fdd_10Mhz_tm1.xml
  xml_files/container_lte_b200_fdd_20Mhz_tm1.xml
  xml_files/container_lte_b200_fdd_cleanup.xml
  xml_files/container_lte_b200_tdd_05Mhz_tm1_if4_5.xml
  xml_files/container_lte_b200_tdd_05Mhz_tm1.xml
  xml_files/container_lte_b200_tdd_10Mhz_tm1.xml
  xml_files/container_lte_b200_tdd_20Mhz_tm1_default_scheduler.xml
  xml_files/container_lte_b200_tdd_20Mhz_tm1.xml
  xml_files/container_lte_b200_tdd_cleanup.xml
  xml_files/container_lte_n3xx_tdd_2x2_tm1.xml
  xml_files/container_lte_n3xx_tdd_2x2_tm2.xml
  xml_files/container_nsa_b200_quectel.xml
  xml_files/container_nsa_b200_terminate.xml
  xml_files/container_sa_aerial_quectel_cleanup.xml
  xml_files/container_sa_aerial_quectel.xml
  xml_files/container_sa_aw2s_2x2_asue.xml
  xml_files/container_sa_aw2s_asue_cleanup.xml
  xml_files/container_sa_aw2s_asue.xml
  xml_files/container_sa_b200_quectel.xml
  xml_files/container_sa_b200_terminate.xml
  xml_files/container_sa_e1_b200_quectel.xml
  xml_files/container_sa_e1_b200_terminate.xml
  xml_files/container_sa_f1_b200_quectel.xml
  xml_files/container_sa_f1_b200_terminate.xml
  xml_files/container_sa_fhi72_benetel_asue_cleanup.xml
  xml_files/container_sa_fhi72_benetel_asue.xml
  xml_files/container_sa_fhi72_vvdn_up2_cleanup.xml
  xml_files/container_sa_fhi72_vvdn_up2.xml
  xml_files/container_sa_n310_2X2_100MHz_cleanup.xml
  xml_files/container_sa_n310_2X2_100MHz_quectel.xml
  xml_files/container_sa_n310_2X2_60MHz_cleanup.xml
  xml_files/container_sa_n310_2X2_60MHz_quectel.xml
  xml_files/container_sa_n310_nrue_cleanup.xml
  xml_files/container_sa_n310_nrue.xml
  xml_files/container_sa_sc_b200_quectel.xml
  xml_files/container_sa_sc_b200_terminate.xml
  xml_files/cppcheck.xml
  xml_files/fr1_5gc_closure.xml
  xml_files/fr1_5gc_start.xml
  xml_files/fr1_cn5g_basic_deploy.xml
  xml_files/fr1_cn5g_basic_undeploy.xml
  xml_files/fr1_enb_build.xml
  xml_files/fr1_epc_closure.xml
  xml_files/fr1_epc_start.xml
  xml_files/fr1_oai_cn_deploy.xml
  xml_files/fr1_oai_cn_undeploy.xml
  xml_files/gnb_phytest_usrp_run_100_2x2.xml
  xml_files/gnb_phytest_usrp_run_60_2x2.xml
  xml_files/gnb_phytest_usrp_run_60.xml
  xml_files/gnb_phytest_usrp_run.xml
  xml_files/gnb_usrp_build.xml
  xml_files/ldpc_gpu_test.xml
  xml_files/lte_2x2_tm1_quectel.xml
  xml_files/lte_2x2_tm2_quectel.xml
  xml_files/lte_oai_cn_deploy.xml
  xml_files/lte_oai_cn_undeploy.xml
  xml_files/physim_deploy_run.xml
  xml_files/sa_cn5g_20897_closure.xml
  xml_files/sa_cn5g_20897_start.xml
  xml_files/sa_cn5g_closure.xml
  xml_files/sa_cn5g_start.xml
  xml_files/t1_offload_test.xml
  xml_files/t2_offload_dec_nr_ulsim.xml
  xml_files/t2_offload_enc_nr_dlsim.xml

Obtained by going through all RAN pipelines, copying out the XMLs of all
pipelines, then doing

  cat xml.dump | sort | uniq
2024-09-18 15:13:13 +02:00
Robert Schmidt 93a8bb4032 Clarification on how often we want to make releases 2024-09-16 13:45:13 +02:00
Robert Schmidt 1696d28e0d Add 5G/NR MAC documentation 2024-09-16 10:58:43 +02:00
Robert Schmidt 6a4ceb2921 Print deltaMCS dB information 2024-09-16 09:47:24 +02:00