[dpdk-dev] Unusable interfaces although apparently attached to IGB_UIO

Ananyev, Konstantin konstantin.ananyev at intel.com
Wed Feb 26 14:03:17 CET 2014


Hi,
>From the log it seems that it is failing at:
ixgbe_reset_pipeline_82599(struct ixgbe_hw *hw)
{
...
IXGBE_WRITE_REG(hw, IXGBE_AUTOC, autoc_reg ^ IXGBE_AUTOC_LMS_1G_AN);
        /* Wait for AN to leave state 0 */
        for (i = 0; i < 10; i++) {
                msec_delay(4);
                anlp1_reg = IXGBE_READ_REG(hw, IXGBE_ANLP1);
                if (anlp1_reg & IXGBE_ANLP1_AN_STATE_MASK)
                        break;
        }

        if (!(anlp1_reg & IXGBE_ANLP1_AN_STATE_MASK)) {
                DEBUGOUT("auto negotiation not completed\n");
                ret_val = IXGBE_ERR_RESET_FAILED;
                goto reset_pipeline_out;
        }

I personally never experienced such problem, but I saw mails from other people at dpdk.org complaining about the similiar problem:
http://search.gmane.org/?query=ixgbe_reset_pipeline_82599&group=gmane.comp.networking.dpdk.devel 
As I remember, some of them just increased timeout and/or number of iterations in the loop above and that made the problem go away.
Could you give it a try to see would it help?

Konstantin

-----Original Message-----
From: Marc Sune [mailto:marc.sune at bisdn.de] 
Sent: Tuesday, February 25, 2014 1:28 PM
To: Ananyev, Konstantin
Cc: <dev at dpdk.org>
Subject: Re: [dpdk-dev] Unusable interfaces although apparently attached to IGB_UIO

Thank you,

This is the summary:

9241 PMD: ixgbe_reset_pipeline_82599(): auto negotiation not completed
9242
9243 PMD: ixgbe_setup_sfp_modules_82599(): sfp module setup not complete
9244
9245 PMD: ixgbe_check_mac_link_generic(): ixgbe_check_mac_link_generic
9246 PMD: ixgbe_get_mac_addr_generic(): ixgbe_get_mac_addr_generic
9247 PMD: ixgbe_init_rx_addrs_generic(): ixgbe_init_rx_addrs_generic
9248 PMD: ixgbe_validate_mac_addr(): ixgbe_validate_mac_addr
9249 PMD: ixgbe_validate_mac_addr(): MAC address is all zeros
9250
9251 PMD: ixgbe_get_mac_addr_generic(): ixgbe_get_mac_addr_generic
9252 PMD: ixgbe_init_rx_addrs_generic():  Keeping Current RAR0 Addr =90
E2 BA
9253 PMD: ixgbe_init_rx_addrs_generic(): 00 5F E5
9254
9255 PMD: ixgbe_init_rx_addrs_generic(): Clearing RAR[1-127]
9256
9257 PMD: ixgbe_init_rx_addrs_generic():  Clearing MTA
9258
9259 PMD: ixgbe_init_uta_tables_generic(): ixgbe_init_uta_tables_generic
9260 PMD: ixgbe_init_uta_tables_generic():  Clearing UTA
9261
9262 PMD: ixgbe_get_san_mac_addr_generic(): ixgbe_get_san_mac_addr_generic
9263 PMD: ixgbe_get_san_mac_addr_offset(): ixgbe_get_san_mac_addr_offset
9264 PMD: ixgbe_read_eeprom_82599(): ixgbe_read_eeprom_82599
9265 PMD: ixgbe_read_eerd_buffer_generic(): ixgbe_read_eerd_buffer_generic
9266 PMD: ixgbe_init_eeprom_params_generic(): 
ixgbe_init_eeprom_params_generic
9267 PMD: ixgbe_poll_eerd_eewr_done(): ixgbe_poll_eerd_eewr_done
9268 PMD: ixgbe_set_lan_id_multi_port_pcie(): 
ixgbe_set_lan_id_multi_port_pcie
9269 PMD: ixgbe_read_eeprom_82599(): ixgbe_read_eeprom_82599
9270 PMD: ixgbe_read_eerd_buffer_generic(): ixgbe_read_eerd_buffer_generic
9271 PMD: ixgbe_init_eeprom_params_generic(): 
ixgbe_init_eeprom_params_generic
9272 PMD: ixgbe_poll_eerd_eewr_done(): ixgbe_poll_eerd_eewr_done
9273 PMD: ixgbe_read_eeprom_82599(): ixgbe_read_eeprom_82599
9274 PMD: ixgbe_read_eerd_buffer_generic(): ixgbe_read_eerd_buffer_generic
9275 PMD: ixgbe_init_eeprom_params_generic(): 
ixgbe_init_eeprom_params_generic
9276 PMD: ixgbe_poll_eerd_eewr_done(): ixgbe_poll_eerd_eewr_done
9277 PMD: ixgbe_read_eeprom_82599(): ixgbe_read_eeprom_82599
9278 PMD: ixgbe_read_eerd_buffer_generic(): ixgbe_read_eerd_buffer_generic
9279 PMD: ixgbe_init_eeprom_params_generic(): 
ixgbe_init_eeprom_params_generic
9280 PMD: ixgbe_poll_eerd_eewr_done(): ixgbe_poll_eerd_eewr_done
9281 PMD: ixgbe_validate_mac_addr(): ixgbe_validate_mac_addr
9282 PMD: ixgbe_set_rar_generic(): ixgbe_set_rar_generic
9283 PMD: ixgbe_set_vmdq_generic(): ixgbe_set_vmdq_generic
9284 PMD: ixgbe_get_wwn_prefix_generic(): ixgbe_get_wwn_prefix_generic
9285 PMD: ixgbe_read_eeprom_82599(): ixgbe_read_eeprom_82599
9286 PMD: ixgbe_read_eerd_buffer_generic(): ixgbe_read_eerd_buffer_generic
9287 PMD: ixgbe_init_eeprom_params_generic(): 
ixgbe_init_eeprom_params_generic
9288 PMD: ixgbe_poll_eerd_eewr_done(): ixgbe_poll_eerd_eewr_done
9289 PMD: ixgbe_get_media_type_82599(): ixgbe_get_media_type_82599
9290 PMD: eth_ixgbe_dev_init(): Hardware Initialization Failure: -30

A quick grep over the DPDK code;

58:84221:lib/librte_pmd_ixgbe/ixgbe/ixgbe_type.h:3189:#define 
IXGBE_ERR_SFP_SETUP_NOT_COMPLETE    -30

It turns out that the 1G ports are also using SFPs, so this may explain why in both 1g and 10g ports the same behaviour happens.

Any idea?

Thank you and regards
marc

On 25/02/14 14:00, Ananyev, Konstantin wrote:
> Hi,
>
> Probably try to rebuild with CONFIG_RTE_LIBRTE_IXGBE_DEBUG_*=y and rerun?
> Might be it would give you some insight what is going wrong.
>
> Konstantin
>
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Marc Sune
> Sent: Tuesday, February 25, 2014 12:20 PM
> To: <dev at dpdk.org>
> Subject: [dpdk-dev] Unusable interfaces although apparently attached 
> to IGB_UIO
>
> Dear all,
>
> We've been experiencing problems with interfaces being recognised by 
> DPDK since some time now, I think since the very begining we started 
> using DPDK (aprox. 1.3). Randomly, even on a fresh reboot (after
> modprobe->attach->launch dpdk_app), and properly attached to the 
> modprobe->attach->IGB_UIO
> kmod [0], interfaces do appear in the "probe stage" of the respective driver during RTE* initialization, but DPDK complains there are no DPDK-enabled interfaces [1].
>
> It even happens with the examples provided [1]. Once they enter in this "zombie state", there is no way to recover them unless a reboot is performed. Attaching igb_uio -> igb -> gb_uio does not solve it either.
> This happens also with 1G copper ports.
>
> Any ideas?
>
> Thanks and regards
> marc
>
> p.s. Using 1.5.2 branch right now
>
> -------------------------
>
> [0] setup.sh
>
> Option: 10
>
>
> Network devices using IGB_UIO driver
> ====================================
> 0000:06:00.0 '82599EB 10-Gigabit SFI/SFP+ Network Connection'
> drv=igb_uio unused=
> 0000:06:00.1 '82599EB 10-Gigabit SFI/SFP+ Network Connection'
> drv=igb_uio unused=
>
> Network devices using kernel driver
> ===================================
> 0000:08:00.1 'DH8900CC Series Gigabit Network Connection' if=eth3 
> drv=igb unused=igb_uio
> 0000:08:00.2 'DH8900CC Series Gigabit Network Connection' if=eth5 
> drv=igb unused=igb_uio
> 0000:08:00.3 'DH8900CC Series Gigabit Network Connection' if=eth6 
> drv=igb unused=igb_uio
> 0000:08:00.4 'DH8900CC Series Gigabit Network Connection' if=eth7 
> drv=igb unused=igb_uio
> 0000:09:00.0 'I350 Gigabit Network Connection' if=eth8 drv=igb 
> unused=igb_uio *Active*
> 0000:09:00.1 'I350 Gigabit Network Connection' if=eth9 drv=igb 
> unused=igb_uio *Active*
> 0000:09:00.2 'I350 Gigabit Network Connection' if=eth10 drv=igb 
> unused=igb_uio
> 0000:09:00.3 'I350 Gigabit Network Connection' if=eth11 drv=igb 
> unused=igb_uio
> 0000:85:00.0 '82599EB 10-Gigabit SFI/SFP+ Network Connection' if=eth2 
> drv=ixgbe unused=igb_uio
> 0000:85:00.1 '82599EB 10-Gigabit SFI/SFP+ Network Connection' if=eth4 
> drv=ixgbe unused=igb_uio
>
> Other network devices
> =====================
> <none>
>
> Enter PCI address of device to bind to IGB UIO driver:
>
>
> [1] l2fwd
>
> marc at bertha-dpdk:~/dpdk/examples/l2fwd/build$ sudo ./l2fwd -c 0xFF -n 
> 2
> EAL: Detected lcore 0 as core 0 on socket 0
> EAL: Detected lcore 1 as core 1 on socket 0
> EAL: Detected lcore 2 as core 2 on socket 0
> EAL: Detected lcore 3 as core 3 on socket 0
> EAL: Detected lcore 4 as core 4 on socket 0
> EAL: Detected lcore 5 as core 5 on socket 0
> EAL: Detected lcore 6 as core 6 on socket 0
> EAL: Detected lcore 7 as core 7 on socket 0
> EAL: Detected lcore 8 as core 0 on socket 1
> EAL: Detected lcore 9 as core 1 on socket 1
> EAL: Detected lcore 10 as core 2 on socket 1
> EAL: Detected lcore 11 as core 3 on socket 1
> EAL: Detected lcore 12 as core 4 on socket 1
> EAL: Detected lcore 13 as core 5 on socket 1
> EAL: Detected lcore 14 as core 6 on socket 1
> EAL: Detected lcore 15 as core 7 on socket 1
> EAL: Skip lcore 16 (not detected)
> EAL: Skip lcore 17 (not detected)
> EAL: Skip lcore 18 (not detected)
> EAL: Skip lcore 19 (not detected)
> EAL: Skip lcore 20 (not detected)
> EAL: Skip lcore 21 (not detected)
> EAL: Skip lcore 22 (not detected)
> EAL: Skip lcore 23 (not detected)
> EAL: Skip lcore 24 (not detected)
> EAL: Skip lcore 25 (not detected)
> EAL: Skip lcore 26 (not detected)
> EAL: Skip lcore 27 (not detected)
> EAL: Skip lcore 28 (not detected)
> EAL: Skip lcore 29 (not detected)
> EAL: Skip lcore 30 (not detected)
> EAL: Skip lcore 31 (not detected)
> EAL: Skip lcore 32 (not detected)
> EAL: Skip lcore 33 (not detected)
> EAL: Skip lcore 34 (not detected)
> EAL: Skip lcore 35 (not detected)
> EAL: Skip lcore 36 (not detected)
> EAL: Skip lcore 37 (not detected)
> EAL: Skip lcore 38 (not detected)
> EAL: Skip lcore 39 (not detected)
> EAL: Skip lcore 40 (not detected)
> EAL: Skip lcore 41 (not detected)
> EAL: Skip lcore 42 (not detected)
> EAL: Skip lcore 43 (not detected)
> EAL: Skip lcore 44 (not detected)
> EAL: Skip lcore 45 (not detected)
> EAL: Skip lcore 46 (not detected)
> EAL: Skip lcore 47 (not detected)
> EAL: Skip lcore 48 (not detected)
> EAL: Skip lcore 49 (not detected)
> EAL: Skip lcore 50 (not detected)
> EAL: Skip lcore 51 (not detected)
> EAL: Skip lcore 52 (not detected)
> EAL: Skip lcore 53 (not detected)
> EAL: Skip lcore 54 (not detected)
> EAL: Skip lcore 55 (not detected)
> EAL: Skip lcore 56 (not detected)
> EAL: Skip lcore 57 (not detected)
> EAL: Skip lcore 58 (not detected)
> EAL: Skip lcore 59 (not detected)
> EAL: Skip lcore 60 (not detected)
> EAL: Skip lcore 61 (not detected)
> EAL: Skip lcore 62 (not detected)
> EAL: Skip lcore 63 (not detected)
> EAL: Setting up memory...
> EAL: Ask a virtual area of 0x1073741824 bytes
> EAL: Virtual area found at 0x7f7dff000000 (size = 0x40000000)
> EAL: Ask a virtual area of 0x1073741824 bytes
> EAL: Virtual area found at 0x7f7dbee00000 (size = 0x40000000)
> EAL: Requesting 512 pages of size 2MB from socket 0
> EAL: Requesting 512 pages of size 2MB from socket 1
> EAL: TSC frequency is ~1200000 KHz
> EAL: Master core 0 is ready (tid=4025a840)
> EAL: Core 1 is ready (tid=be1f2700)
> EAL: Core 4 is ready (tid=bc9ef700)
> EAL: Core 6 is ready (tid=bb9ed700)
> EAL: Core 3 is ready (tid=bd1f0700)
> EAL: Core 7 is ready (tid=bb1ec700)
> EAL: Core 5 is ready (tid=bc1ee700)
> EAL: Core 2 is ready (tid=bd9f1700)
> EAL: PCI device 0000:06:00.0 on NUMA socket 0
> EAL:   probe driver: 8086:10fb rte_ixgbe_pmd
> EAL:   PCI memory mapped at 0x7f7e401a7000
> EAL:   PCI memory mapped at 0x7f7e4026d000
> EAL: PCI device 0000:06:00.1 on NUMA socket 0
> EAL:   probe driver: 8086:10fb rte_ixgbe_pmd
> EAL:   PCI memory mapped at 0x7f7e40127000
> EAL:   PCI memory mapped at 0x7f7e40269000
> EAL: PCI device 0000:08:00.1 on NUMA socket 0
> EAL:   probe driver: 8086:438 rte_igb_pmd
> EAL:   0000:08:00.1 not managed by UIO driver, skipping
> EAL: PCI device 0000:08:00.2 on NUMA socket 0
> EAL:   probe driver: 8086:438 rte_igb_pmd
> EAL:   0000:08:00.2 not managed by UIO driver, skipping
> EAL: PCI device 0000:08:00.3 on NUMA socket 0
> EAL:   probe driver: 8086:438 rte_igb_pmd
> EAL:   0000:08:00.3 not managed by UIO driver, skipping
> EAL: PCI device 0000:08:00.4 on NUMA socket 0
> EAL:   probe driver: 8086:438 rte_igb_pmd
> EAL:   0000:08:00.4 not managed by UIO driver, skipping
> EAL: PCI device 0000:09:00.0 on NUMA socket 0
> EAL:   probe driver: 8086:1521 rte_igb_pmd
> EAL:   0000:09:00.0 not managed by UIO driver, skipping
> EAL: PCI device 0000:09:00.1 on NUMA socket 0
> EAL:   probe driver: 8086:1521 rte_igb_pmd
> EAL:   0000:09:00.1 not managed by UIO driver, skipping
> EAL: PCI device 0000:09:00.2 on NUMA socket 0
> EAL:   probe driver: 8086:1521 rte_igb_pmd
> EAL:   0000:09:00.2 not managed by UIO driver, skipping
> EAL: PCI device 0000:09:00.3 on NUMA socket 0
> EAL:   probe driver: 8086:1521 rte_igb_pmd
> EAL:   0000:09:00.3 not managed by UIO driver, skipping
> EAL: PCI device 0000:85:00.0 on NUMA socket 1
> EAL:   probe driver: 8086:10fb rte_ixgbe_pmd
> EAL:   0000:85:00.0 not managed by UIO driver, skipping
> EAL: PCI device 0000:85:00.1 on NUMA socket 1
> EAL:   probe driver: 8086:10fb rte_ixgbe_pmd
> EAL:   0000:85:00.1 not managed by UIO driver, skipping
> EAL: Error - exiting with code: 1
>     Cause: No Ethernet ports - bye
>
> --------------------------------------------------------------
> Intel Shannon Limited
> Registered in Ireland
> Registered Office: Collinstown Industrial Park, Leixlip, County 
> Kildare Registered Number: 308263 Business address: Dromore House, 
> East Park, Shannon, Co. Clare
>
> This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.
>
>

--------------------------------------------------------------
Intel Shannon Limited
Registered in Ireland
Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
Registered Number: 308263
Business address: Dromore House, East Park, Shannon, Co. Clare

This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.




More information about the dev mailing list