https://bugs.dpdk.org/show_bug.cgi?id=263
Bug ID: 263 Summary: ixgbe does not support 10GBASE-T copper SFP+ Product: DPDK Version: 17.11 Hardware: x86 OS: Linux Status: CONFIRMED Severity: normal Priority: Normal Component: ethdev Assignee: dev@dpdk.org Reporter: i...@cgstowernetworks.com Target Milestone: --- Tried couple of vendor's 10GBASE-T copper SFPs and they fail at init Transceiver example http://www.eoptolink.com/products/copper-10g-sfp root@AFS:/home/cgs# ./testpmd -c7 -n3 -w 0000:0a:00.0 -- -i EAL: Detected 28 lcore(s) EAL: Detected 2 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: No available hugepages reported in hugepages-1048576kB EAL: Probing VFIO support... EAL: PCI device 0000:0a:00.0 on NUMA socket 0 EAL: probe driver: 8086:10fb net_ixgbe eth_ixgbe_dev_init(): Unsupported SFP+ Module eth_ixgbe_dev_init(): Hardware Initialization Failure: -19 EAL: ethdev initialisation failedEAL: Requested device 0000:0a:00.0 cannot be used testpmd: No probed ethernet devices Tested in 2 different Intel controllers 82599ES and X552 cgs@AFS:~# lspci -s 0a:00.0 0a:00.0 Ethernet controller: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection (rev 01) cgs@AFS:~$ lspci -s 04:00.0 04:00.0 Ethernet controller: Intel Corporation Ethernet Connection X552 10 GbE SFP+ If the SFPs is inserted only *after* the dpdk app starts (after rte_eal_init and pci devices are probed) it will work! as it is only identified and blocked as not supported in ixgbe_identify_sfp_module_generic Though the ixgbe_identify_sfp_module_generic function tries to be premissive in case the allow_unsupported_sfp is set if (hw->allow_unsupported_sfp == true) { EWARN(hw, "WARNING: Intel (R) Network Connections are quality tested using Intel (R) Ethernet Optics. " "Using untested modules is not supported and may cause unstable operation or damage to the module or the adapter. " "Intel Corporation is not responsible for any harm caused by using untested modules.\n"); status = IXGBE_SUCCESS; } but this is too late as this SFP falls into earlier case in the function /* Verify supported 1G SFP modules */ if (comp_codes_10g == 0 && !(hw->phy.sfp_type == ixgbe_sfp_type_1g_cu_core1 || hw->phy.sfp_type == ixgbe_sfp_type_1g_cu_core0 || hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core0 || hw->phy.sfp_type == ixgbe_sfp_type_1g_lx_core1 || hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core0 || hw->phy.sfp_type == ixgbe_sfp_type_1g_sx_core1)) { hw->phy.type = ixgbe_phy_sfp_unsupported; status = IXGBE_ERR_SFP_NOT_SUPPORTED; goto out; } The driver reads 0 from eeprom IXGBE_SFF_10GBE_COMP_CODES offset and comp_codes_10g=0 I guess because there's no 10GBASE-T code defined in SFF-8472 TABLE 5-3 TRANSCEIVER COMPLIANCE CODES [https://members.snia.org/document/dl/25916] This same 10GBASE-T SFP does work in i40e controllers see more info and suggested patch in http://mails.dpdk.org/archives/dev/2019-April/131091.html -- You are receiving this mail because: You are the assignee for the bug.