Commit Graph
27864 Commits
Author SHA1 Message Date
Guido CasatiandArash Sahbafard 3438d45d6c Add tutorial about how to run multiple UEs
* multiple UEs with namespaces (provided new script)
* multiple UEs with Docker UEs
* updated rfsimulator and channel simulation tutorials
* updated README.md

Co-authored-by: Arash Sahbafard <arash.sahbafard@silicon-austria.com>
2024-12-05 13:50:36 +01:00
Robert Schmidt 03946cd47b Merge branch 'integration_2024_w47' into 'develop'
Integration: `2024.w47`

See merge request oai/openairinterface5g!3120

* !2972 Parallelize PUSCH channel estimation
* !3105 Fix a small bug with total_res in gNB PUSCH symbol processing
* !2996 Ue monitoring stats
* !3122 Avoid assert on non-implemented SM write callback
* !3110 Fronthaul 7.2 improvements (1. step towards M-plane integration)
* !2966 Refactor of includes in gNB/UE for improved header management
* !3123 Reduce double-usage of CI XML files
* !3029 NR UE RRC reconfiguration improvements
* !2670 chore(ci): adding Flexric-RAN integration test
* !3124 CI: use OC CN in aerial pipeline
2024-11-27 08:16:32 +00:00
Jaroslava Fiedlerova b8b4057e9c Merge remote-tracking branch 'origin/ci-aerial-change-cn' into integration_2024_w47 (!3124)
CI: use OC CN in aerial pipeline

Replace CN host on Aerial CI pipeline (Porcepix) with OC.
2024-11-26 11:37:45 +01:00
Jaroslava Fiedlerova d337304e13 Merge remote-tracking branch 'origin/ci-flexric-integration-test' into integration_2024_w47 (!2670)
chore(ci): adding Flexric-RAN integration test

- Triggering a standalone FLEXRIC + 5G-RAN pipeline: OAI-FLEXRIC-RAN-Integration-Test
  - will be triggered by the RAN-Container-Parent
  - but also by the OAI-FLEXRIC pipeline (to be done once integrated)
- Added an new python option: --FlexRicTag= than if not used, won't have any effect
- Nice addition:
  - if --FlexRicTag=develop or --ranCommitID=develop  --> will use the latest commit
    on either dev or develop branch.
- Scenario-wise
  - Using the cn5g deployment file from Luis in documentation, at least we will use
    it to make sure it is working at all time
- We can add more test and especially checkers on the flexric calls

Linked to !3085 (merged)
2024-11-26 10:53:17 +01:00
Jaroslava Fiedlerova dbc8fd4956 CI: increase timeout for OC CN deployment
Occasionally, the CN deployment takes longer than 60 seconds to complete
successfully. As a result, the CI reports failure, even when all other test
stages pass (e.g., gNB attaches to the CN, UE connects, and iperf tests succeed).
2024-11-26 10:29:14 +01:00
Jaroslava Fiedlerova bbfd3c6174 CI: use OC CN in aerial pipeline
Replace current docker deployment of OAI CN by deployment on OC. With change
of the CN, we also need to change the routing for UE module - change the
mbim script for controling the UE.
2024-11-26 10:26:25 +01:00
Raphael Defosseux 14c0d6b347 CI: Add FlexRIC test 2024-11-26 09:44:23 +01:00
Jaroslava Fiedlerova 683a39c982 Merge remote-tracking branch 'origin/NR_UE_RRC_Reconfiguration_improvements' into integration_2024_w47 (!2996)
Improvements in handling RRC Reconfiguration at UE
2024-11-26 09:39:44 +01:00
Jaroslava Fiedlerova 8b7b918c49 Merge remote-tracking branch 'origin/ci-reduce-duplicate-xml-usage' into integration_2024_w47 (!3123)
Reduce double-usage of CI XML files

Some pipelines use the same XML files. For instance,
RAN-NSA-B200-Module-LTEBOX-Container and RAN-LTE-{TDD,FDD}-LTEBOX-Container
use both fr1_epc_{closure,start}.xml, but use the core network on different
hosts, by means of different pipeline configuration (EPCtype, etc).

A future MR will remove these additional pipeline configuration, and store
all the CN config in the repository. To simplify the transition, duplicate
some XMLs (i.e., remove duplicate usage of them).

