Hi, I am using Intel X710 along with FINISAR module (FTLX1471D3BCL). I am trying to read the module's eeprom but I am getting garbage values when DPDK is used. However, it is working perfectly fine when device is bound to the linux kernel. I have attached the device details along with the eeprom dumps. Note that I have executed the command in a VM where Intel X710 was using pci-passthrough. Let me know if more details are required to understand the issue.
Case 1 : When device used Linux Kernel root@test-system:/home/anubhav# ethtool -i eth2 driver: i40e version: 2.1.14-k firmware-version: 7.10 0x800051a6 19.0.12 expansion-rom-version: bus-info: 0000:00:0b.0 supports-statistics: yes supports-test: yes supports-eeprom-access: yes supports-register-dump: yes supports-priv-flags: yes root@test-system:/home/anubhav # ethtool -m eth2 raw on > module_eeprom_kernel.bin root@test-system:/home/anubhav # hexdump -x -v module_eeprom_kernel.bin 0000000 0403 2007 0000 0000 0000 0600 0067 640a 0000010 0000 0000 4946 494e 4153 2052 4f43 5052 0000020 202e 2020 0000 6590 5446 584c 3431 3137 0000030 3344 4342 204c 2020 2041 2020 1e05 6300 0000040 1a00 0000 4c55 3038 3732 2056 2020 2020 0000050 2020 2020 3131 3830 3631 2020 f068 ce03 0000060 0000 0000 0000 0000 0000 0000 0000 0000 0000070 0000 0000 0000 0000 0000 0000 0000 0000 0000080 0000 0000 0000 0000 0000 0000 0000 0000 0000090 0000 0000 0000 0000 0000 0000 0000 0000 00000a0 0000 0000 0000 0000 0000 0000 0000 0000 00000b0 0000 0000 0000 0000 0000 0000 0000 0000 00000c0 0000 0000 0000 0000 0000 0000 0000 0000 00000d0 0000 0000 0000 0000 0000 0000 0000 0000 00000e0 0000 0000 0000 0000 0000 0000 0000 0000 00000f0 0000 0000 0000 0000 0000 0000 0000 0000 0000100 004e 00f3 0049 00f8 8890 4871 a08c 3075 0000110 04a6 4c1d 409c 1027 e93d 3106 2d31 cb07 0000120 7745 6400 e93d 9e00 0000 0000 0000 0000 0000130 0000 0000 0000 0000 0000 0000 0000 0000 0000140 0000 0000 803f 0000 0000 0000 0001 0000 0000150 0001 0000 0001 0000 0001 0000 0000 7e00 0000160 2c20 2c82 1a42 c31d 681a 0000 0000 0030 0000170 0000 0000 0000 0000 ffff ffff ffff 01ff 0000180 0000 0000 0000 0000 0000 0000 0000 0000 0000190 0000 0000 0000 0000 0000 0000 0000 0000 00001a0 0000 0000 0000 0000 0000 0000 0000 0000 00001b0 0000 0000 0000 0000 0000 0000 0000 0000 00001c0 0000 0000 0000 0000 0000 0000 0000 0000 00001d0 0000 0000 0000 0000 0000 0000 0000 0000 00001e0 0000 0000 0000 0000 0000 0000 0000 0000 00001f0 0000 0000 0000 0000 0000 0000 0000 0000 0000200 Case 2: When device is used with DPDK (18.11) root@test-system:/home/anubhav# ./ethtool EAL: Detected 92 lcore(s) EAL: Detected 1 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Probing VFIO support... EAL: WARNING: cpu flags constant_tsc=yes nonstop_tsc=no -> using unreliable clock cycles ! EAL: PCI device 0000:00:03.0 on NUMA socket -1 EAL: Invalid NUMA socket, default to 0 EAL: probe driver: 8086:100e net_e1000_em EAL: PCI device 0000:00:04.0 on NUMA socket -1 EAL: Invalid NUMA socket, default to 0 EAL: probe driver: 8086:100e net_e1000_em EAL: PCI device 0000:00:0b.0 on NUMA socket -1 EAL: Invalid NUMA socket, default to 0 EAL: probe driver: 8086:1572 net_i40e EAL: PCI device 0000:00:0b.1 on NUMA socket -1 EAL: Invalid NUMA socket, default to 0 EAL: probe driver: 8086:1572 net_i40e Number of NICs: 2 Init port 0.. Init port 1.. EthApp> drvinfo Port 0 driver: net_i40e (ver: DPDK 18.11.5) firmware-version: 7.10 0x800051a6 19.0.12 bus-info: 0000:00:0b.0 Port 1 driver: net_i40e (ver: DPDK 18.11.5) firmware-version: 7.10 0x800051a6 19.0.12 bus-info: 0000:00:0b.1 EthApp> module-eeprom 0 module_eeprom_dpdk.bin Total plugin module EEPROM length: 512 bytes EthApp> quit root@test-system:/home/anubhav# hexdump -x -v module_eeprom_dpdk.bin 0000000 0404 0404 0404 0404 0404 0404 0404 0404 0000010 0404 0404 0404 0404 0404 0404 0404 0404 0000020 0404 0404 0404 0404 0404 0404 0404 0404 0000030 0404 0404 0404 0404 0404 0404 0404 0404 0000040 0404 0404 0404 0404 0404 0404 0404 0404 0000050 0404 0404 0404 0404 0404 0404 0404 0404 0000060 0404 0404 0404 0404 0404 0404 0404 0404 0000070 0404 0404 0404 0404 0404 0404 0404 0404 0000080 0404 0404 0404 0404 0404 0404 0404 0404 0000090 0404 0404 0404 0404 0404 0404 0404 0404 00000a0 0404 0404 0404 0404 0404 0404 0404 0404 00000b0 0404 0404 0404 0404 0404 0404 0404 0404 00000c0 0404 0404 0404 0404 0404 0404 0404 0404 00000d0 0404 0404 0404 0404 0404 0404 0404 0404 00000e0 0404 0404 0404 0404 0404 0404 0404 0404 00000f0 0404 0404 0404 0404 0404 0404 0404 0404 0000100 0000 0000 0000 0000 0000 0000 0000 0000 0000110 0000 0000 0000 0000 0000 0000 0000 0000 0000120 0000 0000 0000 0000 0000 0000 0000 0000 0000130 0000 0000 0000 0000 0000 0000 0000 0000 0000140 0000 0000 0000 0000 0000 0000 0000 0000 0000150 0000 0000 0000 0000 0000 0000 0000 0000 0000160 0000 0000 0000 0000 0000 0000 0000 0000 0000170 0000 0000 0000 0000 0000 0000 0000 0000 0000180 0000 0000 0000 0000 0000 0000 0000 0000 0000190 0000 0000 0000 0000 0000 0000 0000 0000 00001a0 0000 0000 0000 0000 0000 0000 0000 0000 00001b0 0000 0000 0000 0000 0000 0000 0000 0000 00001c0 0000 0000 0000 0000 0000 0000 0000 0000 00001d0 0000 0000 0000 0000 0000 0000 0000 0000 00001e0 0000 0000 0000 0000 0000 0000 0000 0000 00001f0 0000 0000 0000 0000 0000 0000 0000 0000 0000200 Regards, Anubhav Choudhary Disclaimer: This communication (including any attachments) is intended for the use of the intended recipient(s) only and may contain information that is considered confidential, proprietary, sensitive and/or otherwise legally protected. Any unauthorized use or dissemination of this communication is strictly prohibited. If you have received this communication in error, please immediately notify the sender by return e-mail message and delete all copies of the original communication. Thank you for your cooperation.