Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
OpenXG
OpenXG-RAN
Commits
a6687b60
Commit
a6687b60
authored
Mar 09, 2026
by
Jaroslava Fiedlerova
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
CI: Add FHI72 2x2 phytest on cacofonix
parent
b400d1ee
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
219 additions
and
0 deletions
+219
-0
ci-scripts/datalog_rt_stats.100.2x2.fhi72.cacofonix.yaml
ci-scripts/datalog_rt_stats.100.2x2.fhi72.cacofonix.yaml
+28
-0
ci-scripts/xml_files/gnb_phytest_fhi7.2_docker_cacofonix.xml
ci-scripts/xml_files/gnb_phytest_fhi7.2_docker_cacofonix.xml
+97
-0
ci-scripts/yaml_files/phytest_fhi72_cacofonix/docker-compose.yaml
...ts/yaml_files/phytest_fhi72_cacofonix/docker-compose.yaml
+47
-0
ci-scripts/yaml_files/phytest_fhi72_cacofonix/setup_cleanup.sh
...ripts/yaml_files/phytest_fhi72_cacofonix/setup_cleanup.sh
+5
-0
ci-scripts/yaml_files/phytest_fhi72_cacofonix/setup_config.sh
...cripts/yaml_files/phytest_fhi72_cacofonix/setup_config.sh
+4
-0
ci-scripts/yaml_files/phytest_fhi72_cacofonix/setup_sriov_dummy.sh
...s/yaml_files/phytest_fhi72_cacofonix/setup_sriov_dummy.sh
+38
-0
No files found.
ci-scripts/datalog_rt_stats.100.2x2.fhi72.cacofonix.yaml
0 → 100644
View file @
a6687b60
#this is a configuration file
#used to build real time processing statistics
#for 5G NR phy test (gNB terminate)
Title
:
Processing Time (us) from datalog_rt_stats.4x4.fhi72.yaml
ColNames
:
-
Metric
-
Average; Max; Count
-
Average vs Reference Deviation (Reference Value; Acceptability Deviation Threshold)
Ref
:
tx_fhaul
:
73.0
feptx_prec (per port, half_slot)
:
46.0
L1 Tx processing
:
371.7
DLSCH encoding
:
196.9
L1 Rx processing
:
578.0
UL segments decoding
:
81.2
UL Indication
:
0.4
Slot Indication
:
14.3
PUSCH inner-receiver
:
739.4
DeviationThreshold
:
tx_fhaul
:
0.25
feptx_prec (per port, half_slot)
:
0.25
L1 Tx processing
:
0.25
DLSCH encoding
:
0.25
L1 Rx processing
:
0.25
UL segments decoding
:
0.25
UL Indication
:
1.00
Slot Indication
:
0.50
PUSCH inner-receiver
:
0.25
ci-scripts/xml_files/gnb_phytest_fhi7.2_docker_cacofonix.xml
0 → 100644
View file @
a6687b60
<!--
Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The OpenAirInterface Software Alliance licenses this file to You under
the OAI Public License, Version 1.1 (the "License"); you may not use this file
except in compliance with the License.
You may obtain a copy of the License at
http://www.openairinterface.org/?page_id=698
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
For more information about the OpenAirInterface (OAI) Software Alliance:
contact@openairinterface.org
-->
<testCaseList>
<htmlTabRef>
gNB-PHY-Test-100-4x4-FHI72
</htmlTabRef>
<htmlTabName>
Timing phytest 100 MHz 4x4 FHI7.2
</htmlTabName>
<htmlTabIcon>
tasks
</htmlTabIcon>
<testCase>
<class>
Custom_Script
</class>
<desc>
Configure system for low-latency RT performance
</desc>
<node>
cacofonix
</node>
<script>
yaml_files/phytest_fhi72_cacofonix/setup_config.sh
</script>
</testCase>
<testCase>
<class>
Pull_Local_Registry
</class>
<desc>
Pull Images from Local Registry
</desc>
<node>
cacofonix
</node>
<images>
oai-gnb-fhi72
</images>
</testCase>
<testCase>
<class>
Create_Workspace
</class>
<desc>
Create new Workspace
</desc>
<node>
cacofonix
</node>
</testCase>
<testCase>
<class>
Deploy_Object
</class>
<desc>
Initialize gNB FHI7.2
</desc>
<node>
cacofonix
</node>
<yaml_path>
ci-scripts/yaml_files/phytest_fhi72_cacofonix
</yaml_path>
<services>
oai-gnb
</services>
</testCase>
<testCase>
<class>
IdleSleep
</class>
<desc>
Sleep
</desc>
<idle_sleep_time_in_sec>
60
</idle_sleep_time_in_sec>
</testCase>
<testCase>
<class>
AnalyzeRTStats_Object
</class>
<desc>
Analyze Real-Time Stats
</desc>
<stats_cfg>
datalog_rt_stats.100.2x2.fhi72.cacofonix.yaml
</stats_cfg>
<service>
oai-gnb
</service>
<node>
cacofonix
</node>
</testCase>
<testCase>
<class>
Undeploy_Object
</class>
<node>
cacofonix
</node>
<always_exec>
true
</always_exec>
<desc>
Terminate gNB
</desc>
<yaml_path>
ci-scripts/yaml_files/phytest_fhi72_cacofonix
</yaml_path>
<analysis>
<services>
oai-gnb=EndsWithBye
</services>
</analysis>
</testCase>
<testCase>
<class>
Clean_Test_Server_Images
</class>
<always_exec>
true
</always_exec>
<desc>
Clean Test Images on Test Server
</desc>
<node>
cacofonix
</node>
<images>
oai-gnb-fhi72
</images>
</testCase>
<testCase>
<class>
Custom_Script
</class>
<always_exec>
true
</always_exec>
<desc>
Set CPU to idle state, set kernel parameters to default values
</desc>
<node>
cacofonix
</node>
<script>
yaml_files/phytest_fhi72_cacofonix/setup_cleanup.sh
</script>
</testCase>
</testCaseList>
ci-scripts/yaml_files/phytest_fhi72_cacofonix/docker-compose.yaml
0 → 100644
View file @
a6687b60
services
:
dpdk-init
:
image
:
docker.io/library/oai-dpdk-init:latest
network_mode
:
host
container_name
:
dpdk-init
entrypoint
:
"
/tmp/setup_sriov.sh"
privileged
:
true
devices
:
-
/dev/vfio:/dev/vfio/
volumes
:
-
./setup_sriov_dummy.sh:/tmp/setup_sriov.sh
-
/lib/modules:/lib/modules
-
/usr/lib/modules:/usr/lib/modules
oai-gnb
:
image
:
${REGISTRY-oaisoftwarealliance/}${GNB_IMG:-oai-gnb-fhi72}:${TAG:-develop}
container_name
:
oai-gnb-phytest
cap_add
:
-
IPC_LOCK
-
SYS_NICE
cap_drop
:
-
ALL
environment
:
USE_ADDITIONAL_OPTIONS
:
--phy-test -q -M 273 -m 27 -l 2 -D 231 -T 273 -t 16 -L 2 -U 528 --log_config.global_log_options level,nocolor,time --thread-pool 7,8,9,10,11,12
devices
:
-
/dev/vfio:/dev/vfio/
volumes
:
-
../../conf_files/gnb.sa.band77.273prb.fhi72.4x4-vvdn.conf:/opt/oai-gnb/etc/gnb.conf
-
/dev/hugepages:/dev/hugepages
cpuset
:
"
0-12"
networks
:
[
"
public_net"
]
depends_on
:
dpdk-init
:
condition
:
service_completed_successfully
healthcheck
:
test
:
/bin/bash -c "pgrep nr-softmodem"
interval
:
10s
timeout
:
5s
retries
:
5
networks
:
public_net
:
driver
:
bridge
name
:
ci-physim
ipam
:
config
:
-
subnet
:
192.168.71.128/26
driver_opts
:
com.docker.network.bridge.name
:
"
ci-physim"
ci-scripts/yaml_files/phytest_fhi72_cacofonix/setup_cleanup.sh
0 → 100755
View file @
a6687b60
set
-e
sudo
cpupower idle-set
-E
>
/dev/null
sudo
sysctl kernel.sched_rt_runtime_us
=
950000
sudo
sysctl kernel.timer_migration
=
1
exit
0
ci-scripts/yaml_files/phytest_fhi72_cacofonix/setup_config.sh
0 → 100755
View file @
a6687b60
set
-e
sudo
cpupower idle-set
-D
0
>
/dev/null
sudo
sysctl kernel.sched_rt_runtime_us
=
-1
sudo
sysctl kernel.timer_migration
=
0
ci-scripts/yaml_files/phytest_fhi72_cacofonix/setup_sriov_dummy.sh
0 → 100755
View file @
a6687b60
#!/bin/sh
set
-eu
pci_addr
()
{
PF_IF
=
$1
VF_INDEX
=
$2
SYSFS_PATH
=
"/sys/class/net/
${
PF_IF
}
/device/virtfn
${
VF_INDEX
}
"
if
[
!
-e
"
$SYSFS_PATH
"
]
;
then
echo
"VF
$VF_INDEX
not found for interface
$PF_IF
"
exit
1
fi
PCI_ADDR
=
$(
basename
"
$(
readlink
"
$SYSFS_PATH
"
)
"
)
echo
"
$PCI_ADDR
"
}
IF_NAME
=
ens7f1
## O-DU C Plane MAC ADDR and VLAN
C_U_PLANE_MAC_ADD
=
22:11:55:33:99:55
C_U_PLANE_VLAN
=
123
MTU
=
9000
DPDK_DEVBIND_PREFIX
=
/usr/local/bin
NUM_VFs
=
1
ethtool
-G
$IF_NAME
rx 8160 tx 8160
sh
-c
"echo 0 > /sys/class/net/
$IF_NAME
/device/sriov_numvfs"
sh
-c
"echo
$NUM_VFs
> /sys/class/net/
$IF_NAME
/device/sriov_numvfs"
C_U_PLANE_PCI
=
$(
pci_addr
$IF_NAME
0
)
# this next 2 lines is for C/U planes
ip
link set
$IF_NAME
vf 0 mac
$C_U_PLANE_MAC_ADD
vlan
$C_U_PLANE_VLAN
spoofchk off mtu
$MTU
sleep
1
modprobe iavf
${
DPDK_DEVBIND_PREFIX
}
/dpdk-devbind.py
--unbind
$C_U_PLANE_PCI
modprobe vfio-pci
${
DPDK_DEVBIND_PREFIX
}
/dpdk-devbind.py
--bind
vfio-pci
$C_U_PLANE_PCI
echo
"Successfully configured C-PLANE and U-PLANE:
- C-PLANE MAC:
$C_U_PLANE_MAC_ADD
, VLAN:
$C_U_PLANE_VLAN
, PCI:
$C_U_PLANE_PCI
"
exit
0
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment