[dpdk-dev] [PATCH v2] ixgbe_vf: Fix getting link state

Gonzalez Monroy, Sergio sergio.gonzalez.monroy at intel.com
Fri Dec 19 16:34:23 CET 2014


> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Balazs Nemeth
> Sent: Thursday, December 18, 2014 5:57 PM
> To: dev at dpdk.org
> Cc: Nemeth, Balazs
> Subject: [dpdk-dev] [PATCH v2] ixgbe_vf: Fix getting link state
> 
> 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 <balazs.nemeth at intel.com>
> ---
> 
> 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 <sergio.gonzalez.monroy at intel.com>


More information about the dev mailing list