On Fri, 8 Mar 2024 21:19:08 +0000
sonntex <sonntex@gmail.com> wrote:
> Hi,
>
> I am trying to configure dpdk on my laptop and get "no probed ethernet
> devices" in dpdk-testpmd utility:
>
> laptop :: ~ % sudo dpdk-testpmd -l 0-1 -n 4 --log-level=debug -- -i
> EAL: Detected CPU lcores: 8
> EAL: Detected NUMA nodes: 1
> EAL: Detected static linkage of DPDK
> EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
> EAL: Selected IOVA mode 'VA'
> EAL: VFIO support initialized
> testpmd: No probed ethernet devices
> Interactive-mode selected
> testpmd: create a new mbuf pool <mb_pool_0>: n=155456, size=2176, socket=0
> testpmd: preferred mempool ops selected: ring_mp_mc
> Done
> testpmd> ...
>
> Checked that dpdk 23.07 supports this my NIC at
> http://doc.dpdk.org/guides/rel_notes/release_23_07.html:
>
> Intel Corporation Ethernet Connection (16) I219-V
> Firmware version: 0.6-4
> Device id (pf): 8086:1a1f
> Driver version(in-tree): 5.15.113-rt64 (Ubuntu22.04.2)(e1000)
>
> Configuration:
>
> laptop :: ~ % pacman -Ss dpdk
> extra/dpdk 23.07-1 [installed]
> A set of libraries and drivers for fast packet processing
>
> laptop :: ~ % sudo ethtool -i enp0s31f6
> driver: e1000e
> version: 6.7.8-arch1-1
> firmware-version: 0.6-4
> expansion-rom-version:
> bus-info: 0000:00:1f.6
> supports-statistics: yes
> supports-test: yes
> supports-eeprom-access: yes
> supports-register-dump: yes
> supports-priv-flags: yes
>
> laptop :: ~ % sudo modprobe vfio-pci
> laptop :: ~ % sudo lsmod | grep vfio
> vfio_pci 16384 0
> vfio_pci_core 86016 1 vfio_pci
> vfio_iommu_type1 45056 0
> vfio 73728 3 vfio_pci_core,vfio_iommu_type1,vfio_pci
> iommufd 106496 1 vfio
> irqbypass 12288 2 vfio_pci_core,kvm
>
> laptop :: ~ % sudo dpdk-hugepages.py -m
> laptop :: ~ % sudo dpdk-hugepages.py -p 2M --setup 1G
> laptop :: ~ % sudo dpdk-hugepages.py -s
> Node Pages Size Total
> 0 512 2Mb 1Gb
> Hugepages mounted on /dev/hugepages
>
> laptop :: ~ % sudo dpdk-devbind.py --status-dev net
> Network devices using kernel driver
> ===================================
> 0000:00:14.3 'Comet Lake PCH-LP CNVi WiFi 02f0' if=wlan0 drv=iwlwifi
> unused= *Active*
> 0000:00:1f.6 'Ethernet Connection (10) I219-V 0d4f' if=enp0s31f6 drv=e1000e
> unused=
>
> laptop :: ~ % sudo dpdk-devbind.py -b vfio-pci 0000:00:1f.6
> laptop :: ~ % sudo dpdk-devbind.py --status-dev net
> Network devices using DPDK-compatible driver
> ============================================
> 0000:00:1f.6 'Ethernet Connection (10) I219-V 0d4f' drv=vfio-pci
> unused=e1000e
> Network devices using kernel driver
> ===================================
> 0000:00:14.3 'Comet Lake PCH-LP CNVi WiFi 02f0' if=wlan0 drv=iwlwifi
> unused=vfio-pci *Active
>
> Any suggestions on what might be missing here?
>
> Thanks!
Most likely the DPDK E1000 driver doesn't support the full range of PCI device
id's as the kernel driver. What is PCI information for you? I have similar
device on this machine.
$ lspci -n -s 00:1f.6
00:1f.6 0200: 8086:15fc (rev 20)
In my case the part that matters is the 15fc.
Looking in DPDK drivers/net/e1000/base/e1000_hw.h, there is no #define for that
type and no entry in drivers/net/e1000/em_ethdev.c:pci_id_em_map[]
In linux kernel the entry is:
drivers/net/ethernet/intel/e1000e/hw.h:#define E1000_DEV_ID_PCH_TGP_I219_V13 0x15FC
The Intel drivers are not in sync. It is up to the E1000 DPDK
maintainers to solve.
Note: this older E1000 hardware is not fast, and using DPDK
except as a test bed is really not worth it.