From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: issue with ixgbevf speed/duplex introduced with commit 8ef32003772a14c61c70b540e41c259c482c2fb6 Date: Fri, 07 Nov 2014 17:46:40 +0100 Message-ID: <4465623.YhbiPPYfmU@xps13> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev-VfR2kkLFssw@public.gmane.org To: "Roberts, Lee A." Return-path: In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" Hi, Thank you for reporting and explaining the issue. You have already sent a bug report and a patch for this issue. Are you sending this email to ask a review and integration of your patch? I think it should be reviewed by an Intel developer. Note: it would be good to have the commit reference in the commit log of your patch. PS: in such case, it's better to reply to the previous emails Thanks -- Thomas 2014-11-07 16:36, Roberts, Lee A.: > I'm seeing an issue with ixgbevf speed/duplex reporting that appears to have been introduced with > commit 8ef32003772a14c61c70b540e41c259c482c2fb6 (http://www.dpdk.org/browse/dpdk/commit/lib/librte_pmd_ixgbe/ixgbe/ixgbe_vf.c?id=8ef32003772a14c61c70b540e41c259c482c2fb6) > > The issue I'm seeing seems to involve the following code. If I'm reading this correctly, > one sets "mac->get_link_status = true" if the port is not OK, where "true" means that one > still needs to get the link status. Due to the added test "if (!mac->get_link_status)", > one branches to the early exit if mac->get_link_status is false---meaning we have already > obtained the link status---instead of continuing with the analysis in the function body. > > - if (!(hw->mbx.ops.check_for_rst(hw, 0))) { > - *link_up = false; > - *speed = 0; > - return -1; > - } > + /* If we were hit with a reset drop the link */ > + if (!mbx->ops.check_for_rst(hw, 0) || !mbx->timeout) > + mac->get_link_status = true; > > - links_reg = IXGBE_VFREAD_REG(hw, IXGBE_VFLINKS); > + if (!mac->get_link_status) > + goto out; > > When I run "testpmd" on ixgbevf ports either in the host OS or passed > through to a virtual machine, "testpmd" reports that the ixgbevf ports > have "speed 100 Mbps - half-duplex". With the previous code (or with > my patch), "testpmd" reports "speed 10000 Mbps - full-duplex".