[dpdk-dev] IXGBE VF: segfault in ixgbe_dev_link_update

Ferruh Yigit ferruh.yigit at intel.com
Wed May 10 12:08:36 CEST 2017


On 5/10/2017 9:41 AM, Gregory Etelson wrote:
> Hello,
> 
> My application works with IXGBE VF 17.05-rc4.
> After I shutdown switch port,
> a call for rte_eth_link_get() crashes with SEGFAULT.
> Apparently, ixgbe_dev_link_update() calls for non-existing in VF driver ixgbe_get_link_capabilities().

Hi Gregory,

This doesn't looks like because of the ixgbe_get_link_capabilities() but
hw->mac.ops.get_media_type.

Crash happens in line 3802, which has:
hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber) {

In that stage "speed == 0" but that is expected.

You already aware of the issue and patch, but as reference, this issue
first reported in:
http://dpdk.org/ml/archives/dev/2017-May/065533.html

and proposed fix is in:
http://dpdk.org/ml/archives/dev/2017-May/065562.html

Thanks,
ferruh

> 
> Is there a patch with get_link_capabilities() implementation for IXGBE VF I can use ?
> or 
> Can I safely disable call for ixgbe_get_link_capabilities() for VF ?
> 
> Regards,
> Gregory 
> 
> #0  0x0000000000000000 in ?? ()
> (gdb) bt
> #0  0x0000000000000000 in ?? ()
> #1  0x0000000000491c36 in ixgbe_dev_link_update (dev=0x751680, wait_to_complete=1) at /root/dpdk/drivers/net/ixgbe/ixgbe_ethdev.c:3802
> #2  0x000000000043b753 in rte_eth_link_get (port_id=<value optimized out>, eth_link=0x7ffe991fff90) at /root/dpdk/lib/librte_ether/rte_ethdev.c:1306
> (gdb) f 1
> #1  0x0000000000491c36 in ixgbe_dev_link_update (dev=0x751680, wait_to_complete=1) at /root/dpdk/drivers/net/ixgbe/ixgbe_ethdev.c:3802
> 3802                    hw->mac.ops.get_media_type(hw) == ixgbe_media_type_fiber) {
> (gdb) p speed
> $1 = 0
> 
> 
> s32 ixgbe_init_ops_vf(struct ixgbe_hw *hw)
> {
> 	hw->mac.ops.get_link_capabilities = NULL;
> 



More information about the dev mailing list