From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-io0-f178.google.com (mail-io0-f178.google.com [209.85.223.178]) by dpdk.org (Postfix) with ESMTP id C41572C55 for ; Wed, 19 Jul 2017 15:49:45 +0200 (CEST) Received: by mail-io0-f178.google.com with SMTP id 5so595973iow.0 for ; Wed, 19 Jul 2017 06:49:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to:cc; bh=Z6Ja02Zn/3/foxNfFOYeTJWxY0cWwDDvGEUzwJRwTT8=; b=fnO4ZxsDtDyetlo8kjzha+zIpRMywQLeG0XruFtxBLcTdcIJE+dv/7kWGdDkhUpTn6 ncZIjBw4Z2Y1r+2u1WatTEyK7EnVbYXeqgBsMvxgRBTWztmlgsRooQtqkqfd/LQrxSHC lidor7uXMTutyJubAmy4nKcLMBv/dhseb4Hj2f2jE9tSpKS+O06BKJkbLFr0dTivOWLF +5kGo9rcNVtAYdnzQV24Qm2vBVc0zDnj9t11Kxxjp1X9UeCx2y4YPjGqQgFkbJJ2zvTz bVqUNAT8lMCH6xZBWsWCJV43/SAbO2kdDQRYWYD8QtixcFUcFqMcOGgHTnZx5P6MRPjI nLvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=Z6Ja02Zn/3/foxNfFOYeTJWxY0cWwDDvGEUzwJRwTT8=; b=tVHUF2vePOO6JYiRSG1EpShTDTQpGtP3E/WEV+HQJ/JKFMaujROsFv11BB+xOXWYQg rt91vu/ocWudHdg2+MkW8YE1pSHhszL2jDV4+zK3FA4+pAl+FpEPUvwfyTWQotj//wxP gCvSGGZtC4w7V9TlYYglg+I2MP70Te9hekf/Ge/KHPY+6xp/H5EjCGSNxt6GQl9sfeZ6 qgUt3+a35KP4NfZcUXZ3eJlU1E82u0z466+melvUt3RGI0jjPg/7L8dx165aQtgNeWWd Wmsaq0s5zOcjSv4jOhMm1e/t/IkwL/fHYZmeCGZP2fC1l3drdRYLi6ZWHYKvbggRrHcg OWfQ== X-Gm-Message-State: AIVw113+yA0xAGZSZ/SmUX3imALa0qA5xQp8VxChoqIuF3PhGojFsOHw lx0MN/zWI45lRz7VceV91psC1VJjVaQU X-Received: by 10.107.40.75 with SMTP id o72mr115063ioo.235.1500472179933; Wed, 19 Jul 2017 06:49:39 -0700 (PDT) MIME-Version: 1.0 Received: by 10.107.58.5 with HTTP; Wed, 19 Jul 2017 06:49:19 -0700 (PDT) From: Dumitru Ceara Date: Wed, 19 Jul 2017 15:49:19 +0200 Message-ID: To: users@dpdk.org Cc: "Wu, Jingjing" , "Xing, Beilei" Content-Type: text/plain; charset="UTF-8" Subject: [dpdk-users] DPDK16.11.2 LTS: i40e PMD fails to start X710 port X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Jul 2017 13:49:46 -0000 Hi all, With DPDK 16.11.2 LTS we see "intermittent" errors when trying to start an X710 interface (latest firmware - FW 5.05). Due to the fact that the i40e PMD requires the port to be stopped when setting MTU we use the following sequence in our code: 1. rte_eth_dev_ stop 2. rte_eth_dev_set_mtu 3. rte_eth_dev_start If rte_eth_dev_start is called shortly after stop (as is in our case), the i40e_phy_conf_link sometimes fails and returns -ENOTSUP. This happens because i40e_aq_get_phy_capabilities returns status I40E_ERR_UNKNOWN_PHY. I double checked and the transceivers we use are Intel FTLX8571D3BCV-IT. Moreover, if we introduce a delay (e.g., 10 seconds) after rte_eth_dev_stop then rte_eth_dev_start works fine. In order to eliminate potential issues with our code I tried to replicate with test-pmd with "disable-link-check" in order to avoid the delay introduced by link state checking: # $RTE_SDK/tools/dpdk-devbind.py -s Network devices using DPDK-compatible driver ============================================ 0000:82:00.0 'Ethernet Controller X710 for 10GbE SFP+' drv=igb_uio unused= 0000:82:00.1 'Ethernet Controller X710 for 10GbE SFP+' drv=igb_uio unused= # $RTE_SDK/x86_64-native-linuxapp-gcc/build/app/test-pmd/testpmd -w 0000:82:00.0 -w 0000:82:00.1 -- --disable-link-check -i EAL: Detected 32 lcore(s) EAL: Probing VFIO support... EAL: PCI device 0000:82:00.0 on NUMA socket 1 EAL: probe driver: 8086:1572 net_i40e PMD: eth_i40e_dev_init(): FW 5.0 API 1.5 NVM 05.00.05 eetrack 8000289d EAL: PCI device 0000:82:00.1 on NUMA socket 1 EAL: probe driver: 8086:1572 net_i40e PMD: eth_i40e_dev_init(): FW 5.0 API 1.5 NVM 05.00.05 eetrack 8000289d Interactive-mode selected USER1: create a new mbuf pool : n=395456, size=2176, socket=0 Configuring Port 0 (socket 0) Port 0: 3C:FD:FE:9C:79:F0 Configuring Port 1 (socket 0) Port 1: 3C:FD:FE:9C:79:F1 Done testpmd> port stop 1 Stopping ports... Done testpmd> port start 1 Port 1: 3C:FD:FE:9C:79:F1 Done testpmd> port stop 1 Stopping ports... Done testpmd> port start 1 Fail to start port 1 Please stop the ports first <<<<<<< Here we fail to stop port 1 Done I saw there were some more reports of similar I40E_ERR_UNKNOWN_PHY issues but I'm not sure if they were related to the device stop/start sequence. Is this a known limitation of the driver/firmware? Is the application supposed to deal with this specific behavior of the X710? If so, how would an application detect that the rte_eth_dev_stop operation has completed? Or are we missing some hardware specific initialization? Thanks, Dumitru