From patchwork Thu Aug 27 01:14:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steve Yang X-Patchwork-Id: 76051 X-Patchwork-Delegate: qi.z.zhang@intel.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id D12B8A04B1; Thu, 27 Aug 2020 03:15:08 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C3B911BFF8; Thu, 27 Aug 2020 03:14:57 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id C0C561BEC3 for ; Thu, 27 Aug 2020 03:14:54 +0200 (CEST) IronPort-SDR: LarFNsKo9UDgegD3iNCFZQMMiDHCfGQF8QVyMY5z8V7QEbPXgrN/99dA5emOkZsBGErz/AAqus sBViYoqN7+Bg== X-IronPort-AV: E=McAfee;i="6000,8403,9725"; a="153826997" X-IronPort-AV: E=Sophos;i="5.76,357,1592895600"; d="scan'208";a="153826997" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Aug 2020 18:14:53 -0700 IronPort-SDR: SH6pBBc2PcVVW1ykVzWgu3oWIWnsHnuCfIY/Aa4whk8g+Vz+KWthtQxNhmuPLvzT5EB73GjDoE HD0sJIBrw1oQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,357,1592895600"; d="scan'208";a="313066086" Received: from intel-npg-odc-srv01.cd.intel.com ([10.240.178.136]) by orsmga002.jf.intel.com with ESMTP; 26 Aug 2020 18:14:52 -0700 From: SteveX Yang To: dev@dpdk.org Cc: qiming.yang@intel.com, jingjing.wu@intel.com, beilei.xing@intel.com, SteveX Yang Date: Thu, 27 Aug 2020 01:14:06 +0000 Message-Id: <20200827011410.18401-3-stevex.yang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200827011410.18401-1-stevex.yang@intel.com> References: <20200811075910.20954-1-stevex.yang@intel.com> <20200827011410.18401-1-stevex.yang@intel.com> Subject: [dpdk-dev] [PATCH v2 2/6] net/iavf: set speed to undefined for default case X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" During PF/VF link update, a default speed value of 100M will be set if get_link_info has failed or speed is unknown. Consequently if PF is put in no-carrier state, VFs will switch to "in carrier" state due to a link up + a link speed set to 100M (default value if no speed detected). To be consistent with linux drivers on which PF and VFs are in same carrier state, sets default speed to undefined (instead of 100M) and updates a link status of VF only if link is up and speed is different from undefined. Fixes: 48de41ca11f0 ("net/avf: enable link status update") Signed-off-by: SteveX Yang --- drivers/net/iavf/iavf_ethdev.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c index f9dd5710c..ae508f2f0 100644 --- a/drivers/net/iavf/iavf_ethdev.c +++ b/drivers/net/iavf/iavf_ethdev.c @@ -620,8 +620,9 @@ iavf_dev_link_update(struct rte_eth_dev *dev, } new_link.link_duplex = ETH_LINK_FULL_DUPLEX; - new_link.link_status = vf->link_up ? ETH_LINK_UP : - ETH_LINK_DOWN; + new_link.link_status = (vf->link_up && + new_link.link_speed != ETH_SPEED_NUM_NONE) + ? ETH_LINK_UP : ETH_LINK_DOWN; new_link.link_autoneg = !(dev->data->dev_conf.link_speeds & ETH_LINK_SPEED_FIXED);