After this MR, the only "double usage" of XML files for core (un-)deployment
should be through pipelines RAN-LTE-{TDD,FDD}-LTEBOX-Container.
2024-11-26 09:32:20 +01:00
Jaroslava Fiedlerova a9060cd382 Merge remote-tracking branch 'origin/nr-cleanup-includes' into integration_2024_w47 (!2966)
Refactor of includes in gNB/UE for improved header management

This merge request implements changes suggested by the Include What You Use
(IWYU) open source tool to streamline the project’s header file usage.

The adjustments ensure that each file includes only the necessary headers for
the symbols it uses, making the code more efficient and maintainable.
Unnecessary includes have been removed, and missing headers have been added
where required. This improves modularity and reduces inter-dependencies between
files, helping to avoid future build issues caused by unused or missing includes.

Each output has been manually reviewed.

Followed a similar approach as in !2953 (merged).

Affected folders/files:

- NR_MAC_gNB/main.c
- nr-softmodem.c
- unitary simulators: nr_dlsim, nr_ulsim, prachsim
- openair2/RRC/NR
- openair3/NGAP
- openair2/LAYER2/nr_pdcp
- openair2/SDAP/nr_sdap
2024-11-26 09:26:28 +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
francescomani 3c6a588ed7 reworking scheduling of SIB other than 1, including storing the information at MAC 2024-11-25 17:23:32 +01:00
francescomani 216c42358b remove unnecessary storage of SIBs structures at RRC 2024-11-25 17:23:27 +01:00
Jaroslava Fiedlerova e04ff5efb0 Merge remote-tracking branch 'origin/fhi-72-improvements' into integration_2024_w47 (!3110)
Fronthaul 7.2 improvements (1. step towards M-plane integration)

- added explanations for each parameter used for XRAN library
- added new config files for VVDN, Benetel 550 and Metanoia RUs
- changed config file for Benetel 650
- deleted 8x8 650-550, and added 8x8 650-650 config file
- updated FHI README
  - setting one or more VFs; compatibility with Mellanox NIC as well
  - fhi_72 section
2024-11-25 16:42:31 +01:00
Jaroslava Fiedlerova f36eda1608 Merge remote-tracking branch 'origin/ran-func-no-assert' into integration_2024_w47 (!3122)
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.
2024-11-25 16:41:10 +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
Teodora b334feb92b Update gNB fhi_72 configuration steps in README 2024-11-25 14:40:25 +01:00
Teodora b55ee54183 Update steps for configuring VF(s) in README
- add option to configure one or two VFs
  - add support for Mellanox NIC
2024-11-25 14:40:19 +01:00
Jaroslava Fiedlerova 5b6e16c8e7 Merge remote-tracking branch 'origin/ue-monitoring-stats' into integration_2024_w47 (!2996)
Ue monitoring stats

- one commit to add UE mac stats similar to gNB one and remove a partial
implementation at phy level of some counters
- second commit only rename the two UE persisted HARQ tyepdef names for DL
and for UL (one was saying "UE" but not the direction and the second the
direction but not "UE")
2024-11-25 11:27:22 +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
francescomani 086ac79830 improvements in handling reconfigurationWithSync 2024-11-25 10:35:05 +01:00
francescomani 9ca0b133ec resume RBs in 1st reconfiguration after reestablishment 2024-11-25 10:35:05 +01:00
francescomani 9a4f12b881 handling dedicated system information via RRC Reconfiguration 2024-11-25 10:35:05 +01:00
francescomani 59403e5b01 adding assertion for reportUplinkTxDirectCurrent 2024-11-25 10:35:05 +01:00
francescomani 2beb7fd8a8 adding error messages for field not handled yet by RRC UE in Reconfiguration 2024-11-25 10:35:05 +01:00
francescomani 1867aa928a remove unnecessary declaration of nr_rrc_ue_process_rrcReconfiguration 2024-11-25 10:35:05 +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
Jaroslava Fiedlerova e531043128 Merge remote-tracking branch 'origin/fix-extraneous-threadpool-tasks' into integration_2024_w47 (!3105)
Fix a small bug with total_res in gNB PUSCH symbol processing

