Hi NVIDIA Aerial team,
I am running NVIDIA Aerial CUDA-Accelerated RAN 26-1 on a DGX Spark system and trying to run a local eCPRI loopback test using two CX7 ports on the same host.
Setup:
- Platform: DGX Spark
- Aerial version: ACAR / Aerial CUDA-Accelerated RAN 26-1
- Kernel: 6.17.0-1014-nvidia
- GPU driver: 590.48.01
- CUDA: 13.1
- OFED: OFED-internal-25.10-1.7.1
- DOCA: 3.2.1025
- DPDK: 22.11.2510.2.1
- NIC: ConnectX-7 / MT2910 / vendor_part_id 4129
- NIC firmware: 28.47.1088
- PSID: NVD0000000087
- NIC ports:
- 0000:01:00.0 / aerial00 / MAC 30:c5:99:40:49:a0
- 0000:01:00.1 / aerial01 / MAC 30:c5:99:40:49:a1
Test topology:
- Container 1: cuBB, running testMAC + cuPHY
- Container 2: cuBB_RU, running RU emulator
- Both containers are run with:
- --network host
- --privileged
- --ipc host
- /dev/hugepages mounted
- /lib/modules mounted
- Optical cable directly connects CX7 port 0000:01:00.0 to 0000:01:00.1.
- cuPHY uses 0000:01:00.0.
- RU emulator uses 0000:01:00.1.
- Test case: F08 1C / F08 2C performance mode with testMAC + cuPHY + RU emulator.
NIC firmware settings have been configured according to the DGX Spark / Aerial documentation:
sudo mlxconfig -d /dev/mst/mt4129_pciconf0 q | grep “CQE_COMPRESSION|PROG_PARSE_GRAPH|FLEX_PARSER_PROFILE_ENABLE|REAL_TIME_CLOCK_ENABLE|ACCURATE_TX_SCHEDULER”
Output:
FLEX_PARSER_PROFILE_ENABLE 4
PROG_PARSE_GRAPH True(1)
ACCURATE_TX_SCHEDULER True(1)
CQE_COMPRESSION AGGRESSIVE(1)
REAL_TIME_CLOCK_ENABLE True(1)
The same settings are also configured on /dev/mst/mt4129_pciconf0.1.
I also performed mlxfwreset level 3 and rebooted the host.
Observed behavior:
- cuPHY is running and transmitting packets.
- aerial00 tx_packets_phy increases continuously.
- aerial01 rx_packets_phy increases continuously.
- Therefore, the optical loopback path appears to be working.
- However, aerial01 rx_vport_unicast_packets remains 0 when using the synthetic RU MAC address from the YAML.
- RU emulator reports 0 DL/UL slots continuously.
RU emulator log shows:
eCPRI parser not supported on NIC 0000:01:00.1, retrying without eCPRI
In earlier tests, I also saw:
mlx5_net: Dynamic flex parser is not supported
If I force the DU dst_mac_addr to the physical MAC of aerial01, or temporarily change aerial01’s MAC address to match the synthetic RU cell MAC, packets appear to enter the RU path, but the RU emulator then reports errors such as:
Section type error
DL U Plane pkt sanity check failed
This suggests that without the eCPRI parser, fallback MAC/VLAN flow steering is too broad and C-plane/U-plane/eAxC traffic is not being separated correctly.
I checked the container/runtime environment:
- Host and containers both use DOCA 3.2.1025 and DPDK 22.11.2510.2.1.
- Both containers can see /sys/class/infiniband/mlx5_0..mlx5_3.
- Both containers can see /dev/infiniband/uverbs*.
- Both containers can see the PCI devices.
- doca_caps on the host sees 0000:01:00.0 and 0000:01:00.1 correctly.
- doca_caps -p 0000:01:00.1 -b eth shows RX/TX queue capabilities supported.
Questions:
- Is RU emulator with eCPRI flow steering supported on DGX Spark CX7 ports in Aerial 26-1, or is BF3 required for this specific RU emulator loopback/performance test?
- Is firmware 28.47.1088 / PSID NVD0000000087 expected to support the eCPRI dynamic flex parser required by Aerial RU emulator?
- Are there additional mlxconfig settings, firmware versions, or PSID-specific requirements beyond FLEX_PARSER_PROFILE_ENABLE=4 and PROG_PARSE_GRAPH=1?
- Is the warning “eCPRI parser not supported on NIC …, retrying without eCPRI” expected on CX7, or should it be treated as a configuration/firmware/runtime issue?
- What is the recommended diagnostic command to verify that the mlx5 DPDK PMD can actually create the eCPRI parser / dynamic flex parser at runtime?
Thank you,
Hsin-Li