Hi Shane, I've had success using DPDK with ~200Msps rates over a QSFP+ link to a USRP N320. I still have the uhd.conf file from that project but do not have the hardware on hand to try anything.
One difference is that my uhd.conf used only underscores, not dashes. UHD's key matching in /host/lib/transport/uhd-dpdk/dpdk_common.cpp appears to only expect underscores, though perhaps the earlier logic to ingest the file is smart enough to convert dashes to underscores - I didn't trace back that far. Might be worth updating your config to use underscores and see if that helps. For reference my working config is below, though it's from when UHD required DPDK version 18.11 so things might be a little different in recent versions. Best, -David [use_dpdk=1] dpdk_mtu=9000 dpdk_driver=/usr/local/lib/dpdk-pmds dpdk_corelist=24,26,28 dpdk_num_mbufs=8192 dpdk_mbuf_cache_size=512 dpdk_link_timeout=5000 [dpdk_mac=3c:fd:fe:bc:b7:88] dpdk_lcore = 26 dpdk_ipv4 = 192.168.10.10/24 ; descriptors per dma ring, must be a power of 2 dpdk_num_desc = 2048 [dpdk_mac=3c:fd:fe:bc:b7:89] dpdk_lcore = 28 dpdk_ipv4 = 192.168.20.10/24 ; descriptors per dma ring, must be a power of 2 dpdk_num_desc = 2048 From: Shane Flandermeyer <shaneflanderme...@gmail.com> Sent: Friday, September 29, 2023 3:18 PM To: usrp-users@lists.ettus.com Subject: [USRP-users] DPDK with X310 and Intel X520-DA Hello all, I'm trying to configure my X310 to transmit at its full 200 MS/s rate without underflows. People have recommended DPDK, but it seems that DPDK can't find the X310 when I try to run scripts. I can use the X310 when I don't bind the NIC to vfio-pci, but running the benchmark_rate script with DPDK (as root) gives the following: $ ./benchmark_rate --rx_rate 200e6 --tx_rate 200e6 --args "addr=192.168.30.2,use_dpdk=1" [INFO] [UHD] linux; GNU C++ version 11.4.0; Boost_107400; DPDK_21.11; UHD_4.5.0.HEAD-0-g471af98f EAL: Detected CPU lcores: 32 EAL: Detected NUMA nodes: 1 EAL: Detected shared linkage of DPDK EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'VA' EAL: No available 1048576 kB hugepages reported EAL: VFIO support initialized EAL: Using IOMMU type 1 (Type 1) EAL: Ignore mapping IO port bar(2) EAL: Probe PCI driver: net_ixgbe (8086:10fb) device: 0000:61:00.0 (socket 0) EAL: Ignore mapping IO port bar(2) EAL: Probe PCI driver: net_ixgbe (8086:10fb) device: 0000:61:00.1 (socket 0) TELEMETRY: No legacy callbacks, legacy socket not created [ERROR] [DPDK] Could not find route to destination address 192.168.30.2 [ERROR] [X300] X300 Network discovery error RuntimeError: DPDK: Could not find route to destination address 192.168.30.2 [00:00:00.000300] Creating the usrp device with: addr=192.168.30.2,use_dpdk=1... [ERROR] [DPDK] Could not find route to destination address 192.168.30.2 [ERROR] [X300] X300 Network discovery error RuntimeError: DPDK: Could not find route to destination address 192.168.30.2 Error: LookupError: KeyError: No devices found for -----> Device Address: addr: 192.168.30.2 use_dpdk: 1 Additional info that may be helpful: - After binding the NIC, dpdk-devbind gives the following $ dpdk-devbind.py -s Network devices using DPDK-compatible driver ============================================ 0000:61:00.0 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' drv=vfio-pci unused=ixgbe 0000:61:00.1 '82599ES 10-Gigabit SFI/SFP+ Network Connection 10fb' drv=vfio-pci unused=ixgbe Network devices using kernel driver =================================== 0000:64:00.0 'I210 Gigabit Network Connection 1533' if=enp100s0 drv=igb unused=vfio-pci 0000:6a:00.0 'Ethernet Controller 10G X550T 1563' if=enp106s0f0 drv=ixgbe unused=vfio-pci *Active* 0000:6a:00.1 'Ethernet Controller 10G X550T 1563' if=enp106s0f1 drv=ixgbe unused=vfio-pci No 'Baseband' devices detected ============================== Crypto devices using kernel driver ================================== 0000:24:00.1 'Starship/Matisse Cryptographic Coprocessor PSPCPP 1486' drv=ccp unused=vfio-pci No 'DMA' devices detected ========================= No 'Eventdev' devices detected ============================== No 'Mempool' devices detected ============================= No 'Compress' devices detected ============================== No 'Misc (rawdev)' devices detected =================================== No 'Regex' devices detected =========================== - My configuration file is located at /root/.config/uhd.conf, and has the following contents: [use_dpdk=1] dpdk-mtu=9000 dpdk-driver=/usr/lib/x86_64-linux-gnu/dpdk/pmds-22.0 dpdk-corelist=0,1 dpdk-num-mbufs=4095 dpdk-mbufs-cache-size=315 dpdk_link_timeout=9000 [dpdk-mac=90:e2:ba:dd:5b:cc] dpdk-io-cpu = 1 dpdk-ipv4 = 192.168.30.1/24<https://usg02.safelinks.protection.office365.us/?url=http%3A%2F%2F192.168.30.1%2F24&data=05%7C01%7Cdavid%40synopticengineering.com%7C2d9cef7c4c664546598008dbc120ea83%7Ce861c95e27d6448db078edc45c1d9315%7C0%7C0%7C638316119369261563%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=83CgKn%2B1bcPQctERVvXcqmLhXNTzsTS51OO3lDgNnl8%3D&reserved=0> Does anyone have any ideas for why it isn't working? Thank you!
_______________________________________________ USRP-users mailing list -- usrp-users@lists.ettus.com To unsubscribe send an email to usrp-users-le...@lists.ettus.com