Replaced total_res with res_per_task when deciding whether to start a threadpool
task or not. This does not have big impact on the software as the
nr_pusch_symbol_processing will recheck ul_valid_re_per_slot anyway but it may
reduce the number of thread pool tasks created.
2024-11-22 15:50:40 +01:00
Jaroslava Fiedlerova 45fff9fc0f Merge remote-tracking branch 'origin/dmrs_channel_estimation_parallelization' into integration_2024_w47 (!2972)
Parallelize PUSCH channel estimation

This MR adds PUSCH channel estimation parallelization which reduces the
processing time. It also adds time measurements for each antenna and makes
num_antennas_per_thread configurable in nr_ulsim and the gNB config file.

Some results:

- **273 PRBs 4 antennas** `./nr_ulsim -n200 -m25 -s40 -S40 -q1 -R273 -r273 -z4 -P`

| Number of threads | ULSCH channel estimation time (us) develop| ULSCH channel estimation time (us)| Antenna Processing time (us) |
| ------            | ------                                    | ------                            | ------ |
| 0                 | 194.06                                    |193.17                             |  134.82|
| 2                 | 194.88                                    |154.02                             |  93.43 |
| 4                 | 195.23                                    |134.27                             |   72.71|
- **273 PRBs 8 antennas** `./nr_ulsim -n200 -m25 -s40 -S40 -q1 -R273 -r273 -z8 -P`

| Number of threads | ULSCH channel estimation time (us) develop| ULSCH channel estimation time (us)| Antenna Processing time (us) |
| ------            | ------                                    | ------                            | ------ |
| 0                 | 387.93                                    |384.99                             |  269.39|
| 2                 | 388.10                                    |279.47                             |  161.32|
| 4                 | 387.47                                    |225.37                             |  106.52|
| 8                 | 390.53                                    |204.48                             |   83.74|

- **106 PRBs MIMO 4 layers** `./nr_ulsim -n100 -m9 -r106 -s10 -W4 -y4 -z4 -P`

| Number of threads | ULSCH channel estimation time (us) develop| ULSCH channel estimation time (us)| Antenna Processing time (us) |
| ------            | ------                                    | ------                            | ------ |
| 0                 | 263.20                                    |268.97                             |  57.49 |
| 2                 | 263.90                                    |252.61                             |  51.22 |
| 4                 | 264.17                                    |192.49                             |  36.29 |
2024-11-22 15:48:12 +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
Teodora 4ed939e4a9 Correct CI VVDN 4x4 100MHz config file 2024-11-22 12:51:46 +01:00
Teodora 6a810f154d Correct CI Benetel 550 4x4 100MHz config file 2024-11-22 12:51:46 +01:00
Teodora d27dd1554d Change 8x8 100MHz Benetel config file
- 650-550 config file deleted
  - 650-650 config file added
2024-11-22 12:51:46 +01:00
Teodora 1121d86e76 Change 4x4 100MHz Benetel 650 config file 2024-11-22 12:51:46 +01:00
Teodora c2d169094f Add 4x4 100MHz Metanoia config file 2024-11-22 12:51:46 +01:00
Teodora 6dfa051ecd Add 4x4 40MHz VVDN config file 2024-11-22 12:51:46 +01:00
Teodora 83367ee7ff Add 2x2 100MHz VVDN config file 2024-11-22 12:51:46 +01:00
Teodora cd259132f1 Add 4x2 100MHz Benetel550 config file 2024-11-22 12:51:46 +01:00
Teodora c58ab971af Update fhi_72 section in config files 2024-11-22 12:51:46 +01:00
Teodora d246520f77 Correct LITEON config file
- remove useless whitespaces
  - add comments for used frequencies
2024-11-22 12:51:46 +01:00
Teodora 31613ec8bc Correct VVDN config file
- add frequency values (center frequency, SSB and point A)
  - CN interface fixed
  - adjust puxch_TargetSNRx10, and ru_thread_core
2024-11-22 12:51:46 +01:00
Teodora 306e7538d9 Correct Benetel550 config file
- match PLMN to CN
  - correct frequency point A to match desired center frequency
  - adjust puxch_TargetSNRx10
2024-11-22 12:51:46 +01:00
Teodora f30453968f xran integration improvements
- identification of each parameter in fh_init and fh_config structs
  - identification of unused parameters in xran library
  - identification of parameters used for CAT A O-RU
  => CAT B not supported in this release
2024-11-22 12:51:39 +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