From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v2] ixgbe_vf: Fix getting link state Date: Fri, 19 Dec 2014 23:42:06 +0100 Message-ID: <2115719.IJ2O6rpKyu@xps13> References: <1418822554-1493-1-git-send-email-balazs.nemeth@intel.com> <1418925396-14206-1-git-send-email-balazs.nemeth@intel.com> <91383E96CE459D47BCE92EFBF5CE73B004F1CDCC@IRSMSX108.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev-VfR2kkLFssw@public.gmane.org To: "Nemeth, Balazs" Return-path: In-Reply-To: <91383E96CE459D47BCE92EFBF5CE73B004F1CDCC-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org> 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" > > This patch fixes checking the link state of a virtual function. If the state has > > already been checked, it does not need to be checked again. Previously, > > get_link_status in the ixgbe_hw struct was used to track if the information > > had already been retrieved, but this field was always set to false (signifying > > that the information was up-to-date). The problem was introduced by > > commit 8ef32003 which was part of a patch set to update the ixgbe portion of > > the PMD. This patch does not break consistency with the ixgbevf driver. > > Instead, it fixes the problem at the level of DPDK. > > > > Applications that rely on the reported link speed could fail without this patch. > > The qos_sched example application provided with DPDK did not run when > > virtual functions were used. The output for this example application is shown > > below: > > > > EAL: Error - exiting with code: 1 > > Cause: Unable to config sched subport 0, err=-2 > > > > The problem and the effect of the patch can been seen by running the l2fwd > > example application using the following command: > > > > sudo ./build/l2fwd -c 0x3 -n 4 -- -p 0x3 -T 0 > > > > Before the patch has been applied (with both links up): > > ... > > Checking link statusdone > > Port 0 Link Up - speed 100 Mbps - half-duplex > > > > Port 1 Link Up - speed 100 Mbps - half-duplex > > > > L2FWD: entering main loop on lcore 1 > > ... > > > > After the patch has been applied (with both links up): > > ... > > Checking link statusdone > > Port 0 Link Up - speed 10000 Mbps - full-duplex Port 1 Link Up - speed 10000 > > Mbps - full-duplex > > L2FWD: entering main loop on lcore 1 > > ... > > > > Before the patch has been applied (with link 0 down, link 1 up): > > ... > > Checking link statusdone > > Port 0 Link Up - speed 100 Mbps - half-duplex > > > > Port 1 Link Up - speed 100 Mbps - half-duplex > > > > L2FWD: entering main loop on lcore 1 > > ... > > > > After the patch has been applied (with link 0 down, link 1 up): > > ... > > Checking link status............................................................ > > ..............................done > > Port 0 Link Down > > Port 1 Link Up - speed 10000 Mbps - full-duplex ... > > > > Signed-off-by: Balazs Nemeth > > --- > > > > changes v2: > > * Include more elaborate explanation of the problem in the commit message > > * Fix the issue at the level of DPDK not touching ixgbe driver code > > > > lib/librte_pmd_ixgbe/ixgbe_ethdev.c | 10 +++++++++- > > 1 file changed, 9 insertions(+), 1 deletion(-) > > Acked-by: Sergio Gonzalez Monroy Applied Thanks -- Thomas