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