From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 5788C2BDF for ; Wed, 14 Nov 2018 06:14:39 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 13 Nov 2018 21:14:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,231,1539673200"; d="scan'208";a="100082695" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by orsmga003.jf.intel.com with ESMTP; 13 Nov 2018 21:14:38 -0800 Received: from fmsmsx122.amr.corp.intel.com (10.18.125.37) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 13 Nov 2018 21:14:37 -0800 Received: from shsmsx102.ccr.corp.intel.com (10.239.4.154) by fmsmsx122.amr.corp.intel.com (10.18.125.37) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 13 Nov 2018 21:14:37 -0800 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.161]) by shsmsx102.ccr.corp.intel.com ([169.254.2.84]) with mapi id 14.03.0415.000; Wed, 14 Nov 2018 13:14:34 +0800 From: "Wang, Dong1" To: "Wu, Yanglong" , "dev@dpdk.org" CC: "Zhang, Qi Z" , "Xu, Rosen" Thread-Topic: [PATCH v2] net/ixgbe: fix ixgbevf link status Thread-Index: AQHUexxj9+lAqlkh40u4OsoggzZaLKVOuxUA Date: Wed, 14 Nov 2018 05:14:34 +0000 Message-ID: <3E2E5017C928014B90FD7864A64F0B5514F74BFA@SHSMSX103.ccr.corp.intel.com> References: <20180810081000.4454-1-yanglong.wu@intel.com> <20181113063443.50070-1-yanglong.wu@intel.com> In-Reply-To: <20181113063443.50070-1-yanglong.wu@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYjBkMzQ3ZmMtY2U2Yy00MWI0LThkYTEtOWYzZjIwYjg3NTg0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoic3VIVlVWbVJpMjZGRWI3cklyWVNoZWtBT1RnY0JJQ0tSdkZkZXZWYThYaG00ME9iSFNwakN4Ym5oTkM3bkZJeSJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v2] net/ixgbe: fix ixgbevf link status 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: , X-List-Received-Date: Wed, 14 Nov 2018 05:14:39 -0000 -----Original Message----- From: Wu, Yanglong=20 Sent: Tuesday, November 13, 2018 14:35 To: dev@dpdk.org Cc: Zhang, Qi Z ; Xu, Rosen ; Wan= g, Dong1 ; Wu, Yanglong Subject: [PATCH v2] net/ixgbe: fix ixgbevf link status For ixgbevf kernel driver, link status changes from down to up will trigger= vf kernel driver send IXGBE_VF_RESET message to pf kernel driver, after th= is, vf kernel driver will disable and enable it self. By these series opera= tions, the vf kernel driver report link up. Besides, all these operations h= andles in kernel thread. For DPDK user space driver, it only gets link status changes from down to u= p, but miss IXGBE_VF_RESET message sending and reset itself. If we will add fully implementation of link status change for DPDK user spa= ce driver, we need take much more modification. We have aligned that for li= nk status changes from down to up we only notify link is up, users need to = reset vf port. Fixes: dc66e5fd01b9 ("net/ixgbe: improve link state check on VF") Signed-off-by: Rosen Xu Signed-off-by: Yanglong Wu --- v2 change as comments --- drivers/net/ixgbe/ixgbe_ethdev.c | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_eth= dev.c index 8148577f5..91ba6201d 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -3880,11 +3880,6 @@ static int ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_speed *speed, int *link_up, int wait_to_complete) { - /** - * for a quick link status checking, wait_to_compelet =3D=3D 0, - * skip PF link status checking - */ - bool no_pflink_check =3D wait_to_complete =3D=3D 0; struct ixgbe_mbx_info *mbx =3D &hw->mbx; struct ixgbe_mac_info *mac =3D &hw->mac; uint32_t links_reg, in_msg; @@ -3945,14 +3940,6 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_s= peed *speed, *speed =3D IXGBE_LINK_SPEED_UNKNOWN; } =20 - if (no_pflink_check) { - if (*speed =3D=3D IXGBE_LINK_SPEED_UNKNOWN) - mac->get_link_status =3D true; - else - mac->get_link_status =3D false; - - goto out; - } /* if the read failed it could just be a mailbox collision, best wait * until we are called again and don't report an error */ @@ -3962,7 +3949,7 @@ ixgbevf_check_link(struct ixgbe_hw *hw, ixgbe_link_sp= eed *speed, if (!(in_msg & IXGBE_VT_MSGTYPE_CTS)) { /* msg is not CTS and is NACK we must have lost CTS status */ if (in_msg & IXGBE_VT_MSGTYPE_NACK) - ret_val =3D -1; + mac->get_link_status =3D false; goto out; } =20 -- 2.11.0 Acked-by: Wang Dong