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

Thomas Monjalon thomas.monjalon at 6wind.com
Fri Dec 19 23:42:06 CET 2014


> > 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>

Applied

Thanks
-- 
Thomas


More information about the dev mailing list